Pregunta de entrevista para Ingeniero DevOps

Tu pipeline de CI es inestable y el equipo ha empezado a reintentar las builds en rojo sin leerlas. ¿Cómo lo arreglas?

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

Respuesta rápida

Trata la inestabilidad como un incidente de producción, porque un pipeline en el que nadie confía no aporta ninguna seguridad. Mídela primero: sigue la tasa de aprobación y pon en cuarentena los tests que fallan de forma intermitente para que main vuelva a verde. Luego arregla los tests en cuarentena por causa, normalmente estado compartido, suposiciones de tiempos o una condición de carrera real. Impón una política de que la cuarentena es temporal, con responsable y fecha límite, para que no se convierta en un cementerio.

Por qué lo preguntan los entrevistadores

Esta es una pregunta de cultura y de sistemas. El entrevistador quiere ver que reconoces el daño real, que es que reintentar entrena a la gente a ignorar fallos genuinos, y que tienes un plan concreto en vez de una apelación a la disciplina. También escucha si borrarías o pondrías en cuarentena tests a la ligera, ya que un test inestable a veces indica un bug real de concurrencia en el producto.

Cómo estructurar tu respuesta

  • Nombra el coste real: una build en rojo que no significa nada.
  • Mide la inestabilidad antes de arreglar nada.
  • Pon en cuarentena para recuperar la confianza y luego arregla por causa raíz.
  • Pon barreras a la cuarentena para que siga siendo temporal.

Ejemplo de respuesta

Ejemplo hablado, en primera persona

La parte peligrosa no es el tiempo perdido, es que la gente ha aprendido que rojo no significa roto, así que el día que caiga una regresión de verdad también la reintentarán hasta que pase. Empiezo midiendo, porque las opiniones sobre qué tests son inestables suelen ser erróneas. Vuelve a ejecutar la suite repetidamente sobre un commit sin cambios, o sigue las tasas de aprobación por test durante unos cientos de ejecuciones, y obtienes una lista ordenada. Luego pongo en cuarentena a los peores fuera de la ruta bloqueante para que main esté en verde y el rojo vuelva a significar algo, pero en cuarentena con responsable y fecha de caducidad, o si no se convierte en un cementerio que nadie mira. Al arreglarlos, las causas se agrupan: tests que comparten estado a través de una base de datos o un singleton, sleeps haciendo de esperas de verdad, y dependencia del orden. Y algunos son bugs reales. Una vez perseguí un test que fallaba una vez de cada cincuenta y resultó ser una carrera genuina en un pool de conexiones, que habría sido un problema intermitente de producción que nadie podía reproducir.

¿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 evitarías que se mergeen tests inestables nuevos?
  • ¿Cuándo es borrar un test la decisión correcta?
  • ¿Cómo gestionas la inestabilidad causada por un entorno de test compartido?

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