Interview guide

LLD vs HLD: What Interviews Test

Prep resources often put system design and low-level design together, but the two rounds test different skills. This guide shows the difference and what each round expects.

Last updated: August 2026

People use the name "system design interview" for two different rounds that test different things. High-level design (HLD) is about services, data stores, and scale. Low-level design (LLD) is one level lower: the classes, interfaces, and object interactions that make a single component correct.

High-level design (HLD)Low-level design (LLD)
Typical prompt"Design a URL shortener""Design a rate limiter"
OutputBoxes and arrows: services, stores, queuesClasses, interfaces, object interactions
EvaluatesSystem-level tradeoffs: consistency, partitioning, caching, degradation under loadWhether the class model stays correct as the constraints increase
Breaks a candidateIgnoring failure modes and partial-failure behaviorAn interface that needs a rewrite when the interviewer adds a constraint

High-level design (HLD)

Typical prompts are "Design a URL shortener," "design a payments ledger," and "design a notification system." You draw boxes and arrows: load balancers, databases, caches, queues. The evaluation is about tradeoffs at the system level:

  • Consistency vs. availability under partition
  • Partitioning and replication strategy
  • Where you add caching, and its invalidation cost
  • How the system degrades under load or partial failure

Low-level design (LLD)

Typical prompts are "Design a rate limiter," "design a parking lot," and "design an in-memory LRU cache." There are no boxes and arrows. You write classes and interfaces. The interviewer adds constraints to see if your design bends or breaks:

  • Does your class model stay correct as the requirements increase?
  • Can you extend your interfaces without a rewrite?
  • Do you handle concurrency at the object level, not only at the system level?
  • Can you justify each design choice, not only state it?

Why candidates confuse the two rounds

Most system design prep resources cover only HLD, because HLD is more visual and easier to put into a template. These resources treat LLD as a subset of HLD. But LLD is a different skill: it means that your design stays correct as constraints increase. It does not mean a larger architecture diagram. Senior and staff loops increasingly test both rounds separately. HLD shows if you can reason about a system. LLD shows if you can build one correctly.

How LLD rounds typically escalate

  1. Stage 1: get a working, correct solution to the base problem
  2. Stage 2: add a constraint, for example concurrent access or a new requirement
  3. Stage 3: the senior filter. The interviewer pushes until the naive fix breaks, and watches if you redesign instead of patch

Candidates who have difficulty usually have a working Stage 1 answer. But in Stage 2 and 3 they add patches. They do not see when the design itself must change.

Practice staged LLD problems

Senior Loop's Build It problems use the same stages as real interviews. You start with a correct baseline. Then you move through tighter constraints to the senior-level version. A conservation invariant proves correctness, not an eye-test. The first problem is free, with no card required.

Practice scaffolded HLD problems

Senior Loop's Design It problems divide HLD into the 7 parts that an interview scores: requirements, APIs & data model, architecture, core mechanism, extended features, security, and scalability tradeoffs. A rubric grades each part. Both problems are free, with no card required.

Part of the Senior Backend Engineer Interview Prep guide.