
System Design Building Blocks
Published 3/2023
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz
Get ready for System Design Interviews by mastering the fundamental concepts for building scalable web systems
What you’ll learn
Understand the fundamental principles of system design and their role in building scalable web applications.
Develop expertise in key system components, including databases, load balancers, and caching.
Learn how to apply scaling techniques, such as sharding, replication, and load balancing, to improve web application performance.
Master techniques for designing rate limiters, unique ID generators, and other key system components.
Prepare for system design interviews and other technical assessments by mastering foundational system design concepts and techniques.
Stay up-to-date with the latest trends and advancements in web system design.
Requirements
Basic understanding of system architecture: You should have a basic understanding of system architecture and how components interact with each other in a web application.
computer networks and protocols such as TCP/IP, HTTP, and DNS. Familiarity with databases: Students should be familiar with databases and have a basic understanding of relational database concepts such as tables, rows, and columns.
amiliarity with cloud technologies: Students should have a basic understanding of cloud technologies such as Amazon Web Services (AWS) or Microsoft Azure.
Willingness to learn: The course covers a lot of material, and students should be willing to put in the time and effort to learn and practice the concepts covered in the course.
Description
Overview
Section 1: Building Blocks
Lecture 1 How basic web app works ?
Lecture 2 Database
Lecture 3 Load Balancer
Lecture 4 DB Replication
Lecture 5 Cache
Lecture 6 CDN
Lecture 7 Stateless Web Tier
Lecture 8 Message Queue
Lecture 9 Logging & Metrics
Lecture 10 Sharding
Lecture 11 Back of Envelop Estimation
Lecture 12 CAP Theorem
Lecture 13 Summary
Section 2: Consistent Hashing
Lecture 14 Introduction to Consistent Hashing
Lecture 15 Rehashing Problem
Lecture 16 How consistent hashing works ?
Lecture 17 Two Problems
Lecture 18 Virtual Nodes
Lecture 19 Finding affected keys
Lecture 20 Summary
Section 3: Key Value Store
Lecture 21 Introduction
Lecture 23 Consistency
Lecture 24 Inconsistency Resoultion
Lecture 25 Handling Failures
Lecture 26 System Architecture
Lecture 27 Write Path
Lecture 28 Read Path
Lecture 29 Wrap Up
Section 4: Template to Approach System Design Problems
Lecture 30 Introduction
Lecture 31 Step 1 : Understand Problem
Lecture 32 Step 2: Propose HLD & get nod on it
Lecture 33 Step 3 : Deep Dive in Design
Lecture 34 Step 4 : Wrap Up
Lecture 35 Do’s & Don’t
Section 5: Design Rate Limiter
Lecture 36 Introduction
Lecture 37 Understanding Requirements
Lecture 38 Propose HLD & get nod on it
Lecture 39 Token Bucket Algo
Lecture 40 Leaky Bucket Algo
Lecture 41 Fixed Window Counter Algo
Lecture 42 Sliding Window Log Algo
Lecture 43 Sliding Window Counter Algo
Lecture 44 High Level Design
Lecture 45 Deep Dive – Detail Design
Lecture 46 Distributive Rate Limiter
Lecture 47 Wrapping Up
Section 6: Design Unique ID Generator
Lecture 48 Introduction
Lecture 49 Understanding the requirements
Lecture 50 Propose HLD & suggest Multi Master Replication approach
Lecture 51 UUID approach
Lecture 52 Ticket Server approach
Lecture 53 Twitter Snowflake approach
Lecture 54 Deep Dive
Lecture 55 Wrapping Up
Software developers: This course is ideal for software developers who want to learn how to design scalable and robust web applications.,System architects: This course is also suitable for system architects who want to improve their system design skills and learn best practices for designing high-performance and fault-tolerant systems.,Technical managers: This course can be useful for technical managers who want to understand the fundamentals of system design and be able to communicate effectively with their development teams.,Computer science students: This course can be a valuable resource for computer science students who want to learn about system design and prepare for system design interview questions.,Anyone interested in system design: This course is also suitable for anyone who is interested in learning about system design and wants to improve their technical skills in this area.

TurboBit
https://www.keeplinks.org/p27/67bb330be22c7
RapidGator
https://www.keeplinks.org/p27/67bb332b1cf1d
AlfaFile
https://www.keeplinks.org/p27/67bb3335475d8
FileFactory
