Collectez les événements via un endpoint léger vers un log durable comme Kafka ou Kinesis, pour découpler producteurs et consommateurs. Validez contre un schema registry à la frontière et routez les échecs vers un topic de dead letter. Faites atterrir les événements bruts de façon immuable dans du stockage objet, partitionné par date d'événement, puis transformez en couches nettoyée et modélisée. Dédupliquez sur l'identifiant d'événement et indexez tout sur le temps d'événement.
Pourquoi les recruteurs posent cette question
C'est une question de conception ouverte, utilisée pour voir comment vous structurez un système et où vous placez les protections. Les recruteurs cherchent un tampon durable, l'application du schéma en bordure, une couche brute immuable pour le rejeu, un partitionnement sensé, et un discours sur les doublons et les données en retard. Sauter directement aux noms d'outils sans décrire le flux est l'échec classique.
Comment structurer votre réponse
- Clarifiez le volume, l'exigence de latence et qui consomme la sortie.
- Décrivez la collecte vers un log durable et rejouable.
- Imposez le schéma à la frontière, avec un chemin de dead letter.
- Faites atterrir le brut de façon immuable, puis modélisez en couches.
- Couvrez les doublons, les données en retard et le traitement des données personnelles.
Exemple de réponse
Je commencerais par demander le volume et la latence, parce que cent mille événements par jour et cent mille par seconde ne sont pas le même système, et savoir si quelqu'un a réellement besoin de données à la minute. En supposant un cas normal d'analytique produit, un endpoint collecteur léger écrit dans Kafka, ce qui me donne la durabilité et me permet de rejouer si un consommateur en aval a un bug. À cette frontière, je valide contre un schéma enregistré et je pousse tout ce qui est invalide vers un topic de dead letter avec le motif, parce que jeter des événements malformés en silence signifie s'en apercevoir des mois plus tard. Les événements bruts atterrissent dans du stockage objet partitionné par date d'événement, immuables, et cette couche est la source de vérité depuis laquelle je peux toujours reconstruire. Ensuite, une couche de transformation nettoie, déduplique sur l'identifiant d'événement, découpe en sessions et modélise en tables de faits et de dimensions. Je traiterais les données personnelles dès l'ingestion, en hachant les identifiants utilisateur et en gardant la correspondance dans un magasin restreint, puisque c'est bien plus facile que d'essayer de nettoyer un lac après coup.
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 découperiez-vous les événements en sessions, et qu'est-ce qui définit une frontière de session ?
- Comment gérez-vous le trafic de bots dans la couche brute ?
- Qu'est-ce qui change si le client est une application mobile qui passe hors ligne ?
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