Apache Airflow Assessment Test

Apache Airflow

 30 Minutes
 10 Questions


This test is designed to assess a candidate's knowledge of Apache Airflow fundamentals. It will include multiple-choice questions on topics such as Directed Acyclic Graphs (DAGs), task execution, scheduling, operators, and Airflow configuration basics. The assessment will also cover concepts like monitoring, logging, and troubleshooting workflows, as well as best practices for managing dependencies and ensuring reliable pipeline execution. The test is designed to evaluate the candidate's ability to understand and apply core Apache Airflow concepts for orchestrating and managing data pipelines.


Example Question:

Multiple-Choice
You want to create a DAG that dynamically generates tasks based on a list of table names. Which of the following correctly defines dynamic task generation?

A.

tables = ['users', 'orders', 'products']
for table in tables:
  BashOperator(
    task_id=f'load_{table}',
    bash_command=f'echo Loading {table}'
  )

B.

tables = ['users', 'orders', 'products']
with DAG(...) as dag:
  for table in tables:
    BashOperator(
      task_id=f'load_{table}',
      bash_command=f'echo Loading {table}'
    )


C.


tables = ['users', 'orders', 'products']
with DAG(...) as dag:
  tasks = []
  for table in tables:
    tasks.append(BashOperator(
      task_id=f'load_{table}',
      bash_command=f'echo Loading {table}'
    ))

D.


tables = ['users', 'orders', 'products']
with DAG(...) as dag:
  BashOperator(
    task_id='load_all',
    bash_command='echo Loading all tables'
  )
Answers
1. A
2. B
3. C
4. D