All chapters in this track
- 01Chapter 1: What HLD and LLD Are, and How They Differ
- 02Chapter 2: Gathering and Clarifying Requirements Before Designing Anything
- 03Chapter 3: HLD Deliverables: Architecture, Components, Technology Choices, Data Flow
- 04Chapter 4: LLD Deliverables: Class Diagrams and Sequence Diagrams
- 05Chapter 5: LLD Deliverables: Database Schema and API Contracts
- 06Chapter 6: Documenting Decisions: ADRs and Communicating Trade-offs to Stakeholders
- 07Chapter 7: Moving Cleanly from HLD to LLD Without Losing Intent
- 08Chapter 8: Common Mistakes: Over-Designing, Under-Specifying, and Skipping Non-Functional Requirements
- 09Chapter 9: When LLD Contradicts Its Own HLD
- 10Chapter 10: HLD and LLD in Design Reviews: What Reviewers Actually Look For
- 11Chapter 11: Worked Example: Ride-Sharing Dispatch — Requirements Through HLD to LLD
- 12Chapter 12: Worked Example: Hotel Booking — Requirements Through HLD to LLD
- 13Chapter 13: Worked Example: Food Delivery — Requirements Through HLD to LLD
- 14Chapter 14: How HLD and LLD Show Up in Interviews and Design Reviews
- 15Chapter 15: Common Interview Questions About HLD and LLD
Chapter 15 of 15
Chapter 15: Common Interview Questions About HLD and LLD
Why this matters
This closing chapter consolidates the recurring, specific questions about HLD and LLD as concepts (distinct from a full worked design exercise, covered in Chapters 11-13) into model answers, using the same layered structure this book series has applied throughout for interview preparation.
Model answer: "What's the difference between HLD and LLD?"
Layer 1 — the core distinction: "HLD covers the major components of a system and how they interact — architecture, service boundaries, technology choices. LLD covers the specific implementation details within a component — class structures, database schemas, API contracts."
Layer 2 — why the distinction matters practically: "They require different reviewer audiences and carry different costs of being wrong — an HLD decision affects every team that interacts with the system and is expensive to reverse once built upon; an LLD decision is comparatively local and cheap to change."
Layer 3 — the realistic relationship: "HLD generally comes first since it shapes LLD's context, but the relationship isn't strictly one-directional — LLD work can reveal a genuine gap in the HLD that legitimately warrants revisiting it, which is a normal, healthy part of the process, not a sign the original design failed."
Model answer: "Walk me through how you'd move from a stated requirement to a detailed design."
Strong answer, narrated: "First, I'd clarify both functional and non-functional requirements, since non-functional requirements specifically (scale, availability, consistency) are what actually shape HLD decisions. Then I'd produce the HLD: an architecture diagram, explicit component responsibilities, technology choices with reasoning, data flow for the key operations, and capacity estimates. Once that's reviewed and reasonably settled, I'd move to LLD for each component — class and sequence diagrams for the genuinely complex, multi-step interactions, and precise database schemas and API contracts, since those specifically get consumed by parties outside the immediate design conversation and need the highest precision. Throughout, I'd explicitly trace LLD decisions back to the HLD constraints they're serving, to catch drift or outright contradictions before implementation."
Model answer: "How do you decide how much design documentation a given piece of work actually needs?"
Strong answer, narrated: "I'd calibrate to the decision's actual stakes and reversibility — a small, easily-reversible, single-team-contained change needs minimal formal HLD/LLD documentation, maybe just a few sentences in a ticket; a major, hard-to-reverse architectural decision, or anything a lot of other teams will depend on, warrants a full HLD with all four deliverables, a formal cross-team review, and likely an ADR. I'd apply the same calibration within LLD too — a sequence diagram only for genuinely complex, multi-component, ordering-critical operations, not for every single method. The goal is matching documentation effort to actual risk, not applying uniform rigor everywhere regardless of stakes."
The interview's real evaluation target: process, not just the artifact
[SENIOR INSIGHT] Directly echoing this entire book series' recurring interview-chapter theme (the OOP book's Chapter 18, the System Design book's Chapter 13): an HLD/LLD interview question, whether abstract ("what's the difference between HLD and LLD") or a full worked exercise (Chapters 11-13), is evaluating the reasoning process at least as much as the final artifact — a candidate who narrates why a design decision belongs at one level versus another, why a specific diagram type is or isn't warranted for a specific operation, and why documentation rigor should scale with stakes, demonstrates genuine understanding in a way that a technically correct but silently-produced diagram cannot.
Common mistakes
- Answering "what's the difference between HLD and LLD" with only the definitional distinction, missing the practical "why it matters" (different reviewer audiences, different reversal costs) that demonstrates deeper understanding.
- Describing the HLD-to-LLD process as strictly linear and one-directional, missing the realistic, healthy iteration where LLD work can legitimately require revisiting HLD.
- Giving a generic "always produce thorough documentation" answer to the calibration question, missing the actual skill being tested: matching documentation rigor to a decision's specific stakes and reversibility.
- Producing a correct diagram or answer silently, without narrating the reasoning behind it, missing that the reasoning process itself is a significant part of what's being evaluated.
Discussion / interview questions
(This closing chapter's own questions ask you to apply the reasoning to new prompts.)
-
"Using the layered problem→mechanism→cost→connection structure from this book series, explain why LLD documents need higher precision for database schemas and API contracts than for internal class diagrams." Strong answer: Problem (ambiguity needs resolving somehow) → mechanism (schemas/contracts are consumed by parties outside the close conversational loop, who can't resolve ambiguity through quick informal clarification the way an internal team can) → cost (an imprecise contract pushes discovery cost onto every external consumer) → connection (this is why Chapter 5 treats these two deliverables as warranting the highest precision bar in LLD).
-
"Tell me about a time an HLD decision had to be revisited after LLD or implementation work began." Strong answer: Describes a specific, real situation, distinguishes whether it was a genuine HLD flaw (revealed by new information) versus an implementation convenience that should have instead conformed to the original HLD, and names the concrete resolution and documentation update that followed — not a vague, generic account.
-
"How would you convince a teammate who wants to skip HLD entirely and jump straight to writing code that this is a mistake for a non-trivial system?" Strong answer: Names the specific cost — implementation churn from a structural decision discovered wrong only after significant code exists — and connects it to the calibration principle: for a genuinely small, low-risk change, skipping formal HLD might be entirely reasonable, but for anything non-trivial, the cost of an undiscovered flaw scales with how much has already been built on top of it.
-
"What would you look for as a reviewer if handed both an HLD and an LLD document for the same system?" Strong answer: Checks HLD-level soundness (non-functional requirement satisfaction, component responsibility separation, justified technology choices, failure-mode consideration) and LLD-level correctness and completeness (schema constraints, contract completeness, sequence diagrams where warranted) separately, AND explicitly cross-checks the LLD against the HLD's specific stated constraints for contradictions (Chapter 9) — not treating the two documents as independent artifacts to review in isolation from each other.
Chapter summary / cheat sheet
- HLD vs. LLD (model answer): definitional distinction → why it matters practically (audience, reversal cost) → the realistic, iterative relationship (not strictly one-directional).
- Requirement to detailed design (model answer): clarify requirements → produce HLD (all four deliverables) → produce LLD per component (diagrams, schema, contracts) → explicitly trace LLD back to HLD to catch drift/contradiction.
- Documentation calibration (model answer): match rigor to actual stakes and reversibility, at both the HLD and LLD level — not uniform rigor applied regardless of context.
- Across every HLD/LLD interview question, the reasoning process is being evaluated as much as the final artifact — narrate the "why" behind every decision, not just the decision itself.
End of Book
"From Whiteboard to Blueprint: High-Level and Low-Level Design" — 15 chapters, complete.
Next book in the suggested reading order: Reliability and Scaling.