Pergunta de entrevista para Engenheiro de Confiabilidade de Sites

Como você decide entre descartar carga e escalar horizontalmente quando um serviço está sobrecarregado?

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

Resposta rápida

Autoscaling leva minutos, então descarte carga primeiro e escale depois. Descarte quando o gargalo é algo em que você não consegue adicionar capacidade rápido, como um banco de dados, uma dependência licenciada ou um serviço com cold start lento, ou quando as filas crescem mais rápido do que você conseguiria drenar. Derrube primeiro o trabalho mais barato e menos importante, retorne 429 com Retry-After, e proteja as requisições que carregam receita ou segurança.

Por que os entrevistadores perguntam isso

O entrevistador está testando se você entende constantes de tempo. Quem só diz escalar nunca sentiu o intervalo entre o alerta disparar e a capacidade nova servir tráfego. Boas respostas cobrem priorização de classes de tráfego, o perigo de escalar uma camada sem estado até um gargalo com estado, e degradação graciosa como comportamento projetado e não como acidente.

Como estruturar sua resposta

  • Contraste o tempo para descartar (instantâneo) com o tempo para escalar (minutos).
  • Identifique o gargalo primeiro, já que escalar a camada errada piora tudo.
  • Defina classes de tráfego e quais delas são descartadas primeiro.
  • Especifique o mecanismo: 429 com Retry-After, limites de fila, modo degradado.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Descartar é instantâneo e escalar não é, então sob sobrecarga real eu descarto primeiro e deixo a capacidade alcançar. A pergunta maior é qual é o gargalo de verdade. Adicionar mais pods sem estado quando a restrição é conexões de banco é genuinamente prejudicial, porque cada pod novo abre um pool e você acelera o colapso. A gente teve exatamente isso durante uma promoção relâmpago, até colocar um proxy de conexões na frente e limitar o total de conexões. Para descarte eu gosto de classes de tráfego explícitas. Chamadas de checkout e pagamento são classe um e nunca são derrubadas, navegação logada é classe dois, e crawling anônimo mais chamadas não essenciais de recomendação são classe três e são descartadas primeiro. A gente impunha isso na borda com um limitador de concorrência e retornava 429 com um header Retry-After, para que clientes bem comportados recuassem em vez de martelar. Combine isso com um modo degradado que serve listagens em cache, e você fica de pé para o tráfego que importa.

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ê implementaria limites de concorrência adaptativos na borda?
  • Que sinal você usaria para decidir quando o descarte começa?
  • Como você impede o autoscaling de piorar um gargalo de banco de dados?

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