Pergunta de entrevista para Engenheiro de Confiabilidade de Sites

Um pod está preso em CrashLoopBackOff. Como você faz a triagem?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

Comece com kubectl describe pod para ver os eventos e o último código de saída, depois kubectl logs com --previous para ler a saída do container que quebrou. Código de saída 137 normalmente significa um OOM kill, então cheque os limites de memória; saída 1 ou 2 normalmente significa que a aplicação falhou na inicialização, muitas vezes uma config ausente, um secret ou uma dependência inalcançável. Confirme que a tag da imagem realmente existe e cheque se uma liveness probe agressiva está causando o loop.

Por que os entrevistadores perguntam isso

É uma checagem prática de competência: você consegue de fato operar um cluster sob pressão ou só conhece os conceitos. Entrevistadores querem uma sequência específica de comandos, o significado dos códigos de saída comuns, e consciência de que um crash loop às vezes é causado pela plataforma (probes, limites de recurso, pressão no nó) em vez do código da aplicação.

Como estruturar sua resposta

  • Dê a sequência de comandos em ordem, começando por describe.
  • Leia o código de saída e traduza para uma classe de causa.
  • Use logs com --previous, já que o container atual pode ainda não existir.
  • Cheque causas de plataforma: limites, probes, secrets, pull da imagem, pressão no nó.
  • Diga como você estabilizaria enquanto depura.

Exemplo de resposta

Exemplo falado, em primeira pessoa

kubectl describe pod primeiro, porque a seção de eventos normalmente te diz de cara se é falha de pull da imagem, um secret ausente ou um OOM kill, e te dá o último estado de término com o código de saída. Depois kubectl logs com --previous, já que o container que estava rodando já foi substituído e os logs dele sumiram. Saída 137 é um SIGKILL e nove em cada dez vezes é o limite de memória, então eu comparo o limite com o uso real em vez de chutar. Saída 1 com um stack trace é falha de inicialização da aplicação, normalmente config. Eu também checo a liveness probe, porque eu já vi um serviço Java perfeitamente saudável entrar em crash loop puramente porque precisava de 40 segundos para aquecer e a probe dava 10. Para depurar com calma eu escalo o deployment, faço exec numa cópia com o comando sobrescrito para sleep, e reproduzo ali em vez de brigar com o cronômetro de reinício.

Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.

Veja como funciona

Perguntas de acompanhamento que você pode esperar

  • Como você depuraria um container que quebra antes de escrever qualquer log?
  • O que o código de saída 137 te diz, e o que você checaria em seguida?
  • Como você mantém um pod que está quebrando vivo tempo suficiente para inspecioná-lo?

Mais perguntas para Engenheiro de Confiabilidade de Sites

Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.

Prever minhas perguntas

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot