Start here: the low-level design round
"Design a parking lot." It sounds simple, and that's the trap: everyone can list classes, but few answers handle change, concurrency and working code in 45 minutes. This page explains the round, what you need, and how to use this track.
1. What the round is
You get a prompt for a small system (a cache, a parking lot, an elevator, a booking system) and about 45 minutes. You clarify requirements, design the classes and interfaces, and usually write the core in a language of your choice. Some companies call it object-oriented design or a machine-coding round; the longer machine-coding variants expect complete, runnable code in 60–90 minutes.
2. How this track teaches
- Eleven foundation modules: the interview plan, OOP, SOLID with a deep dive on each principle, patterns, diagrams and concurrency, each with an animation, a hands-on tool and tested code.
- Fifteen problems, from warm-ups (LRU cache) to bigger designs (movie booking, pub-sub), all with the same ten sections.
- Code in three languages behind tabs: Python, TypeScript and Java. Your choice is remembered across pages.
- Every program is compiled and run before publishing, and its output is shown under the code. All three languages print exactly the same lines.
3. What you need
- Comfort in one of Python, TypeScript or Java: classes, interfaces, enums, maps and lists.
- Paper or a whiteboard app for diagrams, and a timer.
- An editor where you can run code; type the solutions yourself, don't paste them.
4. Five rules from day one
- Requirements before classes. Five minutes of questions saves twenty minutes of rewriting.
- One job per class. If you can't say a class's job in one sentence, split it.
- Interfaces where things vary, and nowhere else.
- Find the check-then-act and say how it's protected.
- Code the core for real. Hand-wave getters, not the algorithm.
5. The daily routine (45 minutes)
| Day | Activity |
|---|---|
| Monday | Read the prompt and requirements only. Design it yourself for 30 minutes on paper. |
| Tuesday | Read the page's classes, flow and patterns. Note what you missed. |
| Wednesday | Code the core from memory in your language; compare outputs with the page. |
| Thursday | Answer every follow-up out loud; do the Your turn exercise. |
| Friday | Ten minutes of the review deck, then redo Monday's design in 20 minutes. |
6. Self-check quiz
What's the main difference between low-level and system design rounds?
What should you do in the first five minutes?
7. Glossary
Every dotted word in this track, in one place.