Pergunta de entrevista para Engenheiro de Confiabilidade de Sites

Qual é a diferença entre uma liveness probe e uma readiness probe, e como as pessoas erram nisso?

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

Resposta rápida

Uma readiness probe controla se um pod recebe tráfego; uma liveness probe controla se o kubelet reinicia o container. O erro clássico é apontar a liveness para uma dependência abaixo, então um banco lento reinicia todos os pods em loop e transforma uma queda parcial numa queda total. A liveness deveria checar só que o processo está vivo e não travado. Use uma startup probe para aplicações que sobem devagar.

Por que os entrevistadores perguntam isso

Essa é uma das perguntas de Kubernetes de maior valor, porque a configuração errada causa quedas ativamente e o modo de falha é contra intuitivo. O entrevistador quer ouvir que você entende liveness como último recurso para estados irrecuperáveis, que readiness é o lugar certo para checagens de dependência, e que timeouts e thresholds das probes precisam refletir o comportamento real de inicialização.

Como estruturar sua resposta

  • Enuncie a diferença mecânica: roteamento de tráfego versus reinício do container.
  • Nomeie o anti padrão de checar dependências e o raio de impacto dele.
  • Explique o que a liveness deveria de fato checar.
  • Acrescente startup probes e thresholds sensatos para apps que sobem devagar.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Readiness decide se o pod está nos endpoints do serviço, liveness decide se o kubelet mata e reinicia o container. A falha que eu vi de verdade foi um time que fez o endpoint de liveness checar o banco de dados. O banco ficou lento, todos os pods falharam a liveness mais ou menos ao mesmo tempo, o deployment inteiro entrou em loop de reinício, e agora, em vez de leituras degradadas, a gente não tinha nada, mais uma manada de conexões frias quando voltou. A liveness deveria ser quase entediante: o processo consegue servir um handler trivial, o event loop não está travado. Qualquer coisa sobre dependências pertence à readiness, porque tirar um pod de rotação é reversível e barato. A outra coisa que eu sempre checo é o tempo. Se a aplicação leva 45 segundos para aquecer caches, ou você usa uma startup probe ou ajusta initialDelaySeconds e failureThreshold para bater com isso, senão você construiu uma máquina que nunca consegue terminar de subir.

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

  • O que acontece com as requisições em voo quando uma readiness probe começa a falhar?
  • Como você configuraria as probes para uma aplicação com 90 segundos de aquecimento?
  • Quando é correto a liveness falhar de propósito?

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