Skip to content

Latest commit

 

History

History
130 lines (110 loc) · 2.71 KB

File metadata and controls

130 lines (110 loc) · 2.71 KB

Low-Level Design (LLD) Roadmap

This roadmap covers everything you need to study for Low-Level Design Interviews, with a focus on OOP, principles, design patterns, and practice problems.


1. Foundations of LLD

  • Object-Oriented Programming (OOP)
    • Classes & Objects
    • Encapsulation
    • Abstraction
    • Inheritance
    • Polymorphism
  • Interfaces & Abstract Classes
  • Static vs. Dynamic Binding
  • Composition vs. Inheritance
  • Access Modifiers & Visibility

2. Design Principles

  • SOLID Principles
    • Single Responsibility Principle (SRP)
    • Open/Closed Principle (OCP)
    • Liskov Substitution Principle (LSP)
    • Interface Segregation Principle (ISP)
    • Dependency Inversion Principle (DIP)
  • DRY (Don’t Repeat Yourself)
  • KISS (Keep It Simple, Stupid)
  • YAGNI (You Aren’t Gonna Need It)
  • Law of Demeter (Principle of Least Knowledge)

3. UML & Diagrams

  • Class Diagrams
  • Sequence Diagrams
  • Activity Diagrams
  • State Diagrams
  • Use Case Diagrams
  • Component Diagrams
  • Deployment Diagrams

4. Design Patterns

Creational Patterns

  • Singleton
  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype

Structural Patterns

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

Behavioral Patterns

  • Strategy
  • Observer
  • Command
  • Chain of Responsibility
  • Iterator
  • Mediator
  • Memento
  • State
  • Template Method
  • Visitor

5. Concurrency in LLD

  • Threads & Synchronization
  • Locks, Semaphores, Monitors
  • Producer-Consumer Problem
  • Reader-Writer Problem
  • Deadlock & Livelock
  • Thread-safe Data Structures
  • Executors & Thread Pools

6. Common LLD Problems (Practice)

  • Beginner
    • Design a Parking Lot
    • Design a Library Management System
    • Design a Tic-Tac-Toe Game
    • Design a Stack/Queue
  • Intermediate
    • Design a Snake & Ladder Game
    • Design a Splitwise System
    • Design a Vending Machine
    • Design a Movie Ticket Booking System
    • Design a Logger System
  • Advanced
    • Design an Elevator System
    • Design a Chess Game
    • Design an Online Food Delivery System (Zomato/Swiggy)
    • Design a Ride-Sharing System (Uber/Ola)
    • Design a Payment Wallet (Paytm)

7. Testing & Best Practices

  • Unit Testing
  • Test-Driven Development (TDD)
  • Mocking & Stubs
  • Code Reviews & Clean Code
  • Refactoring Techniques

Key Resources

  • Books
    • Head First Design Patterns – Eric Freeman
    • Design Patterns: Elements of Reusable Object-Oriented Software – GoF
    • Clean Code – Robert C. Martin
  • Websites
    • Refactoring Guru (design patterns explained visually)
    • GeeksforGeeks LLD Section
    • Design Gurus (LLD practice problems)
  • Courses
    • Grokking the Object-Oriented Design Interview (Educative)