When would you make a dbt model incremental instead of a view or full table rebuild, and how do you keep an incremental model correct when data arrives late or the logic changes?

technical-conceptual · Mid level · data-ml

What the interviewer is really asking

Tests practical dbt judgment: choosing incremental materialization as a cost optimisation only when full rebuilds get too slow, using is_incremental with a lookback window and a unique_key, and knowing every incremental model needs a documented full-refresh path for logic changes and accumulated drift.

What to say

What to avoid

Example answers

Strong: A fact model took 40 minutes to rebuild nightly and was mostly recomputing unchanged history. I made it incremental with is_incremental() filtering on event_ts and a unique_key with the merge strategy, which cut the build to 3 minutes — and I added a 3-day lookback window because our events sometimes landed two days late, so those weren't dropped.

Weak: I make every model incremental from the start because it's the fastest to run.

Want questions matched to your role? Paste a job title, job description, or CV and get a personalized set, or go Pro to unlock the full bank.