High Level System Design
Master System Architecture and Design Principles
Learn how to design scalable, reliable, and maintainable systems. Cover architectural patterns, databases, caching, load balancing, security, and distributed systems concepts essential for building modern applications.
Start LearningWhat you'll learn
- Hands-on coding challenges
- Real-world project examples
- Interview preparation tips
- Best practices & patterns
Course Syllabus
Introduction to High Level Design
Understand what High Level Design is and why it matters
1 lessons
~30 min
System Architectural Styles
Learn different architectural patterns for building systems
7 lessons
~180 min
Monolithic Architecture
2 steps ยท 25 min
Microservices Architecture
2 steps ยท 30 min
Monolithic vs Microservices
1 steps ยท 25 min
Event-Driven Architecture
1 steps ยท 25 min
Serverless Architecture
1 steps ยท 25 min
Stateful vs Stateless Architecture
1 steps ยท 20 min
Pub/Sub Architecture
4 steps ยท 30 min
Scalability
Design systems that can handle growth
3 lessons
~90 min
Databases in Designing Systems
Database selection, replication, and optimization
9 lessons
~180 min
Choosing a Database - SQL or NoSQL
1 steps ยท 20 min
File and Database Storage Systems
1 steps ยท 20 min
Database Replication in System Design
1 steps ยท 20 min
Database Sharding
1 steps ยท 20 min
Block, Object, and File Storage
1 steps ยท 20 min
Normalization Process in DBMS
1 steps ยท 20 min
SQL Query Optimization
1 steps ยท 20 min
Denormalization in Databases
1 steps ยท 20 min
Intro to Redis
1 steps ยท 20 min
Consistency, Availability, Reliability & Maintainability
Key system design quality attributes
8 lessons
~150 min
Availability in System Design
1 steps ยท 18 min
How to achieve High Availability?
1 steps ยท 18 min
Consistency in System Design
1 steps ยท 18 min
Consistency Patterns
1 steps ยท 18 min
CAP Theorem
1 steps ยท 18 min
Reliability in System Design
1 steps ยท 18 min
Fault Tolerance in System Design
1 steps ยท 18 min
Maintainability
1 steps ยท 18 min
Load Balancing
Distributing traffic across servers
4 lessons
~90 min
Latency, Throughput and Caching
Optimizing system performance
2 lessons
~60 min
API Gateway, Message Queues & Rate Limiting
Managing API traffic and messaging
4 lessons
~90 min
Protocols, CDN, Proxies & WebSockets
Network communication patterns
8 lessons
~160 min
Communication Protocols
1 steps ยท 20 min
Domain Name System
1 steps ยท 20 min
DNS Caching
1 steps ยท 20 min
Time to Live (TTL)
1 steps ยท 20 min
Content Delivery Network (CDN)
1 steps ยท 20 min
Proxies in System Design
1 steps ยท 20 min
Forward Proxy vs Reverse Proxy
1 steps ยท 20 min
Websockets
1 steps ยท 20 min
Testing
Testing strategies for system design
3 lessons
~60 min
Security Measures
Securing system design
5 lessons
~100 min
Distributed System Design & Cost Optimization
Advanced distributed system concepts and optimization
5 lessons
~100 min