Roadmap › 0. Fundamentals › Step 5
HLD
System Design — High-Level Design (HLD) from Basics to Case Studies
How to design large systems — requirements and estimation, scalability and availability, latency vs throughput, CAP and consistency models, load balancing, caching strategies, database choice, replication, partitioning and sharding, consistent hashing, queues and event streaming, rate limiting, search, storage and CDNs, observability, and full case studies (URL shortener, news feed, chat, notification service, e-commerce checkout, file storage, ride booking) with the HLD interview framework.
Interview priority:★ Must know High priority — asked in almost every interview, learn firstMedium asked regularlyLow good to know
Module 1: Fundamentals
- 1.Requirements and back-of-the-envelope estimationBasic ★ Must know
- 2.Scalability, availability, latency and throughputBasic ★ Must know
- 3.CAP theorem, consistency models and PACELCIntermediate ★ Must know
Module 2: Building Blocks
- 4.Load balancing and API gatewaysIntermediate ★ Must know
- 5.Caching — where, strategies and pitfallsIntermediate ★ Must know
- 6.Choosing the database — SQL vs NoSQLIntermediate ★ Must know
- 7.Replication, partitioning, sharding and consistent hashingAdvanced ★ Must know
- 8.Queues, event streaming and asynchronous processingIntermediate ★ Must know
- 9.Rate limiting, search, storage and CDNsIntermediate Medium
Module 3: Case Studies
- 10.Case study — news feed (social timeline)Advanced ★ Must know
- 11.Case study — chat / messaging systemAdvanced ★ Must know
- 12.Case study — e-commerce checkout and inventoryAdvanced ★ Must know
- 13.Case studies — notification service, file storage and ride booking (outlines)Advanced Medium
Module 4: Operating Large Systems
- 14.Reliability, observability and disaster recoveryIntermediate Medium
Next course in the roadmap: 6. Low-Level Design (LLD) — Object Design, UML and Classic Problems in C# →