Interviewing
How to Prepare for the Data Pipeline Design Round
The diagram is the easy half. This is the half that gets people rejected.
It opens on your dashboard and ticks itself off as you go. Every step below is a chapter or an exercise that already ships.
01
When you finish, you can
You can design a pipeline and defend the reruns, the late data and the cost.
Design day You can defend a design under questioning
02
The plan, 4 parts
Ordered by what each one buys you, not by topic. Every step says why it is here.
Part 01 · ~2h
Requirements before boxes
You ask what the pipeline is for before choosing anything to build it.
Skip this if you ask about latency, volume and consumers unprompted.
- SectionThe requirements-first method7 minNaming tools before requirements is the documented top elimination.
- SectionThe questions to ask first6 minLatency, volume, consumers, retention. Ask before you draw.
- SectionThe constraints nobody writes down6 minBudget, team size, what already exists. These decide more than tech.
- SectionLatency: a budget, not a dial6 minTurn "real time" into a number before you agree to build it.
- SectionChoosing without overbuilding6 minChoosing streaming when batch would do is a real mark against you.
- InterviewChoosing a partition key6 minOne choice sets ordering, distribution, hotspots and scale. Say all four.
- ExerciseRealtime events pipeline45 minin the studioA prompt lifted from real loops: batch or streaming, and why.
- InterviewWhat ordering a stream gives you6 minPer partition, never global. A flat "yes" designs a reordering bug.
- QuestionsData Pipeline · Conceptual15 minThe vocabulary the rest of the round is conducted in.
Part 02 · ~2h
Make it safe to run twice
You can say what happens on a rerun without checking the code.
Skip this if every load you design is a merge or a partition overwrite.
- SectionAt-most, at-least, exactly-once6 minThree guarantees, three costs. Pick one and say what it buys.
- SectionIdempotency: safe to repeat7 minThe word rejection notes use when it is missing. Say it early.
- SectionDeduplication & idempotency keys6 minWho assigns the key decides whether dedup works at all.
- SectionAppend, upsert, overwrite6 minThree write modes, and only one of them duplicates on a rerun.
- InterviewAppend, merge or overwrite6 minRun it twice. Append duplicates; the other two converge.
- ExerciseThe fact arrived first45 minin the studioThe fact beat its dimension. What does your load do about it?
- ExerciseYou fixed it. Who already used it?50 minin the studioYou fixed it and replayed. Who already used the wrong numbers?
- InterviewDeduplicating with a version6 minDedup handles copies. Only a version handles arriving out of order.
- QuestionsData Pipeline · Failure & recovery15 minTwenty reruns, replays and backfills, each with a real outcome.
Part 03 · ~2h
Late data, backfill, and the schema that changed
You can rewrite history without double-counting or downtime.
Skip this if you have run a backfill over a live table and it was fine.
- SectionIncremental processing6 minOnly what is new. What "new" means is the whole design.
- SectionBackfills: rewriting history safely7 min"Backfill a billion-row table" is a reported question, verbatim.
- SectionLate-arriving data & replays6 minNamed in the rejections as the thing designs are missing.
- SectionBackward, forward & breaking changes6 minWhich changes are safe is a fact, not a judgement. Know it.
- SectionShipping a breaking change anyway7 min"Schema evolution without downtime" is asked by name. This is how.
- ExerciseFourteen months of wrong numbers50 minin the studioFourteen months of wrong numbers. Fix them without a second outage.
- ExerciseThe payload changed overnight45 minin the studioThe payload changed overnight and nobody told you.
- InterviewWhat every event should carry6 minEvery field exists because something downstream is impossible without it.
- QuestionsData Pipeline · Architecture & design15 minDesign prompts, out loud. Requirements before components.
Part 04 · ~2h
When it breaks, and what it costs
You can name the failure modes and put a number on the design.
Nothing to skip — cost and failure are how the level gets decided.
- SectionThe failure modes you must expect7 minName them before you are asked. That is the whole seniority signal.
- SectionSLIs, SLOs & alerts people answer6 minAn alert nobody answers is not monitoring. Say what pages, and why.
- InterviewFail the record or fail the job?6 minA threshold, declared in advance. Not a judgement call at 3am.
- ExerciseIt has to be there by six45 minin the studioThe deadline round. What you drop, and what you never drop.
- SectionCopy-on-Write vs Merge-on-Read6 minDelta and Iceberg are on the posting. This is what gets asked.
- InterviewCopy-on-Write vs Merge-on-Read6 minFast writes or fast reads. Say which side you bought, and where.
- SectionThe job is slow: where to look6 minSkew, shuffle, small files. A method beats a list of configs.
- InterviewWhat compaction is, and when to run it6 minMerge-on-Read is a promise to compact. Say who keeps it.
- ExerciseIt works, and it costs too much45 minin the studioIt works and costs too much. The most senior version.
- QuestionsData Pipeline · Cost & scale15 minEstimate before you build. Bytes per day, then everything else.
03
Start it now
Reading is free and needs no account. The plan itself tracks on your dashboard.
