Pergunta de entrevista para Analista de Dados

Como você encontraria e removeria registros duplicados em uma tabela?

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

Resposta rápida

Primeiro defina o que significa duplicata, já que cópias exatas e duplicatas de negócio são problemas diferentes. Para encontrá-las, faça GROUP BY pela chave pretendida e filtre com HAVING COUNT(*) maior que um. Para removê-las, use ROW_NUMBER particionado por essa chave com um ORDER BY determinístico, depois apague ou exclua tudo em que o número é maior que um, mantendo a linha mais recente ou mais completa.

Por que os entrevistadores perguntam isso

Lidar com duplicatas é tarefa semanal e uma fonte comum de métricas infladas. Os entrevistadores querem ver que você esclarece a definição de duplicata antes de escrever SQL, que você usa uma window function em vez de um self join frágil, e que você escolhe qual cópia manter de forma deliberada e não aleatória.

Como estruturar sua resposta

  • Pergunte o que conta como duplicata antes de encostar no SQL.
  • Detecte com GROUP BY mais HAVING COUNT maior que um.
  • Deduplique com ROW_NUMBER sobre uma partição e uma ordenação estável.
  • Diga a regra de qual linha sobrevive e por quê.
  • Investigue a causa a montante em vez de só limpar.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Eu perguntaria primeiro o que duplicata significa aqui, porque uma linha totalmente idêntica normalmente quer dizer que uma carga rodou duas vezes, enquanto duas linhas do mesmo cliente com e-mails diferentes são um problema de entrada de dados que precisa de uma decisão de negócio. Para encontrá-las eu agrupo pela chave pretendida e uso HAVING COUNT maior que um, o que também me diz o tamanho do problema. Para a remoção eu uso ROW_NUMBER particionado por essa chave, ordenado por updated_at decrescente com a chave primária como desempate para ficar reproduzível, e mantenho a linha número um. Se eu não tenho permissão para apagar, a mesma lógica vai para uma view. A parte que eu tento não pular é perguntar de onde elas vieram. Limpar duplicatas toda segunda de manhã é sintoma. Da última vez que eu rastreei isso, um job de ingestão com retry estava fazendo append em vez de merge, e consertar aquilo levou uma hora e acabou de vez com a limpeza semanal.

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ê decide qual das linhas duplicadas manter?
  • Como você deduplicaria quando a chave é imprecisa, como nome e endereço?
  • O que você checaria a montante para impedir que as duplicatas voltem?

Mais perguntas para Analista 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