Roadmap for LLD and HLD Design

Aug 6, 2024

Concept Encoding Lecture Notes

Introduction

  • Presenter: Shreyash Jain
  • Topic: Roadmap for Low Level Design (LLD) and High Level Design (HLD) playlists.
  • Importance for new and existing followers of the channel.

Low Level Design Roadmap

Prerequisites

  • OOP Fundamentals: Understanding of inheritance, polymorphism, and abstraction is crucial. Any OOP language (C++, Java, Python) is acceptable.
  • SOLID Principles: Key principles to follow (covered as the first topic in the LLD playlist).

Design Patterns

  • Total Design Patterns: 23 design patterns have been identified.
  • Teaching Approach:
    • Important design patterns covered first, followed by related interview questions.
    • Examples: Notify Me, Pizza System, Vending Machine, ATM, etc.

Interview Questions

  • All questions discussed are frequently asked in interviews at top product-based companies.
  • Notable questions already covered:
    • Notify Me
    • Pizza Billing System
    • Parking Lot
    • Snake and Ladder
    • Elevator System
    • Car Rental System
    • Tic-Tac-Toe Game
    • BookMyShow
    • Vending Machine
    • ATM
    • Chess Game
    • File System
    • Split Twice

Upcoming Topics

  • Next video: Split Twice Simplify Algorithm (important for LLD and DSA interviews).
  • Questions listed for future videos may change order based on priority or user requests.

Learning Structure

  • No fixed code or chapter structure in LLD.
  • Emphasizes importance of sequential learning for interviews.

High Level Design Roadmap

Key Differences from LLD

  • HLD requires understanding of certain concepts prior to solving questions.
  • Important concepts include:
    • TCP, WebSocket, HTTP, WebRTC, Client-Server and Peer-to-Peer Architecture.
    • CAP Theorem, Microservices Design Patterns (e.g., Saga).
    • Scaling from 0 to million users.
    • Consistent Hashing.

Upcoming Topics in HLD

  • Back of the envelope estimation (important for estimating server needs).
  • Design aspects for databases (SQL vs NoSQL).
  • Key upcoming videos include:
    • Autocomplete System
    • More Agile Components (Kafka, Proxies, CDN Storage, etc.).
    • Database Scaling Techniques (Horizontal, Vertical, Partitioning, etc.).

Teaching Methodology

  • Concepts covered will be immediately followed by related questions.
  • No timeline provided for completion; will depend on bandwidth.

Additional Updates

  • New Spring Boot playlist in development, expected launch around February.
  • Assurance that focus on LLD and HLD will remain a priority.

Conclusion

  • Open for feedback to enhance content quality.
  • Emphasis on making system design knowledge accessible and free.
  • Wish for a happy new year and encouragement to stay tuned for future content.