All problems
Foundational·🚗 Transportation·Amazon · Google · Microsoft

Design
Parking Lot System

Design a parking lot system that manages vehicle entry/exit, tracks slot availability across multiple floors, and supports different vehicle sizes.

This is a Low-Level Design (LLD) problem. New to LLD vs HLD? Start here.

#OOP#Design Patterns
7F + 4NF requirements inside

01 -  Why interviewers ask this

It's the canonical "warm-up" LLD question — small enough to finish in 30-45 minutes, but rich enough to test whether you reach for interfaces and the Strategy pattern instead of hardcoding vehicle types. Interviewers commonly extend it mid-round with a follow-up like "now add EV charging spots" or "now support a fourth floor reserved for VIP members" specifically to see whether your original class design survives a new requirement without a rewrite.

02 -  Where this system exists in the real world

You interact with this design every day.

Airport and mall multi-level parking management systems

Automated valet parking used by dealerships and hotels

Smart city curbside parking meters with dynamic pricing

EV-charging-enabled parking garages that reserve and price charging-capable spots separately from standard ones

03 -  What you'll master

Solve this once. Know it forever.

01

Model a shared, contended resource (slots) safely

02

Use Strategy for pluggable fee-calculation rules

03

Practice entity design before jumping to code

04

Extend the design for a new spot type (EV charging, reserved/VIP) without touching existing `ParkingSpot` or `ParkingLot` logic — the Open/Closed Principle in practice

04 -  What you'll design

7 functional · 4 non-functional requirements.

Support multiple floors and parking slots per floor

6 more requirements inside

Sign in to unlock the full brief and start designing

05 -  Companies that ask this

You may face this exact question in your next interview.

A
Amazon
G
Google
M
Microsoft

Ready?

Open the canvas.
Design it yourself.

See all requirements, use staged hints, run your code, and compare with community discussions - all on the same canvas.