DBT CERTIFICATION EXAM |ACTUAL QUESTIONS
AND VERIFIED ANSWERS|BRAND NEW 2026-2027
UPDATE|GRADED A+
Question 1
Which command will build only the models that were not built on the recent run?
A: dbt run --select model_b+
B: dbt run --select model_c+
C: dbt run --select model_d
D: dbt run --select model_d+
CORRECT ANSWER
dbt run --select model_d+
Question 2
Which is true about the doc function in dbt?
A: The doc function can be used to reference the name of markdown file to be used in a
description
B: You can define a doc block in a SQL file and reference it in a description
C: The doc function is used to create dependencies between models
D: You can define a doc block within a YAML file and reference it in a description
E: The doc function can be used to reference the name of a doc macro to be used in a
description
CORRECT ANSWER
E: The doc function can be used to reference the name of a doc macro to be used in a
description
1
,Question 3
Given the following models and their dependencies, the requirement is to check freshness
before running any model. Choose 2 steps to achieve the requirement:
A: Create 2 jobs
B: Run source freshness --select source:source_1 and dbt build source:source_1+
sequentially in 1 job. Run dbt build source:source_2+ in another job
C: Run source freshness and dbt build sequentially
D: Create 1 job
CORRECT ANSWER
C & D: Create 1 job, run source freshness and dbt build sequentially
Question 4
Select "my_model" and its first-degree parents
CORRECT ANSWER
dbt run --select 1+my_model
Question 5
When you've created a pull request and your teammate is reviewing your commits, is this
situation in the development environment or the deployment environment?
CORRECT ANSWER
Development Environment
Question 6
Which feature of Jinja allows you to reuse code across multiple dbt models?
CORRECT ANSWER
2
, Macros
Question 7
You are working on a large dbt project with multiple models. You have been asked to
improve the readability of the database schema by using model aliasing. Which of the
following statements about model aliasing is true?
A: Model aliasing cannot be used in combination with custom schemas.
B: Model aliasing can be used to override the default relation identifier for a model.
C: Model aliasing is only useful for small projects with a few models.
D: Model aliasing cannot be used in a dbt project that uses package dependencies.
CORRECT ANSWER
B: Model aliasing can be used to override the default relation identifier for a model.
Question 8
In dbt metrics, if you want to group your metrics by a custom dimension like
"is_weekend", what variable must be set in the "dbt_project.yml" file?
A: is_weekend_dimension_list
B: custom_calendar_dimension_list
C: dimension_group_list
D: metric_group_list
CORRECT ANSWER
B: custom_calendar_dimension_list
Explanation: To group your metrics by a custom dimension like "is_weekend" in dbt
metrics, you need to set the variable "custom_calendar_dimension_list" in the
"dbt_project.yml" file. This variable allows you to define custom calendar dimensions
that can be used to group your metrics for reporting and analysis.
3
, Question 9
A data analyst wants to use snapshots in their dbt project to track changes in a dataset.
What is the best practice for snapshotting the data in dbt?
A: Snapshot the data after it has been cleaned and transformed by downstream models.
B: Snapshot the data in its raw form and use downstream models to clean up the data.
C: Snapshot the data after it has been cleaned and transformed, but before it has been
joined with other tables.
D: C and A
CORRECT ANSWER
B: Snapshot the data in its raw form and use downstream models to clean up the data.
Question 10
What is a best practice in SQL for separating logic that cleans up data from logic that
transforms data?
A: Using common table expressions (CTEs)
B: Using the ref function to build models on top of other models
C: Keeping all logic in a single query
D: Using the dbt tool to separate logic out into separate models
CORRECT ANSWER
A: Using common table expressions (CTEs)
Question 11
Alex is working on a dbt project and has defined several hooks for the models in both the
dbt_project.yml file and in the config block of a specific model. He wants to know the
order in which the hooks will be executed. How does dbt execute hooks defined in both
the dbt_project.yml file and in the config block of a specific model?
4
AND VERIFIED ANSWERS|BRAND NEW 2026-2027
UPDATE|GRADED A+
Question 1
Which command will build only the models that were not built on the recent run?
A: dbt run --select model_b+
B: dbt run --select model_c+
C: dbt run --select model_d
D: dbt run --select model_d+
CORRECT ANSWER
dbt run --select model_d+
Question 2
Which is true about the doc function in dbt?
A: The doc function can be used to reference the name of markdown file to be used in a
description
B: You can define a doc block in a SQL file and reference it in a description
C: The doc function is used to create dependencies between models
D: You can define a doc block within a YAML file and reference it in a description
E: The doc function can be used to reference the name of a doc macro to be used in a
description
CORRECT ANSWER
E: The doc function can be used to reference the name of a doc macro to be used in a
description
1
,Question 3
Given the following models and their dependencies, the requirement is to check freshness
before running any model. Choose 2 steps to achieve the requirement:
A: Create 2 jobs
B: Run source freshness --select source:source_1 and dbt build source:source_1+
sequentially in 1 job. Run dbt build source:source_2+ in another job
C: Run source freshness and dbt build sequentially
D: Create 1 job
CORRECT ANSWER
C & D: Create 1 job, run source freshness and dbt build sequentially
Question 4
Select "my_model" and its first-degree parents
CORRECT ANSWER
dbt run --select 1+my_model
Question 5
When you've created a pull request and your teammate is reviewing your commits, is this
situation in the development environment or the deployment environment?
CORRECT ANSWER
Development Environment
Question 6
Which feature of Jinja allows you to reuse code across multiple dbt models?
CORRECT ANSWER
2
, Macros
Question 7
You are working on a large dbt project with multiple models. You have been asked to
improve the readability of the database schema by using model aliasing. Which of the
following statements about model aliasing is true?
A: Model aliasing cannot be used in combination with custom schemas.
B: Model aliasing can be used to override the default relation identifier for a model.
C: Model aliasing is only useful for small projects with a few models.
D: Model aliasing cannot be used in a dbt project that uses package dependencies.
CORRECT ANSWER
B: Model aliasing can be used to override the default relation identifier for a model.
Question 8
In dbt metrics, if you want to group your metrics by a custom dimension like
"is_weekend", what variable must be set in the "dbt_project.yml" file?
A: is_weekend_dimension_list
B: custom_calendar_dimension_list
C: dimension_group_list
D: metric_group_list
CORRECT ANSWER
B: custom_calendar_dimension_list
Explanation: To group your metrics by a custom dimension like "is_weekend" in dbt
metrics, you need to set the variable "custom_calendar_dimension_list" in the
"dbt_project.yml" file. This variable allows you to define custom calendar dimensions
that can be used to group your metrics for reporting and analysis.
3
, Question 9
A data analyst wants to use snapshots in their dbt project to track changes in a dataset.
What is the best practice for snapshotting the data in dbt?
A: Snapshot the data after it has been cleaned and transformed by downstream models.
B: Snapshot the data in its raw form and use downstream models to clean up the data.
C: Snapshot the data after it has been cleaned and transformed, but before it has been
joined with other tables.
D: C and A
CORRECT ANSWER
B: Snapshot the data in its raw form and use downstream models to clean up the data.
Question 10
What is a best practice in SQL for separating logic that cleans up data from logic that
transforms data?
A: Using common table expressions (CTEs)
B: Using the ref function to build models on top of other models
C: Keeping all logic in a single query
D: Using the dbt tool to separate logic out into separate models
CORRECT ANSWER
A: Using common table expressions (CTEs)
Question 11
Alex is working on a dbt project and has defined several hooks for the models in both the
dbt_project.yml file and in the config block of a specific model. He wants to know the
order in which the hooks will be executed. How does dbt execute hooks defined in both
the dbt_project.yml file and in the config block of a specific model?
4