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.

EasyTechnical
74 practiced

What does it mean for a pipeline run to be idempotent, and why does that property matter once retries and reprocessing are inevitable? Give two concrete techniques you'd actually implement to make a load idempotent.

HardTechnical
94 practiced

Write a MERGE statement that idempotently loads a staging table orders_stg(order_id, amount, last_modified, deleted) into a warehouse table orders(order_id PK, amount, last_modified, is_deleted): insert new orders, update existing ones only when last_modified is newer, and soft-delete when deleted is true. Then explain what makes this MERGE safe to re-run after a failure and safe if two runs somehow overlap.

MediumTechnical
103 practiced

For a set of complex transformations, one candidate wants to write them as dbt models running entirely in SQL, another wants a Python/Spark job. When does SQL-in-the-warehouse stop being the right tool, and what does a Spark job buy you that dbt can't?

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.

MediumTechnical
77 practiced

Walk through how you'd decide where transformation logic should live for a new pipeline: pushed down into the warehouse after loading, or applied upstream before loading. What actually drives that call in practice, and how does your answer change between a small relational source and a high-volume event stream?

Unlock Full Question Bank

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

Sign in to Continue

Join thousands of developers preparing for their dream job.