Question d'entretien pour Analyste de données

Comment trouveriez-vous et supprimeriez-vous les doublons dans une table ?

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Commencez par définir ce que doublon veut dire, puisque les copies exactes et les doublons métier sont deux problèmes différents. Pour les trouver, faites un GROUP BY sur la clé visée et filtrez avec HAVING COUNT(*) supérieur à un. Pour les supprimer, utilisez ROW_NUMBER partitionné sur cette clé avec un ORDER BY déterministe, puis supprimez ou excluez tout ce dont le numéro est supérieur à un, en gardant la ligne la plus récente ou la plus complète.

Pourquoi les recruteurs posent cette question

La gestion des doublons est une tâche hebdomadaire et une source courante d'indicateurs gonflés. Les recruteurs veulent voir que vous clarifiez la définition d'un doublon avant d'écrire du SQL, que vous utilisez une fonction de fenêtrage plutôt qu'une auto-jointure fragile, et que vous choisissez délibérément quelle copie garder au lieu de la prendre au hasard.

Comment structurer votre réponse

  • Demandez ce qui compte comme doublon avant de toucher au SQL.
  • Détectez avec GROUP BY plus HAVING COUNT supérieur à un.
  • Dédupliquez avec ROW_NUMBER sur une partition et un tri stable.
  • Énoncez la règle qui décide quelle ligne survit, et pourquoi.
  • Enquêtez sur la cause en amont au lieu de seulement nettoyer.

Exemple de réponse

Exemple parlé, à la première personne

Je demanderais d'abord ce que doublon veut dire ici, parce qu'une ligne entièrement identique signifie en général qu'un chargement a tourné deux fois, alors que deux lignes pour le même client avec des adresses e-mail différentes sont un problème de saisie qui demande une décision métier. Pour les trouver, je regroupe sur la clé visée et j'utilise HAVING COUNT supérieur à un, ce qui me donne aussi l'ampleur du problème. Pour la suppression, j'utilise ROW_NUMBER partitionné sur cette clé, trié par updated_at descendant avec la clé primaire comme départage pour que ce soit reproductible, puis je garde le numéro un. Si je n'ai pas le droit de supprimer, la même logique va dans une vue. La partie que j'essaie de ne pas sauter, c'est de demander d'où ils viennent. Nettoyer des doublons tous les lundis matin est un symptôme. La dernière fois que j'ai remonté la piste, un job d'ingestion rejoué ajoutait au lieu de faire un merge, et corriger ça a pris une heure et mis fin définitivement au nettoyage hebdomadaire.

Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.

Voir comment ça marche

Questions de relance à prévoir

  • Comment décidez-vous laquelle des lignes en double garder ?
  • Comment dédupliqueriez-vous quand la clé est approximative, comme un nom et une adresse ?
  • Que vérifieriez-vous en amont pour empêcher les doublons de revenir ?

Autres questions pour Analyste de données

Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.

Prédire mes questions

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot