"System Design for Beginners" is a course for beginners in a convenient self-paced format. The course offers a structured and clear introduction to system design and software architecture - from the very basics and without the need for prior preparation. We will cover key topics, starting with fundamental principles and moving towards the creation of full-fledged, scalable systems similar to those used in the real world.
System Design for Beginners
12h 2m 41s
English
Paid
What You Will Learn
Design Like a Professional
Gain the confidence to develop any systems, even those with the strictest requirements for reliability, scalability, and performance.
Understand What You Never Knew Before
Get acquainted with smart algorithms, architectural approaches, and engineering life hacks. We guarantee unexpected discoveries and insights.
Boost Your Skills - Boost Your Career
Deepen your knowledge to accelerate professional growth and stand out beneficially among colleagues.
About the Author: Arpit Bhayani
I am a computer science engineer passionate about teaching and have built systems, services, and platforms that scale to billions. I have gathered an industry experience of 9+ years and have worked at companies like Unacademy, Amazon, Practo, and D. E. Shaw. I hold a Master's in CS from IIIT-Hyderabad, specializing in Information Retrieval and Web Mining. I teach a cohort-based course on System Design and have taught 600+ engineers spanning 10 countries.
Watch Online 37 lessons
0:00
/ #1: Course Introduction
All Course Lessons (37)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Course Introduction Demo | 07:18 | |
| 2 | What is System Design? | 08:35 | |
| 3 | How to approach system design? | 16:19 | |
| 4 | How do you evaluate that you have built a good system? | 08:04 | |
| 5 | Relational Databases | 19:30 | |
| 6 | Database Isolation Levels | 18:23 | |
| 7 | Scaling Databases | 17:04 | |
| 8 | Sharding and Partitioning | 15:09 | |
| 9 | Non-Relational Databases | 14:28 | |
| 10 | Picking the right database | 12:20 | |
| 11 | What is caching? | 11:18 | |
| 12 | Populating and scaling a cache | 10:31 | |
| 13 | Caching at different levels | 19:00 | |
| 14 | Message Brokers and Queues | 15:30 | |
| 15 | Message Streams and Kafka Essentials | 22:24 | |
| 16 | Realtime Pubsub | 05:28 | |
| 17 | Load Balancers | 15:27 | |
| 18 | Circuit Breakers | 12:48 | |
| 19 | Data Redundancy and Recovery | 08:27 | |
| 20 | Leader Election for auto-recovery | 07:41 | |
| 21 | Client server model and communication protocols | 21:14 | |
| 22 | Blob storage and S3 | 15:28 | |
| 23 | Bloom Filters | 20:25 | |
| 24 | Consistent Hashing | 26:24 | |
| 25 | Introduction to Big Data Tools | 16:39 | |
| 26 | Designing E-commerce Product Listing | 19:38 | |
| 27 | Designing API Rate Limiter | 25:23 | |
| 28 | Designing and Scaling Notifications | 38:00 | |
| 29 | Designing Realtime Abuse Masker | 21:33 | |
| 30 | Designing Tinder Feed | 31:50 | |
| 31 | Designing Twitter Trends | 29:45 | |
| 32 | Designing URL Shortner | 47:12 | |
| 33 | Designing GitHub Gists and PasteBin | 27:30 | |
| 34 | Designing a Fraud Detection system | 24:11 | |
| 35 | Designing a Recommendation Engine | 36:09 | |
| 36 | Designing a Web Crawler | 53:30 | |
| 37 | Thank you and What's next | 02:06 |
Unlock unlimited learning
Get instant access to all 36 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscription