Sammle Events über einen leichtgewichtigen Endpoint in einem dauerhaften Log wie Kafka oder Kinesis, damit Producer von Consumern entkoppelt sind. Validier an der Grenze gegen eine Schema Registry und leite Fehler in ein Dead Letter Topic. Lande Rohevents unveränderlich in Object Storage, partitioniert nach Event-Datum, und transformier dann in bereinigte und modellierte Layer. Dedupliziere auf der Event-ID und hänge alles an der Event Time auf.
Warum Interviewer das fragen
Das ist eine offene Designfrage, um zu sehen, wie du ein System strukturierst und wo du Schutzmechanismen setzt. Interviewer achten auf einen dauerhaften Puffer, Schema-Durchsetzung am Rand, einen unveränderlichen Raw Layer für Replay, sinnvolle Partitionierung und eine Antwort zu Duplikaten und verspäteten Daten. Direkt Toolnamen zu nennen, ohne den Fluss zu beschreiben, ist der übliche Fehler.
So baust du deine Antwort auf
- Klär Volumen, Latenzanforderung und wer den Output konsumiert.
- Beschreib das Sammeln in ein dauerhaftes, wiederholbares Log.
- Erzwing das Schema an der Grenze mit einem Dead-Letter-Pfad.
- Lande roh und unveränderlich, dann modellier in Schichten.
- Behandle Duplikate, verspätete Daten und personenbezogene Daten.
Beispielantwort
Ich würde zuerst nach Volumen und Latenz fragen, denn hunderttausend Events pro Tag und hunderttausend pro Sekunde sind verschiedene Systeme, und ob überhaupt jemand Daten im Sekundenbereich braucht. Für einen normalen Produkt-Analytics-Fall schreibt ein schlanker Collector-Endpoint nach Kafka, was mir Dauerhaftigkeit gibt und Replay erlaubt, wenn ein nachgelagerter Consumer einen Bug hat. An dieser Grenze validiere ich gegen ein registriertes Schema und schiebe alles Ungültige mit Begründung in ein Dead Letter Topic, denn fehlerhafte Events still zu verwerfen heißt, es Monate später zu erfahren. Rohevents landen in Object Storage, partitioniert nach Event-Datum, unveränderlich, und diese Schicht ist die Wahrheit, aus der ich jederzeit neu bauen kann. Von dort bereinigt eine Transformationsschicht, dedupliziert auf der Event-ID, bildet Sessions und modelliert in Fakten- und Dimensionstabellen. Personenbezogene Daten würde ich schon beim Ingest behandeln, Nutzerkennungen hashen und das Mapping in einem zugriffsbeschränkten Store halten, denn das ist deutlich einfacher, als später einen Lake zu säubern.
Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.
So funktioniert esNachfragen, mit denen du rechnen solltest
- Wie würdest du Events in Sessions schneiden, und was definiert eine Session-Grenze?
- Wie behandelst du Bot-Traffic im Raw Layer?
- Was ändert sich, wenn der Client eine mobile App ist, die offline geht?
Weitere Fragen für Data Engineer
Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.
Meine Fragen vorhersagen