Data Engineering interview question · Most asked
What is dbt, and what problems does it solve?
Summary
dbt manages SQL transformations inside the warehouse as code: each model is a SELECT, dependencies are declared with ref() and source(), and dbt builds a DAG, runs models in order, tests them, supports incremental models and generates documentation with lineage.
Longer Answer
It replaces folders of scripts run in arbitrary order with version-controlled, reviewed, tested models across dev, CI and production environments. A common layering is staging → intermediate → marts. Extraction, loading and scheduling are handled by other tools.
Key Points
- Transformations as SELECT models.
- ref()/source() build the DAG.
- Tests, docs and lineage.
- Incremental models for large tables.
Deep dive: ETL and Data Pipelines: Managing SQL Transformations with dbt
Explanation
What interviewers look for
DAG and testing benefits, and dbt's scope (transform only).
More most-asked Data Engineering questions
- Batch or streaming: how do you decide?
- What is the difference between ETL and ELT, and when would you choose each?
- What is change data capture (CDC), and why is log-based CDC preferred over polling?
- What does it mean for a data pipeline to be idempotent, and how do you achieve it?
- How do you implement incremental extraction, and what can go wrong?
- How do you deduplicate events, and what does 'exactly-once' really mean?
- What is a star schema, and why is it used in data warehouses?
- What is the grain of a table, and what is join fan-out?