System designFrom classes to systems,explained.

71 lessons · 10 chapters
Start the course

Why learn low-level design?

LLD interviews ask you to design a parking lot or an elevator in 45 minutes. The systems change, but the moves repeat.

This course teaches you to turn requirements into classes: what each class owns, how they talk, and which pattern fits.

Every idea starts with code that breaks when the requirements change, then fixes it, with a moving picture of the objects at work. Code in Java, Python and TypeScript.

The roadmap

71 lessons in 10 chapters. Three parts, in the order of the takeUforward LLD sheet. Foundations, then design patterns, then real systems and interview problems. High-level design comes later. The first 9 are ready to read. The rest are on the way.

  1. Part 1Foundations9 lessons · 3 h
  2. Part 2Design patterns23 lessons · 7 h
  3. Part 3LLD in practice39 lessons · 16 h
Part 1

Foundations

Objects, design principles, class diagrams and SOLID: the rules every design builds on.

2 chapters ·9 lessons ·about 3 hours

Part 2

Design patterns

Creational, structural and behavioural patterns, each with the problem it solves and when to skip it.

3 chapters ·23 lessons ·about 7 hours

03

Creational patterns

6 lessons
  1. 10What design patterns are, and are notsoon15 min
  2. 11Singletonsoon20 min
  3. 12Factory methodsoon20 min
  4. 13Buildersoon20 min
  5. 14Abstract factorysoon20 min
  6. 15Prototypesoon15 min
04

Structural patterns

7 lessons
  1. 16Adaptersoon20 min
  2. 17Decoratorsoon20 min
  3. 18Facadesoon15 min
  4. 19Compositesoon20 min
  5. 20Proxysoon20 min
  6. 21Bridgesoon20 min
  7. 22Flyweightsoon15 min
05

Behavioural patterns

10 lessons
  1. 23Iteratorsoon15 min
  2. 24Observersoon20 min
  3. 25Strategysoon20 min
  4. 26Commandsoon20 min
  5. 27Template methodsoon15 min
  6. 28Statesoon20 min
  7. 29Chain of responsibilitysoon20 min
  8. 30Visitorsoon20 min
  9. 31Mediatorsoon15 min
  10. 32Mementosoon15 min
Part 3

LLD in practice

Concurrency, real-system practices, and 12 classic interview problems, each designed and then coded.

5 chapters ·39 lessons ·about 16 hours

06

Multithreading and concurrency

7 lessons
  1. 33Threads and concurrencysoon20 min
  2. 34Creating and managing threadssoon20 min
  3. 35Thread pools and executorssoon20 min
  4. 36Thread safety and race conditionssoon25 min
  5. 37Locks and other sync toolssoon25 min
  6. 38Deadlock and how to prevent itsoon20 min
  7. 39The producer-consumer problemsoon25 min
07

Building real systems

6 lessons
  1. 40Dependency injectionsoon20 min
  2. 41Exceptions and error handlingsoon20 min
  3. 42Building resilient systemssoon25 min
  4. 43Designing APIssoon20 min
  5. 44Database design for LLDsoon25 min
  6. 45How to approach an LLD interviewsoon25 min
08

Interview problems, part 1

10 lessons
  1. 46Parking lot: designsoon30 min
  2. 47Parking lot: codesoon30 min
  3. 48Logging framework: designsoon25 min
  4. 49Logging framework: codesoon25 min
  5. 50Traffic signal system: designsoon25 min
  6. 51Traffic signal system: codesoon25 min
  7. 52Vending machine: designsoon25 min
  8. 53Vending machine: codesoon25 min
  9. 54Task management system: designsoon25 min
  10. 55Task management system: codesoon25 min
09

Interview problems, part 2

6 lessons
  1. 56Pub-sub system: designsoon25 min
  2. 57Pub-sub system: codesoon25 min
  3. 58ATM: designsoon25 min
  4. 59ATM: codesoon25 min
  5. 60Hotel management system: designsoon25 min
  6. 61Hotel management system: codesoon30 min
10

Interview problems, part 3

10 lessons
  1. 62Elevator system: designsoon25 min
  2. 63Elevator system: codesoon30 min
  3. 64Digital wallet: designsoon25 min
  4. 65Optimistic and pessimistic lockingsoon20 min
  5. 66Digital wallet: codesoon30 min
  6. 67Ride booking app: designsoon25 min
  7. 68Ride booking app: codesoon30 min
  8. 69Music streaming platform: designsoon25 min
  9. 70Streaming protocolssoon20 min
  10. 71Music streaming platform: codesoon30 min

0/71 read. Progress stays in this browser.