System Design

Learn System Design

Course own document

Introduction to System Design

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

Introduction to API Gateway

Usage of API gateway

Advantages and disadvantages of using API gateway

Scalability

Availability

Latency and Performance

Concurrency and Coordination

Monitoring and Observability

Resilience and Error Handling

Fault Tolerance vs. High Availability

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

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)

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

Contact Us

Other courses

Designing Twitter Search

Designing Twitter Search

easy
·
10 min
·
Premium
·Credit: Grokking the System Design Interview

Unlock Full Content

Get access to this and all other premium lessons.

Discussion
Have a question or insight about this topic? Share it with the community.
Reading Progress
0%

On This Page