InterviewStack.io LogoInterviewStack.io

ETL and ELT Design Patterns Questions

Trade-offs between extract-transform-load and extract-load-transform strategies, where transformation logic should live, and when to push compute into the warehouse. Covers incremental vs full loads, change-data-capture, slowly changing dimensions handling in the load path, and tooling (dbt-style transformation layers). Focuses on the processing-strategy decision rather than a specific vendor.

HardTechnical
72 practiced

You must backfill a derived column onto a partitioned analytics table with billions of rows. Design the SQL-based backfill: how you batch it per partition to minimize locking, how you avoid creating duplicates, how the job resumes cleanly if it fails partway through, and what you'd check before the final cutover to the new column.

MediumTechnical
107 practiced

You load a fact table partitioned by event_date. Describe a safe process to (re)load a single partition idempotently so that a retry, a backfill, or a reprocess of that one day never duplicates rows or disturbs any other partition.

MediumTechnical
89 practiced

A self-serve analytics team keeps building their own logic in Tableau Prep or Power BI on top of the raw warehouse tables instead of using the shared ELT layer. What breaks first as that pattern scales, and how would you decide which transformations belong in the BI tool versus the central warehouse?

HardSystem Design
104 practiced

Architect a hybrid ETL/ELT pipeline for a global e-commerce system: a 1-billion-event/day clickstream, CDC from transactional databases at 100 million rows/day, sub-5-second personalized recommendations, and daily batch analytics on the same underlying data. Be explicit about WHERE each transform runs and why: what stays as pre-load ETL because it has to be fast or cheap upstream, and what gets pushed down into the warehouse as ELT because it benefits from batch compute and needs to be reprocessable. Cover storage choices, the streaming/batch split, and how you'd handle a failure in either path.

EasyTechnical
87 practiced

When would you run a full refresh of a table on every load instead of an incremental load, given that incremental is almost always cheaper? Name at least three signals you'd track to confirm an incremental load actually ran correctly.

Unlock Full Question Bank

Get access to all 25 ETL and ELT Design Patterns interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.