Rejouez d'abord vers une cible séparée, validez contre la table existante, puis basculez. Traitez par morceaux, partition par partition plutôt qu'en un seul job énorme, exécutez-les avec une concurrence bornée pour ne pas affamer les charges de production, et rendez chaque morceau idempotent pour pouvoir le relancer sur place en cas d'échec. Suivez l'avancement explicitement, et anticipez le fait que les attributs de dimension et les données sources ont pu changer depuis.
Pourquoi les recruteurs posent cette question
Les rejeux d'historique sont un rite de passage et une façon courante de provoquer un deuxième incident. Les recruteurs veulent le découpage en morceaux, l'isolation des ressources par rapport à la production, et la validation avant bascule. Ils cherchent aussi à savoir si vous voyez que recalculer l'historique n'est pas toujours reproductible, puisque dimensions, taux de change et enregistrements sources ont pu changer sous vos pieds.
Comment structurer votre réponse
- Écrivez dans une table fantôme pour que la production reste intacte.
- Découpez par partition et bornez la concurrence pour protéger les charges en cours.
- Rendez chaque morceau idempotent et relançable indépendamment.
- Validez par réconciliation contre des agrégats de confiance.
- Basculez atomiquement et gardez l'ancienne table pour une fenêtre de retour arrière.
Exemple de réponse
Je ne rejoue jamais l'historique sur place. Je construis dans une table fantôme, je valide, puis je bascule par un renommage atomique ou un pointeur de vue, en gardant l'ancienne une semaine au cas où quelqu'un repérerait un écart. L'exécution elle-même est découpée par partition, en général par mois ou par semaine selon le volume, avec peut-être quatre en parallèle, parce que le moyen le plus rapide de provoquer un deuxième incident est de saturer l'entrepôt et de faire exploser tous les jobs planifiés en même temps. Je le fais aussi tourner sur un entrepôt ou un groupe de ressources séparé quand la plateforme le permet. La validation est la partie que les gens bâclent. Je choisis une poignée d'agrégats auxquels la finance fait déjà confiance, le chiffre d'affaires par mois par exemple, et je compare l'ancien et le nouveau, en n'attendant de différences que là où le bug s'appliquait. Si un mois change alors qu'il n'aurait pas dû, le correctif est mauvais. L'autre point que je signale tôt : l'historique n'est pas toujours reproductible. Si la dimension est de type 1 et a été écrasée, recalculer le passé donne les attributs d'aujourd'hui, pas ceux d'alors.
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 marcheQuestions de relance à prévoir
- Comment évitez-vous qu'un rejeu d'historique affame vos charges de production ?
- Et si le système source ne conserve plus les données brutes ?
- Comment communiqueriez-vous un changement des chiffres historiques aux parties prenantes ?
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