# Apache Airflow - 기초 (Data Engineering) > DAG, operator (Bash, Python, SQL), 스케줄링, 태스크 의존성, Airflow UI, connection, variable, trigger rule - 20 면접 질문 - Mid-Level - [면접 질문: Data Engineering](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions.md) ## 1. Apache Airflow에서 DAG란 무엇입니까? **답변** DAG (Directed Acyclic Graph)는 의존성과 관계로 구성된 태스크의 모음으로, 완전한 워크플로우를 나타냅니다. 비순환적이라는 것은 의존성 그래프에 루프가 있을 수 없음을 의미하며, 이는 각 태스크가 실행당 정확히 한 번 실행됨을 보장합니다. DAG는 태스크가 언제 어떻게 실행되어야 하는지 정의하지만, 구체적으로 무엇을 하는지는 정의하지 않습니다. ## 2. Scheduler가 실행 스케줄링을 시작하는 날짜를 정의하는 DAG 파라미터는 무엇입니까? **답변** start_date 파라미터는 Airflow가 DAG 실행 스케줄링을 시작하는 날짜를 정의합니다. 이 날짜는 schedule_interval과 결합하여 data interval을 결정하는 데 사용됩니다. 중요한 점: start_date가 과거이면, catchup=False가 설정되지 않은 한 Airflow는 놓친 실행을 따라잡기 위해 backfill을 트리거할 수 있습니다. ## 3. Airflow DAG에서 Python 함수를 실행하려면 어떤 operator를 사용해야 합니까? **답변** PythonOperator를 사용하면 Airflow DAG에서 Python callable 함수를 실행할 수 있습니다. 함수는 python_callable 파라미터를 통해 전달되며 op_args (리스트) 또는 op_kwargs (딕셔너리)를 통해 인수를 받을 수 있습니다. PythonOperator는 사용자 정의 Python 코드를 실행하기 위한 큰 유연성을 제공하기 때문에 가장 일반적으로 사용되는 operator 중 하나입니다. ## 17개 추가 질문 이용 가능 - task_b가 task_a 후에 실행되도록 두 태스크 task_a와 task_b 사이의 의존성을 어떻게 정의합니까? - 자정에 매일 실행을 나타내는 cron 표현식은 무엇입니까? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 Data Engineering 면접 주제 - [Linux & Shell - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/linux-shell-basics.md): 20개 질문, Junior - [Git & GitHub - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/git-github-fundamentals.md): 20개 질문, Junior - [데이터 엔지니어링을 위한 고급 Python](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/python-advanced-de.md): 25개 질문, Junior - [Docker - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/docker-fundamentals.md): 25개 질문, Junior - [Google Cloud Platform - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/gcp-fundamentals.md): 20개 질문, Junior - [CI/CD 및 코드 품질](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/ci-cd-code-quality.md): 20개 질문, Mid-Level - [Docker Compose](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/docker-compose.md): 20개 질문, Mid-Level - [FastAPI - 데이터 API](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/fastapi.md): 20개 질문, Mid-Level - [Data Engineering을 위한 고급 SQL](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/sql-advanced-de.md): 20개 질문, Mid-Level - [Data Lake - 아키텍처 및 수집](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-lake.md): 20개 질문, Mid-Level - [데이터 엔지니어링을 위한 BigQuery](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/bigquery-de.md): 20개 질문, Mid-Level - [PostgreSQL - 관리](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/postgresql-admin.md): 20개 질문, Mid-Level - [Data Engineering을 위한 Data Modeling](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-modeling-de.md): 20개 질문, Mid-Level - [Fivetran & Airbyte - 데이터 수집](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/fivetran-airbyte.md): 20개 질문, Mid-Level - [dbt - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/dbt-fundamentals-de.md): 20개 질문, Mid-Level - [Kubernetes - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/kubernetes-fundamentals.md): 20개 질문, Mid-Level - [dbt - 고급 기능](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/dbt-advanced-de.md): 20개 질문, Senior - [ETL / ELT / ETLT 패턴](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/etl-elt-patterns.md): 20개 질문, Senior - [Apache Airflow - 고급](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-advanced.md): 20개 질문, Senior - [Airflow + dbt - 파이프라인 오케스트레이션](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-dbt-integration.md): 20개 질문, Senior - [PySpark - 대규모 처리](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/pyspark.md): 20개 질문, Senior - [Google Pub/Sub - 데이터 스트리밍](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/pubsub-streaming.md): 20개 질문, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/apache-beam-dataflow.md): 20개 질문, Senior - [Kubernetes - 프로덕션 및 스케일링](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/kubernetes-advanced.md): 20개 질문, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/terraform.md): 20개 질문, Senior - [NoSQL 데이터베이스](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/nosql-databases.md): 20개 질문, Senior - [모던 Data Architecture](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-architecture.md): 20개 질문, Senior - [모니터링 및 관찰 가능성](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/monitoring-observability.md): 20개 질문, Senior - [IAM 및 데이터 보안](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/iam-security-de.md): 20개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-fundamentals