Free preview

Why this matters: everything you do in the first thirty minutes of an LLD round — the requirements, the model, the code — is setup. The round's real question arrives late, disguised as an afterthought: "one more thing just changed." Candidates who treat the twist as an interruption lose the round in its final act; candidates who recognize it as the main event walk out with their strongest signal.

The twist is the test

Around two-thirds of the way through a well-run LLD interview, the interviewer changes something. A new requirement lands in a machine-coding round. A hostile workload arrives in a systems round. It is delivered casually, but nothing about it is casual: interviewers choose the twist in advance, and good ones choose it against your specific design — aimed at whatever your model handles worst.

That sounds unfair until you see what it measures. Any prepared candidate can produce a reasonable parking lot or a working queue. What separates designs is not how they look when finished but how they behave when the ground moves — and the only way to observe that in 45 minutes is to move the ground.

The two flavors probe for two different properties:

Machine coding probes for change-surface locality. When the requirement changes, how much of your design has to know about it? A good structure absorbs the change in one place — one new strategy, one new field, one class that grows a capability — while everything else provably stays untouched. A poor structure ripples: the new requirement shows up as edits in every switch statement, every constructor, every file. The probe makes the ripple visible, live, with you narrating it.

Systems programming probes for invariant survival. Your structure maintains properties that must always hold — indices in range, memory never handed out twice, a list that is always walkable. The probe introduces a scenario (more threads, a hostile call pattern, exhaustion) and asks which property gives out first. The graded skill is naming the invariant, tracing the exact sequence that violates it, and pricing the repair — not vaguely gesturing at "race conditions."

The four-step answer

A strong response to any extension probe has the same shape, in both flavors. It takes about ninety seconds and it is worth rehearsing until it is reflex.

1. Restate the new requirement in your own words. One sentence. This buys thinking time honestly and catches misunderstandings before they cost you ten minutes.

2. Locate where it lands in your model. Not in the abstract — point at your page. "This is a change to how spots are chosen, and spot choice lives in one place in my design: the assignment policy."

3. Narrate what changes — and what provably doesn't. The second half is the part weak candidates skip. Saying "the ledger, the ticket flow, and the pricing table don't change, because none of them ever knew about this concern" is the sound of a design earning its keep.

4. Volunteer the cost. Every change costs something: a migration, a new lookup, a slower path, a fairness trade. Naming the cost before the interviewer asks converts a defensive moment into a senior one.

A worked example

Here is the shape in action, on a problem deliberately not in this course. Suppose you have designed a notification sender: requests come in, a Dispatcher picks a channel (email, SMS, push) via a per-user preference lookup, and channel adapters do the sending. The interviewer leans back: "Product wants quiet hours — users can say 'never notify me between 10pm and 7am,' except for security alerts, which always go through."

A poor answer starts typing immediately: an if inside the SMS adapter checking the clock, then another in email, then a growing awareness that push needs it too, then a special case for security alerts inside each of the three. The requirement has landed everywhere. Worse, the candidate defends it — "this works" — which is true and beside the point. The interviewer didn't ask whether it could be made to work; they asked the design to reveal its shape, and it did.

A strong answer sounds like this: "Let me restate — delivery is now conditional on user-local time and message class, with security overriding. That's a delivery policy decision, and right now my design makes delivery decisions in exactly one place: the Dispatcher, before any adapter is chosen. So I'd introduce a policy step there — it consults quiet hours and message class, and either proceeds, drops, or defers. The three adapters don't change at all; they never learn quiet hours exist. What I now owe you is a decision about deferred messages — do they queue until 7am or drop? — and a time-zone source, which is a new dependency and a real cost. If we defer, I need a scheduled flush, which is the biggest piece of new machinery."

Same problem, same twist, forty seconds apart in quality. Notice the strong answer never claimed the design was perfect — it evolved the design out loud and priced the evolution. That is the entire skill.

You cannot pre-study your way past it

One thing should be said plainly, because this course pairs with live mock interviews on the same problems: the twist you meet in a mock will be something this course has not shown you — by design. Each problem chapter here works the core design, the implementation, and the surrounding trade-off space, but the specific probe the interviewer springs is deliberately held back. If the course revealed it, the mock would measure your memory. Held back, it measures the thing interviews actually grade: whether your design, in your hands, bends or breaks when the ground moves. The four-step answer above works precisely because it does not depend on having seen the twist coming.

Key takeaway

The extension probe is the LLD round's real exam: machine coding grades change-surface locality (does the new requirement land in one place?), systems grades invariant survival (which property breaks, exactly how, and what does the fix cost?). Answer in four steps — restate, locate it in your model, narrate what changes and what provably doesn't, volunteer the cost — and treat the twist as the moment to evolve your design out loud, never to defend it.

Enjoying the preview?

Create a free account to unlock the rest of this course, the in-browser judge, and live AI mock interviews.

Sign up free to continue