Desarrollador Node.js: pregunta de entrevista

¿Cómo despliegas un servicio Node.js de forma segura?

Construye un artefacto inmutable, ejecuta controles y migraciones compatibles, despliega progresivamente, expón readiness, deja de aceptar tráfico antes del cierre, drena solicitudes, monitoriza y prueba rollback.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

La build produce una imagen inmutable con dependencias instaladas desde el lockfile y una versión de Node fijada. CI ejecuta las pruebas y cualquier migración en su fase de expansión antes del despliegue. El despliegue es progresivo: las instancias nuevas arrancan, se declaran listas solo cuando pueden servir, reciben tráfico, y las antiguas reciben SIGTERM, dejan de aceptar conexiones, terminan las solicitudes en vuelo dentro de un plazo y salen. Se vigilan tasa de errores y latencia durante el despliegue y la imagen anterior se redespliega con un comando. La configuración viene del entorno para que la misma imagen corra en cada etapa.

Ejemplo

Un Deployment de Kubernetes ejecuta la imagen con una readiness probe en /ready que comprueba la conexión a la base de datos, un hook preStop que espera unos segundos para que el balanceador deje de enrutar, y un manejador de SIGTERM que llama a server.close y espera hasta 20 s a las solicitudes en vuelo. Un despliegue que subió la tasa de errores por encima del 1 por ciento fue revertido automáticamente por el controlador de entrega progresiva.

Errores frecuentes

  • Ejecutar npm install al arrancar el contenedor y obtener un árbol de dependencias distinto en producción.
  • Salir de inmediato con SIGTERM y cortar solicitudes activas.
  • Declararse listo antes de conectar el pool de base de datos y servir 500 los primeros segundos.

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 Node.js