# dbt - Advanced Features (Data Analytics) > Jinja macros, custom tests, packages, hooks, snapshots, incremental models, CI/CD orchestration - 20 interview questions - Senior - [Interview Questions: Data Analytics](https://sharpskill.dev/en/technologies/data-analytics/interview-questions.md) ## 1. What is the difference between a macro and a model in dbt? **Answer** A macro is a reusable Jinja code block that generates SQL dynamically, while a model is a SQL file that produces a table or view in the data warehouse. Macros help factorize repetitive code and create custom functions, whereas models define the structure of transformed data. ## 2. How to declare a custom macro in dbt? **Answer** A dbt macro is declared in a .sql file within the macros/ folder using Jinja macro and endmacro tags. The macro name is defined in the macro tag, and it can accept parameters. The macro is then callable in models using the Jinja double curly braces syntax. ## 3. What is the main benefit of incremental models in dbt? **Answer** Incremental models allow processing only new or modified data since the last run, instead of rebuilding the entire table. This significantly reduces execution time and compute costs for large tables, while keeping data up to date. ## 17 more questions available - What configuration is required to define an incremental model in dbt? - What is the purpose of the merge strategy in a dbt incremental model? Sign up for free: https://sharpskill.dev/en/login ## Other Data Analytics interview topics - [Google Sheets - Fundamentals](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/google-sheets-basics.md): 20 questions, Junior - [Google Sheets - Advanced Formulas](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/google-sheets-advanced.md): 20 questions, Junior - [SQL - Fundamentals](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/sql-basics.md): 25 questions, Junior - [SQL - Aggregations and Grouping](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/sql-aggregations.md): 20 questions, Junior - [SQL - Joins](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/sql-joins.md): 20 questions, Junior - [BigQuery - Fundamentals](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/bigquery-fundamentals.md): 20 questions, Junior - [Data Cleaning](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/data-cleaning.md): 20 questions, Junior - [KPIs and Business Metrics](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/kpis-metrics.md): 20 questions, Junior - [Descriptive Statistics](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/descriptive-statistics.md): 20 questions, Junior - [Zapier and No-Code Automation](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/zapier-automation.md): 20 questions, Junior - [Data Visualization Principles](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/data-viz-principles.md): 20 questions, Junior - [Python & Pandas - Fundamentals](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/python-pandas-basics.md): 20 questions, Junior - [Google Sheets - Automated Dashboards](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/google-sheets-dashboards.md): 20 questions, Mid-Level - [SQL - Subqueries and CTEs](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/sql-subqueries-ctes.md): 20 questions, Mid-Level - [SQL - Window Functions](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/sql-window-functions.md): 20 questions, Mid-Level - [BigQuery - Advanced Features](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/bigquery-advanced.md): 20 questions, Mid-Level - [Data Modeling](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/data-modeling.md): 20 questions, Mid-Level - [Funnel and Conversion Analysis](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/funnel-analysis.md): 20 questions, Mid-Level - [Cohort and Retention Analysis](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/cohort-retention.md): 20 questions, Mid-Level - [Google Tag Manager and Tracking](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/gtm-tracking.md): 20 questions, Mid-Level - [APIs and Webhooks](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/apis-webhooks.md): 20 questions, Mid-Level - [dbt - Fundamentals](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/dbt-fundamentals.md): 20 questions, Mid-Level - [AB Testing and Applied Statistics](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/ab-testing.md): 20 questions, Mid-Level - [Looker Studio (Google Data Studio)](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/looker-studio.md): 20 questions, Mid-Level - [Power BI - Fundamentals](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/power-bi-fundamentals.md): 20 questions, Mid-Level - [SQL - Advanced Analytical Queries](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/sql-advanced-analytics.md): 20 questions, Senior - [Power BI - DAX and Advanced Dashboards](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/power-bi-dax.md): 20 questions, Senior - [Python Analytics - Advanced Analysis and ML](https://sharpskill.dev/en/technologies/data-analytics/interview-questions/python-analytics-advanced.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/data-analytics/interview-questions/dbt-advanced