Skip to content
72

Awesome System Design Resources

Learn System Design concepts and prepare for interviews using free resources.

42k stars8,795 forks138 entriesLast push Feb 16, 2026 (7 months ago)License GPL-3.0

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Core Concepts

Scalability

Availability

Reliability

SPOF

Latency vs Throughput vs Bandwidth

Consistent Hashing

CAP Theorem

Failover

Fault Tolerance

Networking Fundamentals

OSI Model

IP Addresses

Domain Name System (DNS)

Proxy vs Reverse Proxy

HTTP/HTTPS

TCP vs UDP

Load Balancing

Checksums

API Fundamentals

APIs

API Gateway

REST vs GraphQL

WebSockets

Webhooks

Idempotency

Rate limiting

API Design

Database Fundamentals

ACID Transactions

SQL vs NoSQL

Database Indexes

Database Sharding

Data Replication

Database Scaling

Databases Types

Bloom Filters

Database Architectures

Caching Fundamentals

Caching 101

Caching Strategies

Cache Eviction Policies

Distributed Caching

Content Delivery Network (CDN)

Asynchronous Communication

Pub/Sub

Message Queues

Change Data Capture (CDC)

Distributed System and Microservices

HeartBeats

Service Discovery

Consensus Algorithms

Distributed Locking

In 2 lists

Gossip Protocol

Circuit Breaker

Disaster Recovery

Distributed Tracing

Architectural Patterns

Client-Server Architecture

Microservices Architecture

Serverless Architecture

Event-Driven Architecture

Peer-to-Peer (P2P) Architecture

System Design Tradeoffs

Top 15 Tradeoffs

Vertical vs Horizontal Scaling

Concurrency vs Parallelism

Long Polling vs WebSockets

Batch vs Stream Processing

Stateful vs Stateless Design

Strong vs Eventual Consistency

Read-Through vs Write-Through Cache

Push vs Pull Architecture

REST vs RPC

Synchronous vs. asynchronous communications

Latency vs Throughput

System Design Interview Problems >Easy

Design URL Shortener like TinyURL

Design Autocomplete for Search Engines

Design Load Balancer

Design Content Delivery Network (CDN)

Design Parking Garage

Design Vending Machine

Design Distributed Key-Value Store

Design Distributed Cache

Design Authentication System

Design Unified Payments Interface (UPI)

System Design Interview Problems >Medium

Design WhatsApp

Design Spotify

Design Autocomplete for Search Engines

Design Notification Service

Design Distributed Job Scheduler

Design Tinder

Design Facebook

Design Twitter

Design Reddit

Design Netflix

Design Youtube

Design Google Search

Design E-commerce Store like Amazon

Design TikTok

Design Shopify

Design Airbnb

Design Rate Limiter

Design Distributed Message Queue like Kafka

Design Flight Booking System

Design Online Code Editor

Design an Analytics Platform (Metrics & Logging)

Design Payment System

Design a Digital Wallet

System Design Interview Problems >Hard

Design Location Based Service like Yelp

Design Uber

Design Food Delivery App like Doordash

Design Google Docs

Design Google Maps

Design Zoom

Design File Sharing System like Dropbox

Design Ticket Booking System like BookMyShow

Design Distributed Web Crawler

Design Code Deployment System

Design Distributed Cloud Storage like S3

Design Distributed Locking Service

Courses

System Design Fundamentals

System Design Interviews

Newsletters

AlgoMaster Newsletter

In 2 lists

Books

Designing Data-Intensive Applications

YouTube Channels

Tech Dummies Narendra L

Gaurav Sen

codeKarle

ByteByteGo

In 2 lists

System Design Interview

sudoCODE

Success in Tech

Must-Read Engineering Articles

How Discord stores trillions of messages

Building In-Video Search at Netflix

How Canva scaled Media uploads from Zero to 50 Million per Day

How Airbnb avoids double payments in a Distributed Payments System

In 2 lists

Stripe’s payments APIs - The first 10 years

Real time messaging at Slack

In 2 lists

Must-Read Distributed Systems Papers

Paxos: The Part-Time Parliament

MapReduce: Simplified Data Processing on Large Clusters

The Google File System

Dynamo: Amazon’s Highly Available Key-value Store

Kafka: a Distributed Messaging System for Log Processing

Spanner: Google’s Globally-Distributed Database

Bigtable: A Distributed Storage System for Structured Data

The inspiration for HBase.

In 2 lists

ZooKeeper: Wait-free coordination for Internet-scale systems

The Log-Structured Merge-Tree (LSM-Tree)

The Chubby lock service for loosely-coupled distributed systems

See category
92

Awesome Docker

veggiemonk/awesome-docker

:whale: A curated list of Docker resources and projects

Fresh★ 37k389 entriesPushed 18 days ago
92

Awesome GraphQL

chentsulin/awesome-graphql

Awesome list of GraphQL

Fresh★ 15k483 entriesPushed yesterday
91

Awesome-Kubernetes

ramitsurana/awesome-kubernetes

A curated list for awesome kubernetes sources :ship::tada:

Fresh★ 16k47 entriesPushed 8 days ago
91

Awesome Quant

wilsonfreitas/awesome-quant

A curated list of insanely awesome libraries, packages and resources for Quants (Quantitative Finance)

Fresh★ 30k678 entriesPushed today
89

Awesome Django

wsvincent/awesome-django

A curated list of awesome things related to Django

Fresh★ 11k326 entriesPushed 13 days ago
89

Awesome Terraform

shuaibiyy/awesome-tf

Curated list of resources on HashiCorp's Terraform and OpenTofu

Fresh★ 6.6k472 entriesPushed 2 days ago