System Design
Learn System Design
System Design Fundamentals
Course own document
Introduction to System Design
Load Balancing
Introduction to Load Balancing
Load Balancing Algorithms
Uses of Load Balancing
Load Balancer Types
Stateless vs. Stateful Load Balancing
High Availability and Fault Tolerance
Scalability and Performance
Challenges of Load Balancers
API Gateway
Introduction to API Gateway
Usage of API gateway
Advantages and disadvantages of using API gateway
Key Characteristics of Distributed Systems
Scalability
Availability
Latency and Performance
Concurrency and Coordination
Monitoring and Observability
Resilience and Error Handling
Fault Tolerance vs. High Availability
Introduction to System Design Interview
What is a System Design Interview?
Functional vs. Non-functional Requirements
What are Back-of-the-Envelope Estimations?
Things to Avoid During System Design Interview
Availability
Quiz 02
Latency and Performance
Glossary of System Design Basics
System Design Basics
Key Characteristics of Distributed Systems
Load Balancing
Caching
Data Partitioning
Indexes
Proxies
Redundancy and Replication
SQL vs. NoSQL
CAP Theorem
PACELC Theorem (New)
Consistent Hashing (New)
Long-Polling vs WebSockets vs Server-Sent Events
Bloom Filters (New)
Quorum (New)
Leader and Follower (New)
Heartbeat (New)
Checksum (New)
System Design Trade-offs
Importance of Discussing Trade-offs
Strong vs Eventual Consistency
Latency vs Throughput
ACID vs BASE Properties in Databases
Read-Through vs Write-Through Cache
Batch Processing vs Stream Processing
Load Balancer vs. API Gateway
API Gateway vs Direct Service Exposure
Proxy vs. Reverse Proxy
API Gateway vs. Reverse Proxy
SQL vs. NoSQL
Primary-Replica vs Peer-to-Peer Replication
Data Compression vs Data Deduplication
Server-Side Caching vs Client-Side Caching
REST vs RPC
Polling vs Long-Polling vs Webhooks
CDN Usage vs Direct Server Serving
Serverless Architecture vs Traditional Server-based
Stateful vs Stateless Architecture
Hybrid Cloud Storage vs All-Cloud Storage
Token Bucket vs Leaky Bucket
Read Heavy vs Write Heavy System
System Design Problems
System Design Interviews - A step by step guide
System Design Master Template
Designing a URL Shortening Service like TinyURL
Designing Pastebin
Designing Instagram
Designing Dropbox
Designing Facebook Messenger
Designing Twitter
Designing Youtube or Netflix
Designing Typeahead Suggestion
Designing an API Rate Limiter
Designing Twitter Search
Designing a Web Crawler
Designing Facebook’s Newsfeed
Designing Yelp or Nearby Friends
Designing Uber backend
Designing Ticketmaster
Additional Resources
Appendix
Contact Us
Other courses
Course own document
Learn system design course's document for testing purpose.
Discussion
On This Page