"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
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
Arpit Bhayani is a US-based software engineer (formerly at Amazon, Practo, and now an independent educator) who runs asliengineering.com and the Arpit Bhayani YouTube channel, both focused on system design and database internals. His material is unusually deep for the system-design-interview market — taking serious detours into the actual implementation of Redis, Postgres, and the data structures behind them.
His CourseFlix listing carries three Arpit Bhayani courses: The System Design Masterclass, Redis Internals (an end-to-end study of how Redis is implemented in C), and System Design for Beginners. Material is paid and aimed at engineers preparing for system-design interviews or doing infrastructure work on production data systems.
Watch Online 37 lessons
| # | 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 |
Get instant access to all 36 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionRelated courses
-
Updated 8mo agoBeat the AI Filter
By: Newline (ex-Fullstack.io)Facing challenges in today's job market? As the landscape shifts with the integration of AI in recruitment processes.44m5/5 -
Updated 7mo agoMicroservices Masterclass
By: Dave FarleyUnlock the power of microservices with our comprehensive masterclass. While microservices offer an approach to building scalable software.3h 25m5/5 -
Updated 11mo agoSuccessful Job Application
By: Andreas KretzIn today's competitive job market , it is extremely important to have the skills and knowledge that will help you stand out from the crowd and secure the.3h 20m5/5