# dbt - Fonctionnalités avancées (Data Engineering) > Macros Jinja, tests custom, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD - 20 questions d'entretien - Senior - [Questions d'entretien: Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien.md) ## 1. Dans dbt, quelle est la fonction principale des macros Jinja ? **Réponse** Les macros Jinja permettent de réutiliser du code SQL dans plusieurs modèles dbt. Elles fonctionnent comme des fonctions qui acceptent des paramètres et retournent du code SQL généré dynamiquement. Cela évite la duplication de code et facilite la maintenance des transformations complexes à travers le projet. ## 2. Comment définir une macro dbt réutilisable dans un fichier ? **Réponse** Une macro dbt se définit avec la syntaxe Jinja macro/endmacro dans un fichier .sql du dossier macros. Le nom de la macro est spécifié après le mot-clé macro, suivi des paramètres entre parenthèses. Cette macro peut ensuite être appelée depuis n'importe quel modèle du projet. ## 3. Quelle est la différence entre les stratégies 'timestamp' et 'check' pour les snapshots dbt ? **Réponse** La stratégie timestamp compare une colonne de date de mise à jour (updated_at) pour détecter les changements, ce qui est plus performant car elle ne compare qu'une seule colonne. La stratégie check compare les valeurs de colonnes spécifiées (check_cols) pour détecter tout changement, utile quand il n'y a pas de colonne de timestamp fiable. ## 17 questions supplémentaires disponibles - Quelles colonnes sont automatiquement ajoutées par dbt lors de la création d'un snapshot ? - Comment configurer un modèle incremental avec la stratégie 'merge' dans dbt ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Data Engineering - [Linux & Shell - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/linux-shell-basics.md): 20 questions, Junior - [Git & GitHub - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/git-github-fundamentals.md): 20 questions, Junior - [Python avancé pour le Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/python-advanced-de.md): 25 questions, Junior - [Docker - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/docker-fundamentals.md): 25 questions, Junior - [Google Cloud Platform - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/gcp-fundamentals.md): 20 questions, Junior - [CI/CD et qualité de code](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/ci-cd-code-quality.md): 20 questions, Confirmé - [Docker Compose](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/docker-compose.md): 20 questions, Confirmé - [FastAPI - APIs de données](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/fastapi.md): 20 questions, Confirmé - [SQL avancé pour le Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/sql-advanced-de.md): 20 questions, Confirmé - [Data Lake - Architecture et ingestion](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/data-lake.md): 20 questions, Confirmé - [BigQuery pour le Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/bigquery-de.md): 20 questions, Confirmé - [PostgreSQL - Administration](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/postgresql-admin.md): 20 questions, Confirmé - [Data Modeling pour le Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/data-modeling-de.md): 20 questions, Confirmé - [Fivetran & Airbyte - Ingestion de données](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/fivetran-airbyte.md): 20 questions, Confirmé - [dbt - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/dbt-fundamentals-de.md): 20 questions, Confirmé - [Apache Airflow - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/airflow-fundamentals.md): 20 questions, Confirmé - [Kubernetes - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/kubernetes-fundamentals.md): 20 questions, Confirmé - [Patterns ETL / ELT / ETLT](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/etl-elt-patterns.md): 20 questions, Senior - [Apache Airflow - Avancé](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/airflow-advanced.md): 20 questions, Senior - [Airflow + dbt - Orchestration de pipelines](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/airflow-dbt-integration.md): 20 questions, Senior - [PySpark - Traitement à grande échelle](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/pyspark.md): 20 questions, Senior - [Google Pub/Sub - Streaming de données](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/pubsub-streaming.md): 20 questions, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/apache-beam-dataflow.md): 20 questions, Senior - [Kubernetes - Production et scaling](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/kubernetes-advanced.md): 20 questions, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/terraform.md): 20 questions, Senior - [Bases de données NoSQL](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/nosql-databases.md): 20 questions, Senior - [Architecture Data moderne](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/data-architecture.md): 20 questions, Senior - [Monitoring et observabilité](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/monitoring-observability.md): 20 questions, Senior - [IAM et sécurité des données](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/iam-security-de.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/dbt-advanced-de