Pregunta de entrevista para Ingeniero DevOps

¿Cómo mantienes las imágenes de contenedor pequeñas y seguras?

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

Respuesta rápida

Usa builds multietapa para que los compiladores y las dependencias de construcción nunca lleguen a la imagen final, parte de una base mínima como distroless o slim, y ejecuta con un usuario sin privilegios de root. Ordena las capas para que la instalación de dependencias se cachee aparte del código fuente, añade un .dockerignore, fija las imágenes base por digest y escanea en cada build. Nunca pases secretos como argumentos de build, porque persisten en el historial de capas.

Por qué lo preguntan los entrevistadores

El entrevistador quiere saber si tratas las imágenes como artefactos de build con una cadena de suministro o como un sitio donde volcar un sistema de ficheros. Busca los builds multietapa y el orden de capas como respuestas de tamaño, y el usuario sin root, la base mínima y los digests fijados como respuestas de seguridad. Mencionar que los argumentos de build se filtran al historial demuestra experiencia práctica y no una lista memorizada.

Cómo estructurar tu respuesta

  • Divide la respuesta en tamaño y seguridad para que quede ordenada.
  • Nombra los builds multietapa y el orden de capas para el tamaño.
  • Cubre la elección de la imagen base, el usuario sin root y el fijado para la seguridad.
  • Añade el escaneo, la generación de SBOM y la trampa de los secretos en las capas.

Ejemplo de respuesta

Ejemplo hablado, en primera persona

Para el tamaño, las dos cosas que hacen el trabajo pesado son los builds multietapa y el orden de capas. Construye en una imagen completa con el toolchain y luego copia solo la salida compilada a un runtime mínimo, lo que suele llevar una imagen de varios cientos de megabytes a decenas. El orden importa porque la instalación de dependencias debería ser su propia capa por encima de la copia del código, o si no cada cambio de código invalida la caché y reconstruye todo. Un .dockerignore evita que el directorio git local y los node modules lleguen siquiera al daemon. Para la seguridad, ejecuto con un usuario sin root y un sistema de ficheros raíz de solo lectura donde la aplicación lo permita, fijo la imagen base por digest para que una reconstrucción sea reproducible, y reconstruyo con regularidad para que lleguen los parches de la base en vez de fijar y olvidar. El escaneo corre en el pipeline y falla ante hallazgos de severidad alta con arreglo disponible, y publicamos un SBOM con la imagen para poder responder a la pregunta de qué servicios usan esta librería en minutos cuando llegue el siguiente aviso gordo. Los secretos nunca van en argumentos de build; se ven en el historial.

¿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

  • ¿Cómo metes un secreto en un build sin que acabe en una capa?
  • ¿Cómo gestionas un hallazgo del escáner que no tiene arreglo disponible?
  • ¿Qué se rompe cuando te pasas a una base distroless y cómo lo depuras?

Más preguntas para Ingeniero DevOps

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