Desarrollador Backend: pregunta de entrevista

¿Cómo defines los límites de un servicio?

Un límite de servicio debe poseer una capacidad de negocio cohesionada, sus datos e invariantes. Divide por dominios de cambio y fallo independientes, no solo por tablas o equipos.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

Un buen límite encierra una capacidad que cambia junta y puede fallar junta: sus datos, las reglas que mantienen esos datos consistentes y la API con la que otros la usan. Señales de un corte correcto: la mayoría de solicitudes se sirven dentro de un servicio, un cambio de esquema rara vez obliga a un despliegue coordinado, y una caída degrada una capacidad y no todo. Los límites trazados por tablas de base de datos u organigrama suelen producir servicios parlanchines que necesitan transacciones distribuidas para trabajo simple.

Ejemplo

Pedidos puede poseer estado de pedido y pagos autorización; coordínalos mediante contratos explícitos en vez de acceso directo a tablas. Cuando el checkout necesitó el estado de pago en cada lectura de pedido, la solución fue un evento que copia un campo de estado pequeño en pedidos, no un join entre dos bases de datos.

Errores frecuentes

  • Dividir un monolito por capa técnica, de modo que cada funcionalidad cruza tres servicios.
  • Compartir una base de datos entre servicios y llamarlos independientes.
  • Crear un servicio por equipo aunque dos equipos cambien el mismo invariante.

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