Apache Airflow
The de-facto orchestrator: DAGs written in Python, operators and sensors for the work, a scheduler driving intervals, and pluggable executors. Interviewers focus on Airflow because its scheduling semantics and XCom limits shape how pipelines get designed.
on this pageshowhide
explore
- DAGs and Tasks6 questions
- Operators and Sensors7 questions
- Scheduling and Triggers6 questions
- XComs and Data Passing6 questions
- Executors and Deployment7 questions
- Monitoring and Retries5 questions
questions
page 2 of 2How do you configure a custom XCom backend in Airflow, and what must the class implement?
basics
~20 sPoint the core xcom_backend setting at your class, which subclasses BaseXCom and overrides serialize_value and deserialize_value. Serialize writes the payload to external storage and returns a small pointer; deserialize resolves the pointer back into the value.
How would you decide between one large Airflow DAG with TaskGroups and several smaller linked DAGs?
basics
~20 sSplit on schedule and ownership, not on size. Work that shares one data interval and one failure story belongs in one DAG, grouped with TaskGroups for readability; work on a different cadence or owned by another team belongs in its own DAG, linked explicitly.
How would you choose between CeleryExecutor and KubernetesExecutor for a team's Airflow platform?
basics
~10 sCharacterise the workload first. Many short tasks and stable dependencies favour CeleryExecutor's warm workers; heterogeneous resource needs, per-team images and strong isolation favour KubernetesExecutor's pod-per-task, which costs seconds of startup on every task.
What policy would you set for XCom use across a shared multi-team Airflow platform?
basics
~20 sTreat XCom as control-plane metadata only: small JSON facts and object URIs, never payloads and never secrets, since values are unencrypted and visible in the UI. Add scheduled retention, and enforce the rules with cluster policies rather than documentation alone.
In Airflow 2, how can several schedulers run at once without duplicating task instances?
basics
~20 sAirflow 2 supports multiple active schedulers with no leader election. They coordinate through the metadata database, taking row-level locks with SELECT ... FOR UPDATE so only one scheduler can claim and queue a given task instance.
When is a shared library of custom Airflow operators worth building for a platform team?
basics
~20 sWhen the same integration plus its policy — auth, tagging, error mapping, a quality gate — is being retyped across many DAGs by teams who should not have to know it. Otherwise prefer provider operators and thin Python tasks over hooks: a custom operator library is a versioned product you then own.
In Airflow, how would you choose between ExternalTaskSensor, TriggerDagRunOperator and Dataset scheduling for cross-DAG dependencies?
basics
~20 sMatch the mechanism to who owns the dependency. Datasets suit a declared data contract between separately owned DAGs; TriggerDagRunOperator suits a producer that deliberately fans out to a downstream it owns; ExternalTaskSensor suits waiting on a DAG you cannot modify, and is the most fragile.
showing 31–37 of 37