Low-Level Design12h estimated

LLD Interview Problems

Difficulty
Importance

The problem

Knowing SOLID and design patterns individually doesn't automatically mean you can design a coherent class structure for an open-ended, ambiguous prompt under time pressure — that requires practiced synthesis, deciding which principles and patterns actually apply to a specific set of requirements instead of forcing all of them in.

Why now

This is the domain's capstone: every prior topic — OOP basics, inheritance, SOLID, all three pattern categories, and diagramming — is a tool, and this topic is where those tools get applied together against realistic, open-ended problems, which is the only way to find out whether they were actually understood or just memorized individually.

Mental model

An LLD problem is graded on process, not a single correct answer: clarify requirements and scope first, identify the core entities and their relationships, apply SOLID to keep responsibilities clean, reach for a specific design pattern only when it solves a real requirement in front of you (not to show it off), and be ready to extend the design when the interviewer adds a new requirement mid-conversation.

Requires

Used in

Projects

  • Design a parking lot system from scratch: entities, relationships, SOLID-compliant class structure, and at least one design pattern applied where it genuinely fits — then extend it to support multiple vehicle types and dynamic pricing
  • Design an elevator control system handling multiple elevators and requests, explicitly using the State pattern for elevator state and Strategy for the dispatch algorithm

Examples

  • A parking lot design naturally uses Strategy for pricing (hourly vs. daily) and Factory for creating the right ParkingSpot subtype for a given vehicle
  • An elevator system's State pattern (Idle, Moving, DoorsOpen) makes adding a new state (Maintenance) an Open/Closed-compliant addition instead of a rewrite of a giant conditional

Resources

Mastery checklist