Desarrollador Backend: pregunta de entrevista

¿Cuándo usas una cola de mensajes?

Usa una cola cuando el trabajo puede ser asíncrono, reintentable o suavizado bajo carga. Los consumidores deben ser idempotentes porque la entrega puede duplicarse o retrasarse.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

Una cola desacopla al productor del consumidor en tiempo y capacidad: el productor vuelve en cuanto el mensaje está almacenado de forma duradera, los consumidores procesan a su ritmo y las ráfagas se absorben en lugar de perderse. El precio es entrega al menos una vez, reordenamiento y consistencia eventual, así que cada consumidor debe manejar duplicados y el sistema debe exponer una ruta de dead-letter para mensajes que fallan repetidamente. Úsala cuando el trabajo puede retrasarse y reintentarse; mantén una llamada síncrona cuando el llamador necesita el resultado ya.

Ejemplo

Envía un trabajo de email después de confirmar un pedido; el worker registra el id de evento para que una reentrega no envíe otro email. Publicar desde dentro de la transacción mediante una tabla outbox garantiza que el mensaje existe si y solo si existe el pedido, algo que una publicación directa tras el commit no puede prometer.

Errores frecuentes

  • Publicar el mensaje antes del commit y enviar un email sobre un pedido que se revirtió.
  • Suponer entrega exactamente una vez del broker en lugar de hacer idempotente al consumidor.
  • No tener cola de dead-letter, de modo que un mensaje envenenado bloquea la partición para siempre.

Una estructura útil para responder

Responde desde tu propia experiencia.

No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.

Practica esta respuesta con MiraHint

Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.

Descargar MiraHint
Preguntas de entrevista para Desarrollador Backend