Pregunta de entrevista para Ingeniero de software

Explica el teorema CAP y cómo se aplicó a un sistema en el que hayas trabajado.

Qué evalúa el entrevistador, cómo estructurar tu respuesta y un ejemplo hablado que puedes adaptar.

Respuesta rápida

CAP dice que cuando una partición de red separa tus nodos, tienes que elegir entre consistencia y disponibilidad. No puedes renunciar a la tolerancia a particiones, porque las redes fallan lo planifiques o no. Así que la pregunta real es qué hace tu sistema durante una partición: rechazar escrituras para seguir siendo correcto, o aceptarlas y reconciliar después. Fuera de una partición puedes tener las dos, que es por lo que la latencia es el intercambio del día a día.

Por qué lo preguntan los entrevistadores

Los entrevistadores usan CAP para separar a quien memorizó tres letras de quien ha operado sistemas distribuidos. La señal es entender que la tolerancia a particiones no es opcional, que la elección solo muerde durante una partición y que en el día a día lo que intercambias de verdad es latencia por consistencia. Un ejemplo concreto de haber elegido un lado para una funcionalidad específica es lo que hace creíble la respuesta.

Cómo estructurar tu respuesta

  • Declara que la tolerancia a particiones es un dato, no una elección.
  • Plantea la elección real como el comportamiento durante una partición.
  • Señala que fuera de las particiones intercambias latencia, no disponibilidad.
  • Da una funcionalidad donde elegiste cada lado.

Ejemplo de respuesta

Ejemplo hablado, en primera persona

El planteamiento que uso es que la tolerancia a particiones no es una elección, porque se pierden paquetes y fallan switches independientemente de mi arquitectura. Así que CAP pregunta en realidad qué hace el sistema mientras está partido: rechazar la escritura para que nadie lea datos obsoletos, o aceptarla y arreglarlo después. Lo que me gusta de la extensión PACELC es que nombra la parte con la que lidias cada día, que es que incluso cuando todo está sano estás intercambiando latencia por consistencia, porque una escritura por quórum entre regiones cuesta viajes de ida y vuelta. En un producto en el que trabajé lo dividimos por funcionalidad. Todo lo que tocaba facturación pasaba por el primario con garantía de lectura tras escritura, porque cobrar dos veces a alguien no se arregla con una disculpa. El feed de actividad leía de réplicas y podía ir unos segundos por detrás, y nadie lo notó nunca. El mismo sistema, dos respuestas, elegidas por funcionalidad y no como religión arquitectónica.

¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.

Mira cómo funciona

Preguntas de seguimiento que puedes esperar

  • ¿Qué añade PACELC a CAP?
  • ¿Cómo le darías a un usuario consistencia de lectura tras escritura sobre réplicas?
  • ¿Qué garantiza realmente una lectura y una escritura por quórum?

Más preguntas para Ingeniero de software

Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.

Predecir mis preguntas

Ensaya las preguntas difíciles antes de que te las hagan

Practica con un copiloto en vivo y entra preparado. Un Session Pass de $29 te lleva a través de la entrevista sin suscripción y sin ataduras.

Consigue GhostPilot