100+ Free Airflow DAG Authoring Practice Questions
Pass your Astronomer Certification: Apache Airflow DAG Authoring exam on the first try — instant access, no signup required.
What is the purpose of `template_ext` on an Airflow operator?
Explore More Astronomer (Apache Airflow) Certifications
Continue into nearby exams from the same family. Each card keeps practice questions, study guides, flashcards, videos, and articles in one place.
Key Facts: Airflow DAG Authoring Exam
75
Exam Questions
Astronomer
60 min
Exam Duration
Astronomer
75%
Passing Score
Astronomer
$150
Exam Fee
Astronomer
2 years
Validity
Astronomer
75 questions, 60 minutes, 75% passing score, $150 fee. Advanced DAG authoring topics: TaskFlow API (@task/@dag decorators), dynamic task mapping (.expand()), Datasets and data-aware scheduling, BranchPythonOperator, trigger rules (all_success, one_failed, none_failed), TaskGroups, on_failure_callback, SLA misses, execution_timeout. Certification valid 2 years.
Sample Airflow DAG Authoring Practice Questions
Try these sample questions to test your Airflow DAG Authoring exam readiness. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.
1What is the primary advantage of using the @task decorator (TaskFlow API) over the classic PythonOperator?
2In the following TaskFlow API snippet, what is the task dependency created? ```python @dag def my_dag(): data = extract() result = transform(data) load(result) ```
3How do you mix a classic BashOperator with a TaskFlow API @task function and create a dependency where the @task runs after the BashOperator?
4What does the @task.branch decorator (TaskFlow API) return, and what effect does it have on downstream tasks?
5A DAG uses BranchPythonOperator to choose between branch_a and branch_b. A final 'notify' task must run regardless of which branch executes. What trigger_rule should 'notify' have?
6What is the Airflow ShortCircuitOperator and when does it skip downstream tasks?
7What does the .expand() method on an Airflow operator do?
8You need to process a dynamic list of S3 files, but all tasks should use the same S3 connection ID. How do you use .partial() with .expand()?
9What is an Airflow Dataset, and how does it enable data-aware scheduling?
10How does a producer DAG mark its output as a Dataset update in Airflow?
About the Airflow DAG Authoring Exam
The Astronomer Certification: Apache Airflow DAG Authoring validates advanced skills in designing, authoring, and optimizing Apache Airflow DAGs for production use. It covers the TaskFlow API (@task decorator), dynamic task mapping (.expand()), Datasets for data-aware scheduling, BranchPythonOperator, trigger rules, TaskGroups, error handling callbacks, and production DAG best practices.
Questions
75 scored questions
Time Limit
60 minutes
Passing Score
75% (56/75)
Exam Fee
$150 (Astronomer)
Airflow DAG Authoring Exam Content Outline
TaskFlow API and Decorators
@task and @dag decorators, automatic XCom via return values, dependency inference, mixing TaskFlow with classic operators, @task.branch
Operators and Trigger Rules
Sensor modes (poke vs reschedule), trigger rules: all_success (default), one_failed, all_failed, all_done, none_failed, none_skipped, one_success
Branching and Dynamic Task Mapping
BranchPythonOperator, ShortCircuitOperator, .expand() for fan-out tasks, .partial().expand() for mixed parameters
Datasets and Data-Aware Scheduling
Dataset definition and URIs, outlets in operators, schedule=[Dataset(...)], consumer DAG triggering, Dataset UI
TaskGroups
TaskGroup context manager, nested TaskGroups, dependencies between TaskGroups, UI visualization
Error Handling and SLAs
on_failure_callback, on_retry_callback, on_success_callback, SLA miss callbacks, retries, retry_delay, retry_exponential_backoff, execution_timeout
How to Pass the Airflow DAG Authoring Exam
What You Need to Know
- Passing score: 75% (56/75)
- Exam length: 75 questions
- Time limit: 60 minutes
- Exam fee: $150
Keys to Passing
- Complete 500+ practice questions
- Score 80%+ consistently before scheduling
- Focus on highest-weighted sections
- Use our AI tutor for tough concepts
Airflow DAG Authoring Study Tips from Top Performers
Frequently Asked Questions
What is the @task decorator in Airflow's TaskFlow API?
The @task decorator transforms a regular Python function into an Airflow task. The decorated function's return value is automatically pushed to XCom, and passing the return value of one @task function into another automatically creates a task dependency. This eliminates boilerplate PythonOperator instantiation and explicit xcom_push/xcom_pull calls.
When should I use trigger_rule='none_failed'?
Use trigger_rule='none_failed' when a downstream task should run as long as all upstream tasks either succeeded or were skipped — but not if any failed. This is commonly used after BranchPythonOperator branches to run a join task regardless of which branch executed, without being blocked by skipped branch tasks.
What is the difference between .expand() and creating tasks in a loop?
.expand() creates tasks at runtime based on a dynamic list, meaning the number of tasks is only known when the DAG runs. Creating tasks in a Python loop creates them at DAG parse time, which is static. .expand() is preferred for dynamically-sized input lists and enables better task-level tracking in the Airflow UI.
What is the poke vs reschedule mode for sensors?
In poke mode, a sensor holds a worker slot while actively polling at poke_interval. In reschedule mode, the sensor releases its worker slot between checks, freeing resources. reschedule mode is preferred for long-running sensors (hours) to avoid exhausting the worker pool.