dbt Analytics Engineering Certification Exam
Last Update Feb 28, 2026
Total Questions : 65
We are offering FREE dbt-Analytics-Engineering dbt Labs exam questions. All you do is to just go and sign up. Give your details, prepare dbt-Analytics-Engineering free exam questions and then go for complete pool of dbt Analytics Engineering Certification Exam test questions that will help you more.
Your model has a contract on it.
When renaming a field, you get this error:
This model has an enforced contract that failed.
Please ensure the name, data_type, and number of columns in your contract match
the columns in your model's definition.
| column_name | definition_type | contract_type | mismatch_reason |
|-------------|------------------|----------------|-----------------------|
| ORDER_ID | TEXT | TEXT | missing in definition |
| ORDER_KEY | TEXT | | missing in contract |
Which two will fix the error? Choose 2 options.
In development, you want to avoid having to re-run all upstream models when refactoring part of your project.
What could you do to save time rebuilding models without spending warehouse credits in your next command?
Which two are true about version controlling code with Git?
Choose 2 options.
You have just executed dbt run on this model:
select * from {{ source("{{ env_var('input') }}", 'table_name') }}
and received this error:
Compilation Error in model my_model
expected token ':', got '}'
line 14
{{ source({{ env_var('input') }}, 'table_name') }}
How can you debug this?
Examine this query:
select *
from {{ ref('stg_orders') }}
where amount_usd < 0
You want to make this a generic test across multiple models.
Which set of two standard arguments should be used to replace {{ ref('stg_orders') }} and amount_usd? Choose 1 option.
Which of the following is true about restricting the usage of models in dbt?
Choose 1 option.
Which two mechanisms allow dbt to write DRY code by reusing logic, preventing writing the same code multiple times?
Choose 2 options.
Examine model stg_customers_sales that exists in the main branch:
select
id as customer_id,
name as customer_name
from {{ source('my_data','my_source') }}
A developer creates a branch feature_a from main and modifies the model as:
select
id as customer_id,
name as customer_name,
country as customer_country
from {{ source('my_data','my_source') }}
A second developer also creates a branch feature_b from main and modifies the model as:
select
id as customer_id,
name as customer_name,
address as customer_address
from {{ source('my_data','my_source') }}
The first developer creates a PR and merges feature_a into main.
Then the second developer creates a PR and attempts to merge feature_b into main.
How will git combine the code from feature_b and the code from main, which now contains the changes from feature_a as well?
Statement:
"As feature_a is already approved and merged to main, the code for the model stg_customers_sales will stay as-is and the changes from feature_b won’t be added."
Consider this DAG:
app_data.detail_categories -> stg_detail_categories -> skills_with_details
app_data.details -> stg_details -> lessons_with_details
What will support making this DAG more modular? Choose 1 option.
32. You are creating a fct_tasks model with this CTE:
with tasks as (
select * from {{ ref('stg_tasks') }}
)
You receive this compilation error in dbt:
Compilation Error in model fct_tasks (models/marts/fct_tasks.sql)
Model 'model.dbt_project.fct_tasks' (models/marts/fct_tasks.sql) depends on a node named 'stg_tasks' which was not found
Which is correct? Choose 1 option.
Options:
You run the command:
dbt test --select 'test_type:singular'
What will the command run?
Options shown:
Match the macro to the appropriate hook so that the correct execution steps comply with these rules:
macro_1() needs to be executed after every dbt run.
macro_2() needs to be executed after a model runs.
macro_3() needs to execute before every dbt run.
macro_4() needs to be executed before a model runs.

You want to configure dbt to prevent tests from running if one or more of their parent models is unselected.
Which test command should you execute?
Choose 1 option.