SOLID Principles
- SOLID Principles in a Real Project
- Single Responsibility Principle
- Single Responsibility: Refactor UserService
- Open/Closed Principle
- Open/Closed: Refactor PaymentProcessor
- Liskov Substitution Principle
- Liskov Substitution: Refactor the Account Hierarchy
- Interface Segregation Principle
- Interface Segregation: Split the OfficeDevice Interface
- Dependency Inversion Principle
- Dependency Inversion: Inject the OrderRepository
Design Patterns
- Singleton Pattern
- Singleton: Make Logger a Single Shared Instance
- Factory Method Pattern
- Factory Method: Centralise Shape Creation
- Builder Pattern
- Builder: Refactor the EmailMessage Constructor
- Adapter Pattern
- Adapter: Wrap LegacyWeatherSdk in a WeatherProvider
- Decorator Pattern
- Decorator: Wrap a Notifier with Logging and Retries
- Composite Pattern
- Composite: Price a Catalog of Nested Product Bundles
- Strategy Pattern
- Strategy: Refactor the Checkout Discount Engine
- Observer Pattern
- Observer: Refactor OrderService Notifications
- Chain of Responsibility Pattern
- Chain of Responsibility: Build a Purchase Approval Chain
Interview Design Problems
- Design a Parking Lot
- Design an Elevator (FCFS)
- Design an In-Memory Pub/Sub System
- Design a Vending Machine
- Design a Bounded Blocking Queue
- Design an LRU Cache
- Design an In-Memory File System
- Design Tic-Tac-Toe
- Design a Cron Job Scheduler (Virtual Clock)
- Design Snakes and Ladders
Design patterns,
drawn before they're coded.
A principles-first course for the low level design (LLD) and machine coding round: object-oriented design (OOD) with the five SOLID rules, the GoF patterns, and the design problems every interviewer reaches for. You sketch the class diagram first, then implement it in Java, Python, or C++ where hidden behaviour tests grade the design, not just the loops.
Package includes: Coding Interview Patterns + Low Level Design Course
Diagram first.
Then prove it in code.
Pattern, in plain English
Every pattern opens with the problem it exists to solve, written like a colleague explaining it rather than a textbook quoting GoF.
Class diagrams that talk
Annotated UML for every pattern and every design problem. Arrows are labelled, stereotypes are explained, and no notation is left dangling.
Hidden behaviour tests
Implement Parking Lot or Pub/Sub in Java, Python, or C++, and a hidden harness grades the behaviour rather than the syntax. You find out fast whether the design holds.
The skills that show up
in every LLD round.
The bar at most product companies for an LLD interview: name the pattern, draw the diagram, write the classes, defend the trade-offs. This course gets you to all four.
Principles, patterns, practice.
Click any chapter to expand.
- 1SOLID Principles in a Real ProjectCEasy
- 2Single Responsibility PrincipleCEasy
- 3Single Responsibility: Refactor UserServicePMedium
- 4Solution: Single Responsibility: Refactor UserServiceSMedium
- 5Open/Closed PrincipleCEasy
- 6Open/Closed: Refactor PaymentProcessorPMediumPremium
- 7Solution: Open/Closed: Refactor PaymentProcessorSMediumPremium
- 8Liskov Substitution PrincipleCEasy
- 9Liskov Substitution: Refactor the Account HierarchyPMediumPremium
- 10Solution: Liskov Substitution: Refactor the Account HierarchySMediumPremium
- 11Interface Segregation PrincipleCEasy
- 12Interface Segregation: Split the OfficeDevice InterfacePMediumPremium
- 13Solution: Interface Segregation: Split the OfficeDevice InterfaceSMediumPremium
- 14Dependency Inversion PrincipleCEasy
- 15Dependency Inversion: Inject the OrderRepositoryPMediumPremium
- 16Solution: Dependency Inversion: Inject the OrderRepositorySMediumPremium
- 1Singleton PatternCEasy
- 2Singleton: Make Logger a Single Shared InstancePEasy
- 3Solution: Singleton: Make Logger a Single Shared InstanceSEasy
- 4Factory Method PatternCEasy
- 5Factory Method: Centralise Shape CreationPEasyPremium
- 6Solution: Factory Method: Centralise Shape CreationSEasyPremium
- 7Builder PatternCEasy
- 8Builder: Refactor the EmailMessage ConstructorPMediumPremium
- 9Solution: Builder: Refactor the EmailMessage ConstructorSMediumPremium
- 10Adapter PatternCEasy
- 11Adapter: Wrap LegacyWeatherSdk in a WeatherProviderPMediumPremium
- 12Solution: Adapter: Wrap LegacyWeatherSdk in a WeatherProviderSMediumPremium
- 13Decorator PatternCEasy
- 14Decorator: Wrap a Notifier with Logging and RetriesPMediumPremium
- 15Solution: Decorator: Wrap a Notifier with Logging and RetriesSMediumPremium
- 16Composite PatternCEasy
- 17Composite: Price a Catalog of Nested Product BundlesPMediumPremium
- 18Solution: Composite: Price a Catalog of Nested Product BundlesSMediumPremium
- 19Strategy PatternCEasy
- 20Strategy: Refactor the Checkout Discount EnginePMediumPremium
- 21Solution: Strategy: Refactor the Checkout Discount EngineSMediumPremium
- 22Observer PatternCEasy
- 23Observer: Refactor OrderService NotificationsPMediumPremium
- 24Solution: Observer: Refactor OrderService NotificationsSMediumPremium
- 25Chain of Responsibility PatternCEasy
- 26Chain of Responsibility: Build a Purchase Approval ChainPMediumPremium
- 27Solution: Chain of Responsibility: Build a Purchase Approval ChainSMediumPremium
- 1Design a Parking LotPMedium
- 2Solution: Design a Parking LotSMedium
- 3Design an Elevator (FCFS)PMediumPremium
- 4Solution: Design an Elevator (FCFS)SMediumPremium
- 5Design an In-Memory Pub/Sub SystemPMediumPremium
- 6Solution: Design an In-Memory Pub/Sub SystemSMediumPremium
- 7Design a Vending MachinePMediumPremium
- 8Solution: Design a Vending MachineSMediumPremium
- 9Design a Bounded Blocking QueuePHardPremium
- 10Solution: Design a Bounded Blocking QueueSHardPremium
- 11Design an LRU CachePMediumPremium
- 12Solution: Design an LRU CacheSMediumPremium
- 13Design an In-Memory File SystemPMediumPremium
- 14Solution: Design an In-Memory File SystemSMediumPremium
- 15Design Tic-Tac-ToePEasyPremium
- 16Solution: Design Tic-Tac-ToeSEasyPremium
- 17Design a Cron Job Scheduler (Virtual Clock)PMediumPremium
- 18Solution: Design a Cron Job Scheduler (Virtual Clock)SMediumPremium
- 19Design Snakes and LaddersPEasyPremium
- 20Solution: Design Snakes and LaddersSEasyPremium
The designs interviewers keep asking.
Each problem comes with a Java, Python, or C++ scaffold and a hidden test harness that grades the behaviour of your design.
Two courses, one unlock.
Coding plus Low Level Design, together.
The pack covers Coding Interview Patterns and the Low Level Design course end to end: every principle, every pattern, and every capstone with its hidden tests.