Build each design against hidden tests, then extend it when product changes the requirements. Ready for a full round? Take a free LLD mock interview.
Low level design (LLD) interviews test how you design software at the implementation level: object-oriented modelling, SOLID principles, design patterns, and code that stays clean when the requirements change. Problems are graded by level - SDE1 (entry), SDE2 (mid), SDE3 (senior) and SENIOR+ (staff) - so you can practise at the level you are interviewing for.
Each problem works like a real machine coding round. You build the system behind a fixed class contract and hidden tests check its behaviour; then three change requests arrive from product, one at a time, and each is scored on how little of your existing code it needed. Solve in Java, Python, JavaScript or C++. When you are ready to sit a full timed round with an interviewer, take a free LLD mock interview.
Start at the level you are interviewing for. SDE-1 problems test clean modelling; SDE-2 problems add state, concurrency and harder extensions.
The design patterns guide covers all three families - creational (Singleton, Factory, Builder), structural (Adapter, Decorator, Facade) and behavioural (Observer, Strategy, State) - with code and interview use cases.
Most Indian product companies test these problems as a machine coding round: 60 to 90 minutes to build working, extensible code, then defend the design while a new requirement is added. Read what a machine coding round is and how it is scored.
LLD asks how one service is structured inside; high level design asks how many services hold together under load. Most loops run both as separate rounds. These system design questions pair naturally with the LLD problems above:
Not sure which round is which? Read HLD vs LLD: the difference, with examples, or browse the system design interview questions.
Parking lot, elevator, vending machine, snake and ladder, BookMyShow, Splitwise, a cab booking system and a library management system come up most often. Each tests a different idea: parking lot and elevator test state and allocation strategies, BookMyShow tests concurrency on shared seats, Splitwise tests modelling money and balances.
A low level design round asks you to design the classes behind one system: the entities, their responsibilities, the interfaces between them and the design patterns that hold it together. You are usually asked to write working code for the core, then to extend it when the interviewer adds a requirement - which is what separates a design that was understood from one that was memorised.
The object-oriented language you write most fluently. Java is the most common choice in Indian interviews, and Python, C++ and JavaScript are all accepted. Interviewers grade the class design, not the syntax, but they expect idiomatic code. Every problem here can be solved in Java, Python, JavaScript or C++.
LLD is the inside of one service - classes, interfaces, patterns and code. HLD (system design) is how many services hold together under load - databases, caches, queues and scaling. Most loops run them as separate rounds, and SDE-2 candidates are usually asked both.
Closely related. A machine coding round is an LLD problem where working code is the deliverable: 60 to 90 minutes to build an extensible solution that runs, usually followed by a new requirement to add. Flipkart, Swiggy and many other Indian product companies run it as a dedicated round.