Actualizaciones de producto

Por qué la edición colaborativa basada en CRDT gana para entrevistas de coding en vivo

ClarityHire Team(Editorial)3 min read

Dos enfoques a la colaboración en tiempo real

Cuando dos personas editan el mismo archivo simultáneamente, el editor tiene que mergear sus cambios sin perder datos ni causar flicker raro. Existen dos enfoques principales:

  • Operational Transform (OT). Cada edición se envía como una operación; un servidor central transforma las ops entrantes para aplicarlas en el orden correcto. Usado por Google Docs.
  • Conflict-free Replicated Data Types (CRDTs). Cada edición lleva suficiente metadata (típicamente un ID único y un reloj lógico) que dos clientes cualquiera convergen al mismo estado independientemente del orden de llegada. Usado por Figma, Linear y la mayoría de herramientas modernas de colab.

Para entrevistas de coding en vivo específicamente, los CRDTs ganan.

Por qué los CRDTs ganan para entrevistas

Las entrevistas pasan en Wi-Fi de hotel, hotspots móviles y redes corporativas con proxies agresivos. Tres cosas salen mal:

  1. Desconexiones breves. Un blip de red de 4 segundos a mitad de tipeo.
  2. Latencia asimétrica. Las pulsaciones de la candidata llegan al servidor en 80ms; las de la entrevistadora en 400ms.
  3. Caos de reconexión. Ambos lados vuelven online con estado divergido.

Los editores basados en OT requieren que el servidor mediara cada operación. Cuando la red glitchea, las ediciones se encolan, y las reconexiones a menudo producen flicker visible, caracteres perdidos o — peor caso — pérdida silenciosa de estado. Las candidatas se ponen nerviosas, las entrevistadoras culpan a la candidata.

Los CRDTs manejan los tres escenarios silenciosamente. Cada cliente puede aplicar ediciones locales inmediatamente; los merges pasan en reconexión sin impacto visible al usuario. El editor se siente offline-first — lo que importa más de lo que la gente cree cuando también corres chequeos de integridad sobre la capa de edición.

Por qué Yjs + Monaco se volvieron el estándar

Yjs es la librería CRDT más probada en batalla para texto. Empareja limpiamente con Monaco — el editor que potencia VS Code — vía y-monaco. La combinación te da:

  • La experiencia completa del editor de VS Code (IntelliSense, multi-cursor, todos los keybindings)
  • Colab en tiempo real que funciona en redes malas
  • Múltiples cursores, compartir selección, presence awareness
  • Probado en escala

ClarityHire está construido sobre Monaco + Yjs por exactamente estas razones. Las ediciones de código de la candidata llegan a la entrevistadora en menos de 50ms en una conexión sana, y sobreviven blips de red que tumbarían un editor server-mediated. Eso importa tanto para rondas de pair programming como para entrevistas de coding en vivo tradicionales, donde cualquier flicker se lee como culpa de la candidata.

Qué significa esto en la práctica

Si estás evaluando una plataforma de coding en vivo, simula una red mala durante tu trial. Throttle a 3G en DevTools, dropea la conexión por 5 segundos, observa qué pasa. Las herramientas basadas en CRDT recuperan invisiblemente. Otras no.

yjscrdtmonaco editoredición colaborativa