Free DBT-Analytics-Engineering Practice Test Questions and Answers (2026)
What's covered in this practice questions set
2: Modeling, · 11 questions
📖 About this Domain
This domain covers the core dbt development workflow for transforming data. You will focus on building modular data models using SQL and Jinja, following a layered architectural pattern.
🎓 What You Will Learn
- Implement layered data modeling using staging, intermediate, and marts layers with ref() and source() functions.
- Apply different materializations like view, table, incremental, and ephemeral to optimize model performance.
- Use Jinja and macros to write DRY, dynamic SQL and abstract complex business logic.
- Configure model properties such as schemas and materializations within dbt_project.yml and config blocks.
🛠️ Skills You Will Build
- Transforming raw data into analytics-ready models by applying SQL logic within the dbt framework.
- Constructing and managing a project's Directed Acyclic Graph (DAG) through correct model dependencies.
- Abstracting SQL logic into reusable macros and leveraging Jinja for dynamic, configurable models.
- Optimizing pipeline performance by selecting appropriate materializations and implementing incremental load strategies.
💡 Top Tips to Prepare
- Master the ref() and source() functions to correctly build dependencies and the project DAG.
- Practice building incremental models using the is_incremental() macro and a unique_key.
- Write custom macros using Jinja control structures to understand code reusability in dbt.
- Study the dbt Labs style guide for best practices on structuring models, especially staging and marts.
3: Testing & documentation, · 4 questions
📖 About this Domain
This domain covers implementing data quality checks and project documentation within a dbt project. It emphasizes using dbt's native features to ensure data integrity, reliability, and project maintainability.
🎓 What You Will Learn
- How to apply generic tests like unique and not_null and write custom singular tests to validate data assumptions.
- The process for generating and serving project documentation using the dbt docs generate and dbt docs serve commands.
- Methods for configuring source freshness tests to monitor data latency and the role of documentation in data contracts.
- Techniques for configuring test properties, including setting severity levels to warn or error and storing test failures.
🛠️ Skills You Will Build
- Proficiency in writing YAML configurations to define tests, descriptions, and other metadata for dbt assets.
- The ability to construct a robust data quality framework using dbt's native testing capabilities.
- Competence in creating and maintaining comprehensive, accessible project documentation for technical and business stakeholders.
- Skill in monitoring data pipeline health and reliability through source freshness and other automated tests.
💡 Top Tips to Prepare
- Master the YAML syntax for defining tests and descriptions on models, columns, and sources in schema.yml files.
- Practice using the dbt test command with node selection syntax to run specific tests on your models.
- Understand the distinction between a generic test defined as a macro and a singular test written in a .sql file.
- Familiarize yourself with the structure of the manifest.json and catalog.json artifacts which power dbt docs.
5: Environments & deployments · 2 questions
📖 About this Domain
This domain covers the configuration of distinct development and production environments within a dbt project. It focuses on deployment workflows, job orchestration in dbt Cloud, and implementing CI/CD pipelines. Understanding profiles.yml and deployment best practices is critical for production-grade analytics engineering.
🎓 What You Will Learn
- Configure profiles.yml with multiple targets to manage separate dev and prod environments.
- Set up and schedule dbt Cloud jobs for production runs, including triggers and notifications.
- Implement a continuous integration (CI) job to test code changes on pull requests.
- Utilize Slim CI and state-aware commands to optimize build times in your deployment pipeline.
🛠️ Skills You Will Build
- Managing environment-specific configurations using targets and environment variables.
- Orchestrating production dbt runs and monitoring their status within dbt Cloud.
- Implementing a git-based workflow for promoting dbt code from development to production.
- Automating data quality checks within a CI/CD pipeline before merging code.
💡 Top Tips to Prepare
- Master the structure of profiles.yml and the function of the target variable for environment switching.
- Practice creating deployment jobs in dbt Cloud, focusing on the specific commands and triggers.
- Understand the concept of deferral and manifest artifacts for implementing state-aware runs.
- Review dbt's official documentation on setting up a CI job and the prerequisites for Slim CI.
4: Source & staging data, · 2 questions
📖 About this Domain
This domain covers the foundational layer of a dbt project where raw data is introduced and prepared for transformation. You will focus on defining sources to declare dependencies on upstream data and building staging models for initial data cleansing and preparation.
🎓 What You Will Learn
- You will learn to declare and configure raw data tables as sources using sources.yml files.
- You will learn to implement source freshness tests to monitor data latency using the loaded_at_field property.
- You will learn the best practices for creating staging models that perform light transformations like renaming and casting.
- You will learn how to use the source() Jinja function to correctly reference raw data tables in dbt models.
🛠️ Skills You Will Build
- You will build the skill to configure dbt sources to manage raw data dependencies and generate documentation.
- You will build the skill to implement data quality and freshness tests directly on source data tables.
- You will build the skill to construct the foundational staging layer of a dbt project for all downstream modeling.
- You will build the skill to apply consistent naming conventions and data type casting in staging models.
💡 Top Tips to Prepare
- Memorize the required and optional properties for configuring a source in a .yml file, including freshness blocks.
- Practice writing staging models that correctly use the source() function with its two arguments.
- Clearly understand the distinction between the ref() and source() Jinja functions and their specific use cases.
- Review the dbt Labs style guide for conventions on staging models, such as column naming prefixes.
1: dbt fundamentals, · 1 questions
📖 About this Domain
This domain covers the core principles of dbt, its function within the modern data stack, and its role in the transformation step of ELT. It focuses on the fundamental dbt workflow, project structure, and the compilation of SQL with Jinja.
🎓 What You Will Learn
- You will learn to structure a dbt project, including the configuration of the dbt_project.yml file and the purpose of model, seed, and macro directories.
- You will learn the four core materializations—view, table, incremental, and ephemeral—and the specific scenarios for their implementation.
- You will learn to declare upstream dependencies using the source and ref functions to build a reliable Directed Acyclic Graph (DAG).
- You will learn to apply Jinja templating to write dynamic and reusable SQL, promoting DRY (Don't Repeat Yourself) coding principles.
🛠️ Skills You Will Build
- You will build the skill to develop modular data models using SELECT statements, which dbt compiles into DDL/DML for your data platform.
- You will build proficiency with the dbt Command Line Interface (CLI) to execute core commands like dbt run, dbt test, and dbt build.
- You will build the ability to configure development and production environments using profiles.yml to manage database connections and targets.
- You will build skills in integrating a dbt project with a Git workflow for version control and collaborative development.
💡 Top Tips to Prepare
- Master the dbt_project.yml file, as its configurations for models, seeds, and sources are frequently tested.
- Practice building interdependent models using the ref function to fully grasp how dbt resolves the DAG.
- Understand the performance and cost trade-offs between view, table, and incremental materializations for different modeling scenarios.
- Complete the official dbt Fundamentals course, as its content aligns directly with the exam's knowledge areas for this domain.