# dbt - 고급 기능 (Data Engineering) > Jinja 매크로, 커스텀 테스트, 패키지, 훅, 스냅샷 (SCD), incremental models, dbt Cloud, CI/CD - 20 면접 질문 - Senior - [면접 질문: Data Engineering](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions.md) ## 1. dbt에서 Jinja 매크로의 주요 목적은 무엇입니까? **답변** Jinja 매크로는 여러 dbt 모델에서 코드 재사용을 가능하게 합니다. 매개변수를 받아 동적으로 생성된 SQL 코드를 반환하는 함수처럼 작동합니다. 이를 통해 코드 중복을 피하고 프로젝트 전반에 걸쳐 복잡한 변환을 더 쉽게 유지 관리할 수 있습니다. ## 2. 파일에서 재사용 가능한 dbt 매크로를 정의하는 방법은 무엇입니까? **답변** dbt 매크로는 macros 폴더 내의 .sql 파일에서 Jinja macro/endmacro 구문을 사용하여 정의됩니다. 매크로 이름은 macro 키워드 뒤에 지정하고, 매개변수는 괄호 안에 작성합니다. 이 매크로는 프로젝트의 모든 모델에서 호출할 수 있습니다. ## 3. dbt 스냅샷의 'timestamp'와 'check' 전략의 차이점은 무엇입니까? **답변** timestamp 전략은 업데이트 날짜 열(updated_at)을 비교하여 변경 사항을 감지하며, 단일 열만 비교하므로 성능이 더 좋습니다. check 전략은 지정된 열(check_cols)의 값을 비교하여 모든 변경 사항을 감지하며, 신뢰할 수 있는 timestamp 열이 없을 때 유용합니다. ## 17개 추가 질문 이용 가능 - 스냅샷을 생성할 때 dbt가 자동으로 추가하는 열은 무엇입니까? - dbt에서 'merge' 전략으로 incremental 모델을 구성하는 방법은 무엇입니까? 무료로 가입하기: 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 - [Apache Airflow - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-fundamentals.md): 20개 질문, Mid-Level - [Kubernetes - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/kubernetes-fundamentals.md): 20개 질문, Mid-Level - [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/dbt-advanced-de