¿Qué preguntas sobre Kafka puedo esperar en una entrevista?

Por Aaron Cao · Actualizado el

¿Qué preguntas sobre Kafka puedo esperar en una entrevista?
Espera cuatro niveles: conceptos básicos (temas, particiones, offsets y grupos de consumidores), garantías de entrega (al menos una vez, exactamente una vez y productores idempotentes), operaciones (replicación, réplicas sincronizadas, retención y rebalanceo) y escenarios de diseño en los que dimensionas particiones, eliges claves y gestionas fallos. Los entrevistadores indagan en el porqué de cada respuesta.

Espera cuatro niveles: conceptos básicos (temas, particiones, offsets y grupos de consumidores), garantías de entrega (al menos una vez, exactamente una vez y productores idempotentes), operaciones (replicación, réplicas sincronizadas, retención y rebalanceo) y escenarios de diseño en los que dimensionas particiones, eliges claves y gestionas fallos. Los entrevistadores indagan en el porqué de cada respuesta.

¿Qué conceptos básicos de Kafka comprueba primero todo entrevistador?

Ya sabes que Kafka es un registro distribuido y te preocupa que el entrevistador profundice un nivel más allá de tu uso cotidiano. Ahí es precisamente adonde llegan estas preguntas, así que esta sección recorre el vocabulario en el orden que suelen seguir los entrevistadores y señala la pregunta de seguimiento que hay detrás de cada término.

  • Temas y particiones. Un tema se divide en particiones, cada una de las cuales es un registro ordenado que solo admite anexiones. Pregunta de seguimiento: ¿por qué Kafka escala las escrituras añadiendo particiones en lugar de acelerar un único registro?
  • Offsets. La posición de un consumidor en una partición. Pregunta de seguimiento: ¿quién almacena los offsets confirmados y qué sucede si un consumidor falla antes de confirmarlos?
  • Grupos de consumidores. Los consumidores de un grupo se reparten las particiones de un tema; cada partición se asigna como máximo a un consumidor del grupo a la vez. Pregunta de seguimiento: ¿qué sucede con el rendimiento si el grupo tiene más consumidores que particiones?
  • Brókeres y controlador. Los brókeres almacenan las particiones; el controlador gestiona la elección de líderes y los metadatos. Pregunta de seguimiento: ¿qué cambió cuando Kafka trasladó los metadatos de ZooKeeper a KRaft?
  • Productores y claves. Un mensaje con clave llega a una partición elegida mediante el hash de la clave; un mensaje sin clave se distribuye entre las particiones. Pregunta de seguimiento: ¿cuál de esas dos opciones conserva el orden de los eventos de un cliente?

Responde explicando el mecanismo, no el eslogan. Decir que las particiones permiten el paralelismo es lo mínimo; explicar que el orden solo existe dentro de una partición y que, por tanto, la clave determina el ámbito de ordenación es la respuesta que te lleva a la siguiente ronda.

¿Cómo son las preguntas sobre garantías de entrega y replicación?

En este nivel es donde la mayoría de los candidatos pierde puntos, porque las palabras son sencillas, pero las contrapartidas no. Espera que el entrevistador indique una garantía y te pida configurarla mediante ajustes.

  • Como máximo una vez frente a al menos una vez. Si confirmas el offset antes del procesamiento, puedes perder un mensaje; si primero lo procesas y después lo confirmas, puedes procesarlo dos veces. Explica qué fallo tolera cada orden y cuál prefiere tu sistema.
  • Productores idempotentes y exactamente una vez. Un productor idempotente deduplica los reintentos dentro de una partición; las transacciones extienden esa propiedad a varias particiones y a los offsets del consumidor en un ciclo de consumir, transformar y producir. Prepárate para explicar qué no cubre exactamente una vez: una escritura en una base de datos posterior y ajena a la transacción sigue siendo responsabilidad tuya.
  • acks, factor de replicación y réplicas sincronizadas. acks=all espera al conjunto de réplicas sincronizadas; min.insync.replicas establece cuánto puede reducirse ese conjunto antes de rechazar escrituras. Los entrevistadores suelen preguntar qué sacrificas aquí a cambio de durabilidad: latencia y disponibilidad durante la pérdida de un bróker.
  • Retención y compactación. La retención basada en tiempo o tamaño elimina los segmentos antiguos; la compactación del registro conserva el registro más reciente de cada clave. Pregunta de seguimiento: ¿cuál respalda el registro de cambios de un almacén de clave-valor y por qué?
  • Rebalanceo. Cuando un consumidor entra o sale, las particiones se reasignan. Pregunta de seguimiento: ¿cómo afecta un rebalanceo prolongado a un servicio sensible a la latencia y cómo reducen el problema el rebalanceo cooperativo y la pertenencia estática?

Un hábito útil: por cada ajuste que menciones, explica el fallo que evita y el coste que añade. Esa estructura responde a la pregunta y a la de seguimiento de una sola vez.

