
Welcome to my System Design Repository – a structured guide covering everything from foundations to Low-Level Design (LLD), High-Level Design (HLD), and advanced concepts.
This repo is built to help developers (including myself) master system design step by step, preparing for FAANG interviews, scalable architecture discussions, and real-world engineering.
-
Basics of System Design
-
Client-Server Model
-
Networking Essentials (HTTP, TCP, DNS, etc.)
-
Caching Fundamentals
-
Load Balancing Basics
-
Database Concepts (SQL vs NoSQL, Sharding, Replication, Indexing)
-
Object-Oriented Design Principles (SOLID, DRY, etc.)
-
Design Patterns (Factory, Singleton, Observer, Strategy, etc.)
-
UML Diagrams (Class, Sequence, Activity)
-
LLD Case Studies (Parking Lot, Splitwise, Elevator, etc.)
-
Scalability Principles
-
CAP Theorem & Consistency Models
-
Microservices vs Monoliths
-
Message Queues (Kafka, RabbitMQ)
-
Caching Strategies (Redis, Memcached)
-
HLD Case Studies (Twitter, Netflix, WhatsApp, Uber, Instagram, etc.)
-
Distributed Systems Deep Dive
-
Consensus Algorithms (Raft, Paxos)
-
Event-Driven Architectures
-
API Gateways & Rate Limiting
-
CDNs & Edge Computing
-
Real-world trade-offs and design decisions
-
Structured Learning Path – from beginner to advanced
-
Interview Prep – covers both LLD and HLD, aligned with FAANG-style questions
-
Real-World Systems – practical insights into designing scalable products
-
Reference Hub – a go-to place for quick revision before interviews or projects
-
Start with Foundations if you’re new to system design
-
Move to LLD for object-oriented design practice
-
Explore HLD for large-scale distributed system concepts
-
Dive into Advanced when you’re comfortable with fundamentals
-
System Design Interview by Alex Xu (Vol 1 & 2)
-
System Design LLD (by Coder Army)
-
Designing Data-Intensive Applications by Martin Kleppmann
-
Grokking the System Design Interview (educative.io)
-
High Scalability Blog
This repo is constantly evolving. Contributions, corrections, or additional case studies are welcome!
If you find this useful, consider starring the repo ⭐ to support the work.