Question d'entretien pour ingénieur data

Comment testez-vous la qualité des données dans un pipeline, et que testez-vous ?

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

Réponse rapide

Testez le schéma, le volume et la sémantique. Les tests de schéma attrapent les changements de type et de colonnes. Les tests de volume et de fraîcheur attrapent une partition arrivée vide ou en retard. Les tests sémantiques vérifient l'unicité des clés, l'absence de null sur les champs obligatoires, les valeurs autorisées sur les énumérations, l'intégrité référentielle entre fait et dimension, et les invariants métier comme un chiffre d'affaires jamais négatif. Exécutez-les dans le pipeline et échouez ou mettez en quarantaine plutôt que de publier en silence.

Pourquoi les recruteurs posent cette question

Les recruteurs veulent savoir si vous livrez de la donnée avec des contrôles ou avec de l'espoir. Le signal le plus fort, c'est ce qui se passe quand un test échoue : bloquer les modèles en aval, alerter le responsable et mettre les mauvais enregistrements en quarantaine, plutôt que de logger un avertissement que personne ne lit. Mentionner des contrôles de type détection d'anomalie sur les volumes de lignes montre que vous vous êtes déjà brûlé sur un chargement partiel silencieux.

Comment structurer votre réponse

  • Regroupez les tests en catégories : schéma, volume et fraîcheur, sémantique.
  • Donnez des assertions concrètes pour chaque catégorie.
  • Définissez la sévérité : ce qui bloque le pipeline et ce qui alerte seulement.
  • Décrivez la mise en quarantaine des mauvaises lignes plutôt que leur suppression.
  • Expliquez qui est alerté et avec quel contexte.

Exemple de réponse

Exemple parlé, à la première personne

Je raisonne en trois couches. Schéma : la colonne existe, le type n'a pas changé, aucun nouveau champ nullable n'apparaît en douce. Volume et fraîcheur : cette partition a un nombre de lignes dans une fourchette raisonnable autour de la moyenne glissante, et le dernier événement n'a pas huit heures. Sémantique : la clé primaire est unique, les champs obligatoires ne sont pas nuls, le statut fait partie de l'ensemble autorisé, chaque commande référence un client qui existe, et le chiffre d'affaires n'est pas négatif. Dans dbt, ce sont surtout des tests intégrés plus une poignée de tests SQL singuliers pour les règles métier. Ce qui compte encore plus que les tests, c'est la politique. Un test d'unicité en échec sur une clé primaire bloque les marts en aval, parce que publier du chiffre d'affaires dupliqué est pire que ne rien publier. Un avertissement souple comme une baisse de 20% du nombre de lignes alerte l'équipe propriétaire sans arrêter l'exécution. Et les mauvaises lignes vont dans une table de quarantaine avec le motif d'échec, pour qu'on puisse mesurer la fréquence du problème au lieu d'en perdre la trace.

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 fixez-vous les seuils d'un contrôle d'anomalie sur le nombre de lignes ?
  • Que faites-vous quand un test échoue à 4h du matin et que personne n'est d'astreinte ?
  • Comment évitez-vous la fatigue d'alerte liée aux contrôles de qualité des données ?

Autres questions pour ingénieur data

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