Pergunta de entrevista para Engenheiro de Nuvem

Um job em lote noturno está esgotando as conexões do banco e a API está dando timeout. Como você corrige?

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

Resposta rápida

Interrompa o dano imediato limitando ou pausando o job em lote, e então separe as cargas para elas não competirem. Aponte o job em lote para uma réplica de leitura se ele for pesado em leitura, dê a ele um pool de conexões próprio com teto rígido, e divida o trabalho em pedaços com pausas para ele nunca monopolizar o banco. No longo prazo, reserve capacidade para o tráfego interativo e alerte sobre saturação do pool de conexões antes de os usuários notarem.

Por que os entrevistadores perguntam isso

Essa é uma pergunta de isolamento de recursos vestida de incidente. O entrevistador quer mitigação imediata seguida de correção estrutural, não só um limite maior de conexões. Ele procura se você entende que aumentar o máximo de conexões muitas vezes piora as coisas, e se você consegue distinguir qual carga deve ser sacrificada, já que o caminho interativo é quase sempre o que se protege.

Como estruturar sua resposta

  • Mitigue primeiro limitando ou pausando o job problemático.
  • Explique por que simplesmente aumentar o limite de conexões sai pela culatra.
  • Separe as cargas estruturalmente, com réplicas e pools separados.
  • Adicione reserva de capacidade e aviso antecipado de saturação.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Primeiro, estanque a hemorragia. Pause ou limite o job em lote, porque o caminho interativo é o que o cliente sente e o lote pode rodar uma hora depois sem ninguém se importar. A correção tentadora é aumentar o máximo de conexões, e isso normalmente piora, já que cada conexão tem custo de memória e de escalonamento e você acaba com um banco se debatendo em vez de um banco meramente ocupado. Então a correção real é isolamento. Se o job é pesado em leitura, ele vai para uma réplica de leitura, o que tira a carga do primário por completo. Ele ganha credenciais próprias e um pool próprio com teto rígido, dimensionado para que, mesmo totalmente saturado, sobre bastante folga para a API. E o job em si é dividido em pedaços, processando em lotes com uma pausa curta e um timeout de statement, em vez de uma transação enorme que segura locks e estoura o atraso de replicação. Depois a prevenção: alerte sobre utilização do pool e consultas de longa duração em um limiar que dispare antes de virar visível ao usuário, para a gente saber pelo monitoramento e não por tickets de suporte.

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

  • E se o job em lote precisar escrever, então uma réplica não é opção?
  • Como você dimensionaria os dois pools de conexão?
  • Como um pooler de conexões na frente do banco muda isso?

Mais perguntas para Engenheiro de Nuvem

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