Warum CRDT-basiertes kollaboratives Editing für Live-Coding-Interviews gewinnt
Zwei Ansätze für Echtzeit-Kollaboration
Wenn zwei Leute dieselbe Datei gleichzeitig editieren, muss der Editor ihre Änderungen mergen, ohne Daten zu verlieren oder seltsames Flackern zu verursachen. Zwei Haupt-Ansätze existieren:
- Operational Transform (OT). Jede Edit wird als Operation gesendet; ein zentraler Server transformiert eingehende Ops, um sie in der richtigen Reihenfolge anzuwenden. Genutzt von Google Docs.
- Conflict-free Replicated Data Types (CRDTs). Jede Edit trägt genug Metadaten (typischerweise eine eindeutige ID und eine logische Uhr), dass zwei beliebige Clients zum gleichen State konvergieren, unabhängig von der Ankunftsreihenfolge. Genutzt von Figma, Linear und den meisten modernen Collab-Tools.
Für Live-Coding-Interviews speziell gewinnen CRDTs.
Warum CRDTs für Interviews gewinnen
Interviews passieren auf Hotel-WLAN, Mobile-Hotspots und Corporate-Netzen mit aggressiven Proxies. Drei Dinge gehen schief:
- Kurze Disconnects. Ein 4-Sekunden-Network-Blip mitten im Tippen.
- Asymmetrische Latenz. Tastenanschläge der Kandidatin erreichen den Server in 80ms; die der Interviewerin in 400ms.
- Reconnect-Chaos. Beide Seiten kommen mit divergiertem State online zurück.
OT-basierte Editoren verlangen, dass der Server jede Operation vermittelt. Wenn das Netz glitcht, stauen sich Edits, und Reconnects produzieren oft sichtbares Flackern, verlorene Zeichen oder — schlimmster Fall — stillen State-Verlust. Kandidatinnen werden nervös, Interviewer beschuldigen die Kandidatin.
CRDTs handhaben alle drei Szenarien still. Jeder Client kann lokale Edits sofort anwenden; Merges passieren beim Reconnect ohne user-sichtbaren Impact. Der Editor fühlt sich offline-first an — was mehr zählt, als Leute realisieren, wenn du auch Integritäts-Checks über der Editing-Schicht laufen lässt.
Warum Yjs + Monaco der Standard wurden
Yjs ist die am meisten battle-tested CRDT-Bibliothek für Text. Sie paart sauber mit Monaco — dem Editor, der VS Code antreibt — über y-monaco. Die Kombination gibt dir:
- VS Codes vollständige Editor-Experience (IntelliSense, Multi-Cursor, alle Keybindings)
- Real-Time-Collab, das auf schlechten Netzen funktioniert
- Mehrere Cursor, Selection-Sharing, Awareness-Presence
- Battle-tested at Skala
ClarityHire ist auf Monaco + Yjs aus genau diesen Gründen gebaut. Die Code-Edits der Kandidatin erreichen die Interviewerin in unter 50ms auf einer gesunden Verbindung und überleben Network-Blips, die einen server-mediated Editor abstürzen lassen würden. Das zählt genauso für Pair-Programming-Runden wie für traditionelle Live-Coding-Interviews, wo jedes Flackern als Schuld der Kandidatin gelesen wird.
Was das in der Praxis bedeutet
Wenn du eine Live-Coding-Plattform evaluierst, simuliere ein schlechtes Netz während deines Trials. Throttle auf 3G in DevTools, droppe die Verbindung für 5 Sekunden, schau, was passiert. CRDT-basierte Tools erholen sich unsichtbar. Andere nicht.