System Design Road

Low-level design

Design the classes, not just the boxes.

Low-level design rounds ask you to turn a problem into clean, working object-oriented code: the right classes, the right relationships, and patterns where they genuinely help. Start with the ideas, then put them to work on real interview problems.

Code examples are in Java, the most common language for these rounds. The ideas carry over to any object-oriented language.

1Concepts and design patterns

Read these in order. Each one builds on the last.

2Interview problems

Practise each one stage by stage, drawing your own class diagram on a whiteboard, then read the walkthrough to see the whole approach worked through.