¿Cómo son las preguntas de diseño y escenarios?

En los procesos para puestos sénior, las definiciones se sustituyen por un escenario para observar cómo razonas. Un enunciado típico: a un ingeniero de backend que se entrevista para un puesto de plataforma en una empresa de pagos se le pide diseñar un flujo de eventos donde todas las transacciones de una cuenta se procesen en orden, el rendimiento aumente con el tráfico y la caída de un bróker no provoque pérdida de datos. Una respuesta sólida asigna como clave el identificador de la cuenta para que sus eventos compartan una partición, dimensiona las particiones para el pico previsto con margen de crecimiento, configura la replicación y acks=all para garantizar la durabilidad y explica cómo confirman los consumidores los offsets para que, tras un fallo, los mensajes vuelvan a procesarse en vez de omitirse.

Otros escenarios recurrentes: un consumidor que se retrasa y cómo detectas el lag y recuperas el ritmo; un tema cuyo número de particiones lamentas y por qué volver a particionar rompe el orden por clave; un mensaje tóxico que bloquea al consumidor y el patrón de cola de mensajes fallidos que lo aísla; cambios de esquema entre productores y consumidores y qué aporta un registro de esquemas. El entrevistador no busca una única arquitectura correcta. Quiere que identifiques la restricción, elijas un mecanismo y expreses claramente la contrapartida.

Practica estos escenarios en voz alta antes de la entrevista en lugar de limitarte a leerlos. Ensayar preguntas de escenarios con un entrevistador de IA que insista con preguntas de seguimiento es el propósito del modo de práctica de la página de entrevista simulada, y el conjunto más amplio de bancos por puesto y tema se encuentra en preguntas de entrevista por puesto y tema.

¿Puede un asistente de IA ayudar con preguntas sobre Kafka?

En una ronda conversacional, sí, dentro de unos límites honestos. La aplicación de escritorio nativa de SubcueAI para macOS y Windows captura el audio del entrevistador y el de tu micrófono, y muestra sugerencias breves de respuesta en una superposición local; así, cuando el entrevistador pregunta contra qué protege min.insync.replicas, tienes el mecanismo en pantalla mientras lo explicas con tus propias palabras. La extensión del navegador hace lo mismo con las llamadas en pestañas del navegador y captura únicamente el audio de la pestaña de la reunión. Ninguna añade un bot a la llamada ni inserta nada en la página de la reunión; encontrarás la guía de configuración en la página del tutorial.

Los límites importan más que el discurso comercial. Una prueba de programación vigilada, una pantalla grabada o un portátil administrado por una empresa quedan fuera del alcance, y un ejercicio de programación en vivo donde debas implementar un consumidor bajo observación es trabajo tuyo. El asistente es más eficaz para las preguntas anteriores sobre terminología y contrapartidas, y menos eficaz para cualquier cosa que se escriba en una plataforma de evaluación. Antes de depender de él, proporciónale tu currículum para que las sugerencias reflejen el trabajo con Kafka que realmente realizaste; ese perfil se encuentra en el creador de currículums.

FAQ

¿Por qué Kafka solo puede garantizar el orden dentro de una partición?

Cada partición es un único registro ordenado escrito por un líder, mientras que las distintas particiones residen en brókeres diferentes y se consumen de forma independiente. Ordenarlas entre sí exigiría una coordinación que eliminaría el paralelismo para el que existen las particiones.

¿Qué diferencia hay entre al menos una vez y exactamente una vez en Kafka?

Al menos una vez significa que un mensaje puede volver a entregarse tras un fallo, por lo que los consumidores deben tolerar duplicados. Exactamente una vez combina productores idempotentes con transacciones para que los reintentos y las confirmaciones de offsets sean atómicos dentro de Kafka; los efectos externos a Kafka aún necesitan su propia idempotencia.

¿Cuántos consumidores debe tener un grupo de consumidores?

Como máximo resulta útil un consumidor activo por partición; los consumidores adicionales permanecen inactivos. Tener menos consumidores que particiones no supone un problema: cada uno simplemente lee varias particiones. Por tanto, elegir el número de particiones establece el límite del paralelismo de los consumidores.

¿Qué ocurre cuando falla un bróker de Kafka?

Las particiones que lideraba pasan a una réplica sincronizada de otro bróker, elegida por el controlador. Con la replicación configurada y acks=all, las escrituras confirmadas sobreviven; el productor reintenta las escrituras no confirmadas.

¿Puede SubcueAI ayudar durante una evaluación de programación sobre Kafka?

No. Las evaluaciones vigiladas o grabadas quedan fuera de su alcance, y el uso honesto corresponde a una entrevista conversacional donde explicas conceptos y contrapartidas. El modo de entrevista simulada es el lugar adecuado para practicar ambos antes de la llamada real.

Preguntas relacionadas

← Más sobre Preguntas de entrevista por puesto y tema