Ein guter DAG hat kleine idempotente Tasks mit klaren Abhängigkeiten, leitet sein Zeitfenster aus dem Data Interval statt aus der Uhr ab und hält schwere Logik aus der DAG-Datei heraus, denn diese Datei wird ständig geparst. Vermeide große Datenmengen über XCom, vermeide lange blockierende Sensoren, die Worker-Slots belegen, und setz sinnvolle Retries, Timeouts und Alerting auf den Tasks, auf die es ankommt.
Warum Interviewer das fragen
Orchestrierungsfehler erzeugen stille Korrektheitsprobleme, nicht nur Abbrüche, also prüfen Interviewer damit praktische Erfahrung. Sie wollen Hygiene auf Top-Level-Code (eine langsame DAG-Datei degradiert den ganzen Scheduler), den Punkt mit dem Data Interval, der Reruns korrekt macht, und Bewusstsein für Ressourcenerschöpfung durch Sensoren und überdimensionierte XCom-Payloads.
So baust du deine Antwort auf
- Argumentier für kleine, idempotente, unabhängig wiederholbare Tasks.
- Erklär, warum das Zeitfenster aus dem Data Interval kommen muss.
- Warn vor schwerem Top-Level-Code in der DAG-Datei.
- Behandle XCom-Größenlimits und das Übergeben von Referenzen statt Payloads.
- Setz Retries, Timeouts, SLAs und sinnvolles Alerting.
Beispielantwort
Die zwei Dinge, die mir am wichtigsten sind, sind Task-Granularität und Idempotenz. Tasks sollten klein genug sein, dass ein Retry billig ist, und spezifisch genug, dass der Fehler dir sagt, was kaputt ist, und jeder einzelne sollte sicher erneut laufen können. Dann muss das Zeitfenster aus dem Data Interval kommen, das Airflow hereingibt, niemals aus datetime.now im Task, sonst verarbeitet ein Rerun von letztem Dienstag die heutigen Daten und du bekommst eine subtil falsche Antwort statt eines Fehlers. Im Review flagge ich am häufigsten teuren Code auf Top-Level der DAG-Datei. Diese Datei wird in kurzen Abständen geparst, also läuft ein API-Call oder eine Datenbankabfrage außerhalb der Task-Funktion permanent und degradiert den ganzen Scheduler; ich habe erlebt, dass allein das die Scheduling-Latenz über ein ganzes Deployment um Minuten erhöht hat. Ich schaue auch auf die XCom-Nutzung, denn das ist eine Metadatentabelle und kein Datentransport, also übergib einen S3-Pfad statt eines Dataframe.
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
- Was ist ein Deferrable Operator und welches Problem löst er?
- Wie würdest du einen DAG bauen, der eine variable Anzahl von Dateien verarbeitet?
- Wie testest du einen DAG, bevor er in Produktion 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