Design practice

Low-Level Design Practice

Turn a short problem statement into clean classes, relationships, patterns and code: parking lots, elevators, booking systems, chat and more.

16 lessons2 h 45 minIntermediate

0/16

What you'll learn

0 of 16 lessons complete

  1. Movie ticket booking11 minQuizExercise
  2. ATM machine10 minQuizExercise
  3. Elevator system11 minQuizExercise
  4. Cab booking11 minQuizExercise
  5. Food delivery11 minQuizExercise
  1. Splitwise (expense sharing)11 minQuizExercise
  2. Shopping cart10 minQuizExercise
  3. Chess game11 minQuizExercise
  4. Snake game9 minQuizExercise
  5. Chat application10 minQuizExercise
  6. Social feed (Instagram-style)10 minQuizExercise
  7. Video catalogue (Netflix-style)10 minQuizExercise

Who this is for and what you will be able to do

Who this is for

Developers preparing for object-oriented design interviews, and anyone who wants to practise turning requirements into well-structured code.

After this course you will be able to

  • Follow a repeatable method from requirements to classes, patterns and code
  • Model entities, relationships and state clearly, and know where each rule belongs
  • Choose the right pattern (state, strategy, observer, factory) for the job, and skip it when it is not needed
  • Handle concurrency and edge cases in booking, allocation and game-style systems
  • Explain trade-offs and extensions in an interview

How a lesson works

  • Interactive diagram

    See how each component connects, then run a request through it.

  • Plain-words toggle

    Switch between the technical explanation and a plain-language one.

  • Practice design

    Change a design of your own in the builder and see how it holds up.

  • Quiz and exercise

    Test your understanding before moving on.

Go deeper

These lessons are written from scratch. The books below are excellent next reads.

  • Head First Design Patternsby Freeman and Robsona gentle, example-led introduction to the patterns used here
  • Design Patterns: Elements of Reusable Object-Oriented Softwareby Gamma, Helm, Johnson and Vlissidesthe original catalogue
  • Refactoring Guru: design patternsby Refactoring Gurufree explanations with examples