Pergunta de entrevista para Desenvolvedor Backend

Como você libera uma mudança arriscada de backend com segurança?

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

Resposta rápida

Desacople deploy de release com uma feature flag, depois faça a rampa: usuários internos, uma pequena porcentagem, depois mais amplo, observando taxa de erro e latência contra o grupo de controle a cada passo. Mantenha o caminho antigo intacto para que o rollback seja virar uma flag em vez de refazer deploy, torne a mudança retrocompatível na camada de dados, e defina critérios explícitos de antemão para o que te faz parar. Remova a flag quando a liberação estiver concluída.

Por que os entrevistadores perguntam isso

O entrevistador quer evidência de que você entrega mudanças sem drama. Ele presta atenção à distinção entre deploy e release, a uma rampa concreta com métricas como portões, e à consciência de que mudanças de banco precisam do próprio ritual de expandir e contrair. Mencionar a limpeza das flags mostra que você conviveu com a bagunça que se acumula quando cada liberação deixa uma ramificação permanente no código.

Como estruturar sua resposta

  • Separe subir código de liberar comportamento.
  • Dê os estágios da rampa e as métricas que servem de portão.
  • Explique mudanças de dados retrocompatíveis e rollback instantâneo.
  • Inclua a etapa de limpeza para que as flags não se acumulem.

Exemplo de resposta

Exemplo falado, em primeira pessoa

A ideia central é que subir e liberar são eventos diferentes. O código vai para produção desligado atrás de uma flag, então o deploy em si é sem graça, e depois eu ligo para contas internas primeiro, depois um por cento, depois dez, depois o resto, pausando em cada passo tempo suficiente para as métricas significarem algo. O que eu observo é taxa de erro, latência e a métrica de negócio que a mudança toca, comparadas com os usuários que seguem no caminho antigo, já que um gráfico global pode esconder uma regressão que afeta só o grupo tratado. Qualquer mudança de schema segue expandir e contrair, para que os dois caminhos de código funcionem contra as mesmas tabelas em todos os momentos e eu consiga voltar instantaneamente, que é o ponto inteiro: rollback deveria ser uma mudança de flag, não um redeploy sob pressão. Eu escrevo antes o que me faria parar, porque às duas da manhã ninguém toma bem essa decisão. E a flag tem um dono e um chamado de remoção, já que uma base de código com dezenas de flags esquecidas fica impossível de raciocinar.

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ê lida com uma flag que muda o comportamento no meio de uma requisição para um usuário?
  • O que é expandir e contrair para uma renomeação de coluna?
  • Como você decide os passos de porcentagem e quanto tempo esperar?

Mais perguntas para Desenvolvedor Backend

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