Interviewfrage für Data Engineer

Die Finanzabteilung sagt, der Umsatz ist zu hoch, und du findest doppelte Zeilen in der Faktentabelle. Wie untersuchst du das?

Worauf der Interviewer abzielt, wie du deine Antwort aufbaust und ein gesprochenes Beispiel zum Anpassen.

Kurzantwort

Leg zuerst die Granularität fest, dann quantifizier die Duplikate: nach dem vorgesehenen Schlüssel gruppieren und Zeilen über eins zählen. Prüf, ob die Duplikate identisch sind (ein Ladeproblem) oder sich in einer Spalte unterscheiden (ein Join Fan-out oder ein Duplikat in der Quelle). Verfolg es Schicht für Schicht zurück, bis zur ersten Stelle, an der die Duplizierung auftritt, fix dort, bau dann die betroffenen Partitionen neu und ergänz einen Eindeutigkeitstest.

Warum Interviewer das fragen

Doppelter Umsatz ist der klassische Warehouse-Bug, und Interviewer wollen eine methodische Untersuchung statt eines Rateschlags. Entscheidend ist, ob du den Ursprung Schicht für Schicht prüfst statt ein DISTINCT auf die finale Query zu klatschen, und ob du am Ende einen Test ergänzt, damit derselbe Defekt nicht still zurückkehren kann.

So baust du deine Antwort auf

  • Definier die vorgesehene Granularität und quantifizier, wie viele Schlüssel doppelt sind.
  • Vergleich doppelte Zeilen, um zu sehen, ob sie identisch oder abweichend sind.
  • Geh die Schichten zurück, bis du siehst, wo die Duplizierung zuerst auftritt.
  • Fix am Ursprung statt am Ende zu deduplizieren.
  • Ergänz einen Eindeutigkeitstest und bau die betroffene Historie neu.

Beispielantwort

Gesprochenes Beispiel, erste Person

Zuerst schreibe ich auf, was die Granularität sein soll, etwa eine Zeile pro Bestellposition, und zähle dann Schlüssel mit mehr als einer Zeile, damit ich weiß, ob das zwölf Zeilen oder zwölf Prozent sind. Dann vergleiche ich ein paar Duplikatgruppen nebeneinander, denn das verrät die Ursache fast sofort. Sind die Zeilen byteidentisch, ist es ein Ladeproblem, meist ein wiederholter Job, der angehängt statt ersetzt hat. Unterscheiden sie sich in einer Spalte, ist es ein Join Fan-out, und genau das war es beim letzten Mal: eine Dimension war auf Typ 2 umgestellt worden und der Join hat nicht auf die aktuelle Version gefiltert, also traf jede Faktenzeile drei historische Dimensionszeilen und der Umsatz verdreifachte sich für betroffene Kunden. Ich fixe das in der Schicht, in der es zuerst auftritt, nicht mit einem DISTINCT im finalen Modell, denn das versteckt das Problem und bremst jede Query. Dann ein Eindeutigkeitstest auf der Granularität und ein Neubau der betroffenen Partitionen, damit die Finanzabteilung korrigierte Zahlen bekommt.

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 es

Nachfragen, mit denen du rechnen solltest

  • Wie genau würde ein Join auf eine Typ-2-Dimension das auslösen?
  • Warum ist Deduplizieren im finalen Modell ein schlechter Fix?
  • Wie würdest du der Finanzabteilung sagen, dass sich historische Zahlen ändern?

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

Üb die harten Fragen, bevor sie gestellt werden

Trainier mit einem Live-Copiloten und geh dann vorbereitet rein. Ein $29 Session Pass bringt dich durch das Vorstellungsgespräch, ohne Abo und ohne Bindung.

GhostPilot holen