P
prepair.app
Interview starten →
EnglishУкраїнськаРусскийDeutsch
🗄️

Middle Data EngineerData-Engineer-Interviewfragen

Middle · 2–4 Jahre Erfahrung

Interviews für Data Engineers drehen sich stark um SQL und darum, ob deine Pipelines es überleben, zweimal, verspätet oder in falscher Reihenfolge zu laufen. Rechne außerdem mit Modellierungsfragen, auf die es keine einzig richtige Antwort gibt. Hier sind die häufigsten Fragen, jeweils mit einer Musterantwort. Middle: tieferes Verständnis, Optimierung und reale Arbeitssituationen.

Probier es aus — kein Konto nötig
Deine Frage wird vorbereitet…

Themen zur Vorbereitung

Advanced SQL
Datenmodellierung und Warehousing
ETL vs. ELT und Orchestrierung
Spark und verteilte Verarbeitung
Streaming und Kafka
Datenqualität

7 Fragen auf Middle-Niveau mit Antworten

1

Was ist der Unterschied zwischen zeilenorientierten und spaltenorientierten Formaten?

Antwort

Zeilenformate wie CSV oder Avro speichern einen Datensatz zusammenhängend, was sich für das Schreiben und Lesen ganzer Datensätze eignet. Spaltenformate wie Parquet und ORC speichern jede Spalte zusammenhängend, sodass eine Abfrage, die drei von fünfzig Spalten anfasst, auch nur diese drei liest. Spaltenformate komprimieren zudem deutlich besser, weil eine Spalte ähnliche Werte enthält. Der Preis dafür ist, dass das Schreiben einer einzelnen Zeile teuer ist, weshalb Spaltenformate für Analytics gedacht sind und nicht für Transaktionen.

2

Was bedeutet es, dass ein Batch-Job idempotent ist, und wie machst du einen Insert idempotent?

Antwort

Idempotent bedeutet, dass ein zweiter Lauf dasselbe Ergebnis hinterlässt wie der erste — wichtig, weil Wiederholungen vorkommen, sei es durch den Scheduler, einen Fehler oder einen Menschen. Für einen Insert sind die üblichen Antworten ein Merge oder Upsert über einen Business Key, das Löschen der Zielpartition vor dem Schreiben, oder ein Unique Constraint, der das Duplikat harmlos scheitern lässt. Ein einfaches INSERT in einem wiederholten Job verdoppelt die Daten stillschweigend.

3

Was ist der Unterschied zwischen einem Star- und einem Snowflake-Schema?

Antwort

Im Star Schema sind Dimensionen in einzelne Tabellen denormalisiert, die direkt mit dem Fact gejoint werden. Im Snowflake Schema sind Dimensionen in weitere Tabellen normalisiert. Der Star braucht weniger Joins und ist schneller abzufragen; die Snowflake spart Speicherplatz und vermeidet Update-Anomalien. Analytics entscheidet sich meist für den Star, weil Speicherplatz billig ist und die Zeit der Analysten nicht.

4

Was ist Lazy Evaluation in Spark, und was ist der Unterschied zwischen einer Transformation und einer Action?

Antwort

Transformationen — map, filter, join — bauen einen Plan auf und führen nichts aus. Eine Action — count, collect, write — löst den gesamten Plan aus. Lazy Evaluation erlaubt es dem Optimizer, die gesamte Kette zu sehen und umzuordnen, Filter nach unten zu schieben und Schritte zusammenzufassen. Die praktische Konsequenz: Die Zeit einer Transformation zu stoppen misst gar nichts, und der Fehler, den du in Zeile drei erwartet hast, taucht erst bei der Action auf.

5

Was ist der Unterschied zwischen einer wide und einer narrow Dependency, und warum ist das wichtig?

Antwort

Bei einer narrow Dependency speist jede Eingabepartition genau eine Ausgabepartition — ein map oder filter, berechenbar auf dem Node, der die Daten hält. Eine wide Dependency braucht Daten aus vielen Partitionen, was einen Shuffle übers Netzwerk bedeutet. Shuffles dominieren die Laufzeit der meisten Jobs, weshalb ein groupBy oder join der erste Ort ist, an dem man nachschaut, wenn etwas langsam ist.

6

Wann würdest du einen Broadcast Join einsetzen?

Antwort

Wenn eine Seite klein genug ist, um in den Speicher jedes Executors zu passen — eine Dimensionstabelle gegen eine große Faktentabelle. Sie zu broadcasten entfernt den Shuffle komplett, was oft den Unterschied zwischen Minuten und Stunden ausmacht. Die Grenze ist der Speicher: Broadcastest du etwas zu Großes, zahlt jeder Executor dafür, deshalb sollte man den Schwellenwert kennen statt zu raten.

7

Was ist Change Data Capture, und wann nutzt du es statt eines vollständigen Reloads?

Antwort

CDC liest das eigene Change-Log der Quelldatenbank und streamt Inserts, Updates und Deletes, statt die gesamte Tabelle erneut zu lesen. Man nutzt es, wenn die Tabelle so groß ist, dass ein vollständiger Reload nicht ins Zeitfenster passt, oder wenn man die Änderungen selbst braucht — insbesondere Deletes, die ein Vergleich vollständiger Snapshots nur über ihre Abwesenheit erkennt.

🦎

Antworten lesen reicht nicht

Im echten Interview sprichst du unter Druck. Cam stellt genau diese Fragen, bewertet jede Antwort und zeigt dir genau, was du verbessern musst.

Middle Data Engineer-Interview üben →
Kostenlos · 3 Interviews im Monat

Weitere Level — Data Engineer

Junior Data EngineerSenior Data EngineerAlle Data Engineer-Fragen

Weitere Spezialisierungen

🔍Middle QA Manual🤖Middle QA AutomationMiddle Java Backend🐍Middle Python Backend🐘Middle PHP-Backend🦫Middle Go-Backend🟢Middle Node.js-Backend💎Middle Ruby on Rails🔷Middle C++🟨Middle JavaScript