Skip to content

What to Expect in a Low-Level Design (LLD) Round

Reviewed

Short answer

An LLD round — also called machine coding or object-oriented design — commonly lasts 45–60 minutes: the interviewer names a system, you clarify requirements, design the classes and interfaces, then write working code. Interviewers typically score entity modeling, clean interfaces, design patterns, edge cases, and whether the code actually runs — not distributed scale. The exact format varies by company and interviewer.

Asked on LeetCode Discuss Practice LRU Cache

Opens interview practice; running tests requires JavaScript.

Prepare with runnable classes and tests

Use the live LRU Cache exercise for the DSA side of cache design. LFU Cache and Rate Limiter are also now available in this library; they are not merely planned. Open the linked exercise, implement the class contract, and run its tests.

Time yourself for 45 minutes per design in the compiler, including a small demo or tests. This guide uses existing practice exercises rather than inventing a company-specific scoring rubric.

What happens during the round?

A useful plan is 5–10 minutes clarifying requirements, 15–20 minutes designing entities, relationships and interfaces, and 20–25 minutes writing working code, with tests and discussion at the end. These are approximate planning ranges, not an additive promise for every 45-minute interview; reserve time for testing and adjust to the interviewer's format.

For a parking lot, ask how many floors, which vehicle types are in scope, and how payment works before coding. Model entities and relationships first, define interfaces next, and then choose a pattern. A clear small system is better than promising 67 features and finishing none.

What do interviewers look for?

Use a design pattern where it fits: Strategy for pricing or spot allocation, State for elevator behavior, or Observer for notifications. One pattern used well is stronger than forcing several into a simple model.

Consider concurrency where it matters: two cars racing for the last spot must not both reserve it. Discuss a full lot, a lost ticket, duplicate requests, and adding a new vehicle type without rewriting existing classes. Prefer composition when inheritance would couple unrelated responsibilities.

Does the code need to run?

In many machine-coding rounds, yes: expect working classes plus a runnable demo or tests. Some interviews are design-only, so clarify expectations rather than assuming every company uses one format. Runnable code with a demo is a stronger signal when implementation is in scope.

The related Amazon SDE-2 discussion asks about loop expectations too; it is linked below as a community question, not an official company policy. No guide can guarantee the exact format of an upcoming interview.

What should I practice, especially at senior level?

Common practice prompts include a parking lot, elevator system, LRU/LFU cache, rate limiter, chess or tic-tac-toe, ATM, library management, and a URL shortener at the class level. These are preparation examples, not a verified frequency ranking.

Senior follow-ups often test concurrency and extensibility: a multi-threaded parking lot, or a vehicle type added without editing existing classes. Do not confuse a class-design round with a distributed systems design round. Avoid starting before clarifying, omitting tests, overusing inheritance, or spending all the time on distributed scale instead of the required interfaces.

Sources and related discussion

Related practice and reading