System design is a vital aspect of preparing for software engineering role interviews—not just at MAANG companies, but across startups and other tech-driven organizations. It helps demonstrate your ability to architect scalable, reliable, and maintainable systems—skills that are increasingly expected from engineers at all levels. Even outside the interview context, learning system design sharpens your understanding of software architecture, trade-offs, and real-world problem solving. This repository indexes my YouTube videos to help you systematically build and strengthen your system design skills.
This series covers the essential building blocks every beginner should understand before diving into full system design problems. It lays the groundwork by explaining key concepts such as request flow in web systems, scaling strategies, load balancers, CDNs, caching, databases, message queues, and more. Understanding these fundamentals is crucial for making informed design decisions and building scalable, high-performance systems. Each topic is explained in a beginner-friendly way to help you develop a strong foundation in system design.
| Topic name | Video link |
|---|---|
| Basic flow of request in web system | LINK |
| Horizontal and vertical scaling | LINK |
| Load balancer | LINK |
| Content delivery network | LINK |
| Proxy servers: forward and reverse | LINK |
| Message queues | LINK |
| Caching mechanisms: write through and write back | LINK |
| Databases | LINK |
| Sharding | LINK |
| Consistent hashing | LINK |
| Non functional requirements | LINK |
| CAP theorem | LINK |
This series dives into real-world system design questions commonly asked in technical interviews. Each video focuses on designing a specific large-scale system or distributed component—such as distributed queues, job schedulers, caching systems, and popular services like TinyURL and YouTube. These examples help you apply core design principles in practical scenarios, understand trade-offs, and structure your answers effectively. More videos will be added over time to expand the coverage of different system types and architectures.
| Topic name | Video link |
|---|---|
| Distributed message queues | LINK |
| Distributed job scheduler | LINK |
| Distributed caching (Redis, Memcached) | LINK |
| URL shortening service (TinyURL, Bit.ly) | LINK |
| Video streaming service (Youtube, Netflix) | LINK |
This repository is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
You are free to view and share the content with proper attribution, but modification, commercial use, or forking is not permitted.