Question d'entretien pour Analyste de données

Qu'est-ce qu'une jointure en fan out, et comment la repéreriez-vous dans votre propre requête ?

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

Réponse rapide

Un fan out se produit quand vous joignez à une table qui a plusieurs lignes correspondantes par clé : chaque ligne de gauche est dupliquée et toute SUM dessus est gonflée. C'est la cause la plus courante de chiffre d'affaires surestimé dans un rapport. Repérez-le en comptant les lignes avant et après la jointure, ou en vérifiant que la clé de jointure est bien unique du côté droit avant d'agréger.

Pourquoi les recruteurs posent cette question

Cela produit des chiffres faux qui ont l'air crédibles, la pire catégorie de bug analytique, et c'est en général quelqu'un de la finance qui connaît le vrai total qui finit par l'attraper. Les recruteurs veulent une habitude de détection proactive plutôt qu'une définition, et idéalement le motif consistant à pré-agréger le côté multiple avant de joindre.

Comment structurer votre réponse

  • Expliquez le mécanisme : une jointure un vers plusieurs duplique les lignes de gauche.
  • Montrez pourquoi les agrégats gonflent au lieu de lever une erreur.
  • Donnez l'habitude de détection : compter les lignes avant et après.
  • Vérifiez explicitement l'unicité de la clé du côté joint.
  • Proposez le correctif : agréger d'abord le côté multiple, puis joindre.

Exemple de réponse

Exemple parlé, à la première personne

Si je joins les commandes aux lignes de commande sur order_id et qu'une commande a quatre lignes, cette commande apparaît maintenant quatre fois. Rien ne lève d'erreur, mais si je somme ensuite le total de la commande, j'ai quadruplé le chiffre d'affaires de cette commande. C'est sournois parce que le chiffre est plausible, juste faux, et la personne qui le trouve est en général la finance trois semaines plus tard. Mon réflexe, c'est de compter les lignes de la table de base, lancer la jointure, recompter, et si le nombre a changé je dois pouvoir expliquer pourquoi. Je vérifie aussi d'abord l'unicité de la clé de jointure avec un group by et un having count supérieur à un, ce qui prend dix secondes. Le correctif consiste en général à agréger le côté multiple à la maille voulue avant de joindre : je somme le chiffre d'affaires des lignes par commande dans une CTE, et je rejoins cette unique ligne par commande à l'en-tête. Cela préserve la maille et rend la requête plus facile à raisonner.

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 réécririez-vous une requête en fan out pour préserver la maille ?
  • Pourquoi SELECT DISTINCT est-il un mauvais correctif ?
  • Comment détecteriez-vous cela dans un tableau de bord construit par quelqu'un d'autre ?

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