HOME / CATALOG / LOW LEVEL SYSTEM DESIGN
01
ROADMAP / ADVANCED

Low Level System Design

43 TOPICS · 35 HOURS · ADVANCED · SCALE 1:4
START CANVAS

Master the principles and patterns of low-level system design — from OOP fundamentals and SOLID principles to design patterns, schema design, and building real-world components. This roadmap prepares you for LLD interviews and everyday software architecture decisions.


§ SYLLABUS

§ SECTION 01 · OBJECT-ORIENTED FUNDAMENTALS
  1. 01
    Classes, Objects & Encapsulation

    Understand how to model real-world entities as classes, instantiate objects, and hide internal state behind well-defined interfaces.

  2. 02
    Inheritance & Polymorphism

    Learn how subclassing and method overriding let you share behavior across types and write code that works against abstractions rather than concrete classes.

  3. 03
    Abstract Classes & Interfaces

    Understand contracts — when to use an interface to define capability versus an abstract class to share partial implementation.

  4. 04
    Composition vs Inheritance

    Learn why favoring object composition over class inheritance leads to more flexible, testable designs.

  5. 05
    OOP Foundations Complete

    You can model domains with classes, interfaces, and composition confidently.

§ SECTION 02 · DESIGN PRINCIPLES
  1. 01
    Single Responsibility Principle

    Each class should have exactly one reason to change — learn to identify and separate concerns.

  2. 02
    Open/Closed Principle

    Design modules that are open for extension but closed for modification, using abstraction and polymorphism.

  3. 03
    Liskov Substitution Principle

    Subtypes must be substitutable for their base types without breaking correctness — learn to spot violations.

  4. 04
    Interface Segregation Principle

    Prefer many small, focused interfaces over one large general-purpose interface to reduce coupling.

  5. 05
    Dependency Inversion Principle

    High-level modules should depend on abstractions, not concrete implementations — the foundation of dependency injection.

  6. 06
    DRY, KISS & YAGNI

    Complementary principles that guard against duplication, over-engineering, and premature generalization.

  7. 07
    Law of Demeter

    Limit an object's knowledge to its immediate collaborators to reduce coupling between distant parts of the system.

  8. 08
    Design Principles Mastered

    You can evaluate and refactor code against SOLID and related principles.

§ SECTION 03 · CREATIONAL DESIGN PATTERNS
  1. 01
    Factory Method & Abstract Factory

    Delegate object creation to subclasses or factory objects so the client code stays decoupled from concrete types.

  2. 02
    Singleton Pattern

    Ensure a class has only one instance with a global access point — and understand when this pattern is a code smell.

  3. 03
    Builder Pattern

    Construct complex objects step-by-step, separating construction logic from representation.

  4. 04
    Prototype Pattern

    Create new objects by cloning existing ones, useful when construction is expensive or configuration-heavy.

§ SECTION 04 · STRUCTURAL DESIGN PATTERNS
  1. 01
    Adapter Pattern

    Convert the interface of a class into one the client expects, enabling incompatible classes to work together.

  2. 02
    Decorator Pattern

    Attach additional behavior to objects dynamically without modifying their class — a flexible alternative to subclassing.

  3. 03
    Facade Pattern

    Provide a simplified interface to a complex subsystem, reducing the learning curve and coupling for client code.

  4. 04
    Composite Pattern

    Compose objects into tree structures and treat individual objects and groups uniformly.

§ SECTION 05 · BEHAVIORAL DESIGN PATTERNS
  1. 01
    Strategy Pattern

    Define a family of interchangeable algorithms and let the client choose one at runtime without conditional logic.

  2. 02
    Observer Pattern

    Establish a one-to-many dependency so that when one object changes state, all dependents are notified automatically.

  3. 03
    State Pattern

    Let an object alter its behavior when its internal state changes, appearing to change its class.

  4. 04
    Command Pattern

    Encapsulate a request as an object, enabling undo/redo, queuing, and logging of operations.

  5. 05
    Chain of Responsibility

    Pass a request along a chain of handlers, where each handler decides to process or forward it.

  6. 06
    Iterator Pattern

    Provide a way to access elements of a collection sequentially without exposing its underlying representation.

  7. 07
    Design Patterns Toolkit Complete

    You can recognize, apply, and combine the most important Gang of Four patterns.

§ SECTION 06 · DATA MODELING & SCHEMA DESIGN
  1. 01
    UML Class Diagrams

    Read and draw class diagrams to communicate designs visually — associations, aggregation, composition, and inheritance arrows.

  2. 02
    API & Interface Contract Design

    Design clean method signatures, define clear contracts, and version your interfaces for backward compatibility.

  3. 03
    Database Schema Design for LLD

    Translate class models into relational schemas — normalization, foreign keys, indexes, and mapping inheritance to tables.

  4. 04
    Enums, Constants & Type Safety

    Use enums and type-safe constructs to eliminate magic strings and invalid states from your design.

§ SECTION 07 · CONCURRENCY & THREADING BASICS
  1. 01
    Thread Safety & Synchronization

    Understand race conditions, mutexes, locks, and synchronized blocks to protect shared mutable state.

  2. 02
    Producer-Consumer & Blocking Queues

    Coordinate work between threads using bounded buffers and blocking queues — a fundamental concurrency pattern.

  3. 03
    Read-Write Locks & Concurrent Collections

    Allow multiple readers or a single writer to access shared data efficiently using specialized locks and thread-safe data structures.

  4. 04
    Concurrency Basics Complete

    You can design thread-safe classes and reason about concurrent access patterns.

§ SECTION 08 · REAL-WORLD CASE STUDIES
  1. 01
    Design a Parking Lot

    Model vehicles, spots, floors, and ticketing — a classic LLD exercise covering OOP, enums, and strategy selection.

  2. 02
    Design an Elevator System

    Handle scheduling, state machines, and concurrent requests in a multi-elevator building.

  3. 03
    Design an LRU Cache

    Combine a hash map and doubly-linked list to build a constant-time eviction cache — tests data structure choice and API design.

  4. 04
    Design Snake & Ladders / Tic-Tac-Toe

    Model game state, turns, validation, and win conditions — exercises the state and strategy patterns.

  5. 05
    Design Splitwise / Expense Sharing

    Handle users, groups, expense splitting strategies (equal, exact, percentage), and balance settlement.

  6. 06
    Design a Library Management System

    Model books, members, borrowing rules, fines, and search — a comprehensive CRUD-plus-business-rules exercise.

  7. 07
    Low Level System Design Proficient

    You can decompose a problem into classes, apply appropriate patterns, handle concurrency, and produce a clean, extensible design.