This is a hands-on exam-day account of taking the dbt Analytics Engineer certification online. It keeps preparation theory and study-material picks to a minimum, focusing instead on concrete steps from check-in through review, the topics most likely to trip you up, and how to recover from likely trouble.
Exam specs and proctoring policies can change, so always confirm the details against the official sources (dbt Docs and the Certification page). This article sticks to stable, version-independent principles and decision-making lenses that hold up in real work.
The exam runs under online proctoring. Before it starts you'll go through ID verification, a camera sweep of your workspace, and screen-sharing / browser-extension activation, so logging in and waiting 15-20 minutes before the scheduled start is the safe play. Tidy your desk and clear away any extra devices or paper materials.
Once you reach the exam screen, you accept the rules, confirm instructions from the (human or automated) proctor, and run a quick system check before the question set opens. The UI typically includes a flag-for-review marker and a remaining-time display. External sites are off-limits, though the proctoring tool may provide a whiteboard.
| Step | Typical duration | What to watch for |
|---|---|---|
| Check-in to environment verification | 10-15 min | ID presentation, room scan, granting extension permissions |
| Rules confirmation to exam start | 3-5 min | Check whether a whiteboard feature is provided |
| Answering and review | Full exam time | Use flags, manage time, apply elimination |
| Submission to exit | 2-3 min | Finish by following the on-screen instructions |
Online exam flow (conceptual diagram)
Check your lighting angle in advance so the ID can be captured cleanly without glare. The room scan usually asks you to show the desktop, surroundings, and walls with the camera, so it goes smoother if you clear away paper materials and extra monitors.
Browser-extension and screen-share permission dialogs are common stumbling blocks, depending on your OS security settings. Running the test launcher the day before significantly reduces day-of risk.
On the first pass, do not chase difficult questions. Lock in the ones you can answer instantly, flag the rest, and move on. On the second pass, focus on flagged questions and eliminate the wrong-answer patterns to push accuracy up.
In a dbt context, the key skill is precisely paraphrasing the granularity and scope of each concept (model / source / snapshot / exposure). Even when options look similar, focusing on responsibility boundaries and execution timing makes them easier to separate.
The exam is closed-book in principle. The shortest path is being able to verbalize the stable concepts from docs.getdbt.com. Below are the most easily confused areas and the practical criteria to distinguish them.
When choosing between incremental models, tests, source freshness, and snapshots, organize them by update pattern (append-only, upsert, history retention) and observability (when and where you want to detect or fail) — that framing keeps you from picking the wrong answer.
| Area | Key point (stable concept) | Common misconception | How to spot it on the exam |
|---|---|---|---|
| materialization (table/view/ephemeral/incremental) | Physicalization strategy for a DAG node — aligned to cost and recompute frequency | Assuming ephemeral is a 'persisted lightweight table' | Decide based on the keywords 'persistence' and 'CTE expansion on the caller side' |
| incremental + unique_key | Apply diffs for adds and updates; the merge strategy assumes a unique key | Assuming it works without is_incremental or without a unique key | Prefer options that include both the filter and the unique_key |
| tests (generic/singular) | Generic is reusable, singular is flexible; failures can halt the run | Confusing source freshness with 'content validation tests' | Split into two axes: 'freshness = latency detection, quality = content validation' |
| source vs seed vs snapshot vs exposure | source = external data, seed = CSV import, snapshot = history, exposure = downstream publication | Interpreting exposure as a 'model with metadata' | If the option mentions consumers or outputs (BI / Notebook / Feed), it's exposure |
| run/build/test/docs | build is run + test (+ dependency resolution); docs generates metadata | Treating build and run as synonyms | Distinguish by whether tests are included |
Minimal incremental model implementation (for organizing your thinking on the exam)
-- models/fct_orders.sql
{{ config(
materialized='incremental',
unique_key='order_id'
) }}
select
order_id,
customer_id,
order_date,
total_amount
from {{ source('raw', 'orders') }}
{% if is_incremental() %}
-- Recompute only the diff window (align lookback to requirements)
where order_date >= dateadd(day, -1, current_date)
{% endif %}
-- Key points:
-- 1) unique_key declares the uniqueness needed for merge
-- 2) The is_incremental() block narrows the recompute window
-- 3) If late-arriving updates can occur, choose a safe lookback periodNetwork instability is the biggest enemy. If video or audio drops, report it immediately in the proctor chat and follow instructions. You may be guided to re-grant browser-extension permissions or reload the page. Avoid restarting on your own — staying instruction-driven is the safer move.
You may also get noise-detection alerts or re-verification requests. Respond to the camera each time and stay calm. If you're worried about the clock running down, sharing the situation with the proctor still comes first.
| Issue | First response | Prevention |
|---|---|---|
| Video / audio dropouts | Share the situation in the proctor chat and reconnect per instructions | Use wired connection; turn off Wi-Fi on unneeded devices |
| Screen-share denied | Re-grant permissions in browser and OS settings | Test the day before and restart to reset permission state |
| Environment noise detected | Explain the situation and fix it (close windows, stop fans, etc.) | Reconsider the exam time slot and improve sound isolation |
A provisional score may show after submission, but the official result and certificate arrive by email later. Whatever the outcome, capture the points you struggled with while the memory is fresh — it pays off for the next attempt and team sharing.
The most effective way to bring lessons back to work is starting with explicit model definitions and thorough testing. dbt's strengths are documentation and observability. Even just tidying up descriptions in schema.yml and exposure definitions improves your team's discoverability.
| Improvement target | First step to take | Expected impact |
|---|---|---|
| Test coverage | Add generic not_null / unique tests in schema.yml | Move quality gates earlier in the pipeline |
| Freshness monitoring | Define freshness thresholds on sources and check them in CI | Immediate detection of delays |
| Documentation | Add descriptions to models and sources | Shorter onboarding |
Analytics Engineer
問題 1
You update a large sales table daily with dbt. Alongside new rows, orders from the past day can be updated via status changes. You want to keep processing time low while ensuring accuracy. Which design is most appropriate?
正解: A
The requirement is 'additions plus recent updates'. Incremental + unique_key + a diff filter that safely recomputes the past day balances performance and accuracy. Ephemeral is not persisted and does not scale, seed is manual and static, and snapshot is great for history retention but is not the main fit for the aggregation-update need in this question.
Is the exam open-book? Can I reference documentation?
It is closed-book in principle. You cannot reference external sites or notes. Check the official Certification page for the latest exam rules.
Are breaks allowed?
In most cases, leaving the seat is not allowed during the exam. Handle hydration and room temperature before you start, and set up a distraction-free environment. Follow the proctoring platform's specific policies.
When do I get results? What is the retake policy?
In some cases a provisional result is shown immediately after submission, but the official result and certificate are emailed later. Retake waiting periods and attempt limits can change, so always confirm the latest rules on the official page.
Practice with certification-focused question sets
無料で問題を解いてみるNicheeLab Editorial Team
NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.
dbt Models: SQL-Defined Transformation Units (2026)
Model fundamentals — SELECT-based definitions, naming, refs,...
dbt Analytics Engineering Exam: Complete Guide (2026)
Pass the AE Certification — scope, weighting, sample questio...
dbt Cloud vs dbt Core: Feature & Cost Comparison (2026)
Honest comparison of dbt Cloud vs. dbt Core — IDE, scheduler...
dbt Project Structure: models/seeds/macros Layout (2026)
Recommended dbt project layout — models, seeds, macros, snap...
dbt_project.yml Explained: Every Config (2026)
Every dbt_project.yml setting that matters — paths, vars, ma...