Pergunta de entrevista para Engenheiro de Dados

Um time upstream renomeia uma coluna sem avisar e o seu pipeline quebra. O que você faz, e o que você muda depois?

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

Resposta rápida

No curto prazo, restaure o serviço: mapeie o nome novo na camada de staging, reexecute as partições afetadas e confirme que os números seguintes reconciliam. No longo prazo, pare de depender de boa vontade. Estabeleça um contrato de dados com o time de origem, valide o schema na ingestão para que as falhas sejam pegas na fronteira com uma mensagem clara, e aterrisse os payloads brutos sem tipagem, para que um rename não destrua o próprio caminho de ingestão.

Por que os entrevistadores perguntam isso

Os entrevistadores querem ver resposta a incidente e pensamento sistêmico juntos, além de como você trabalha entre times. As melhores respostas evitam culpar o time upstream e no lugar constroem defesas: validação de schema na borda, contratos com alertas e uma camada raw resiliente a mudanças. Eles também querem que você cheque se outros pipelines compartilham a mesma dependência.

Como estruturar sua resposta

  • Corrija adiante na camada de staging e reexecute as partições afetadas.
  • Cheque quem mais consome aquela origem e avise essas pessoas.
  • Mova a validação de schema para a fronteira de ingestão.
  • Proponha um contrato de dados com versionamento e prazo de aviso.
  • Torne a camada raw tolerante para que a ingestão nunca falhe por um rename.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Imediatamente é um ajuste pequeno: crie um alias para a nova coluna no modelo de staging, reexecute as partições afetadas e reconcilie alguns agregados confiáveis para eu saber que nada mudou de significado além do nome. Eu também checo no catálogo quem mais consome aquela tabela, porque se quebrou para nós provavelmente quebrou para outra pessoa que ainda não percebeu. Depois vem a parte sistêmica. Eu prefiro que a falha aconteça na ingestão com uma mensagem dizendo esperava a coluna customer_id, encontrei customer_identifier, em vez de três modelos adiante com uma coluna nula. Então a validação de schema vai para a fronteira, e a camada raw guarda o payload como está, o que significa que a ingestão continua funcionando e só a camada tipada reclama. E eu iria conversar com o time da origem, não para reclamar, mas para montar um contrato: estes são os campos dos quais dependemos, este é o alerta, por favor nos avise antes de um release. Nós fizemos isso no meu último lugar e transformamos um problema recorrente das 6 da manhã em uma mensagem no Slack com uma semana de antecedência.

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 deve estar em um contrato de dados, e quem o faz valer?
  • Como você detectaria uma mudança semântica em que o nome permanece o mesmo?
  • Como você versiona uma tabela para que os consumidores migrem gradualmente?

Mais perguntas para Engenheiro de Dados

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