System Design School
Learn
Practice
Primer
Roadmap
Pricing
Start learning
System Design Problems
Design an Ad Click Aggregator
Design a Chat App (WhatsApp / Messenger)
Design ChatGPT
Design a Coding Agent CLI (Claude Code)
Design a Comment System
Design Deep Research
Design a Distributed Cache
Design a Distributed Key-Value Store
Design Dropbox
Design Reasoning Effort Levels
Design Google Calendar
Design Google Docs
Design Google Maps
Design an Image Generation Service
Design Instagram
Design a Distributed Job Scheduler
Design LeetCode (Online Judge)
Design Live Comments (Real-Time Fan-Out)
Design Local Delivery (Gopuff)
Design a Pub-Sub / Message Queue
Design a Metrics Monitoring System
Design Netflix
Design a News Aggregator
Design a News Feed
Design an Online Auction
Design Pastebin
Design a Payment System
Design Post Search (Full-Text Search)
Design a RAG System
Design a Distributed Rate Limiter
Design a Realtime Monitoring System
Design Robinhood (Stock Trading)
Design Ticketmaster
Design Tinder
Design Top K (Trending)
Design Twitter
Design Typeahead / Autocomplete
Design Uber / Nearby Drivers
Design URL Shortener
Design a Web Crawler
Design Webhook
Design Yelp
Design YouTube
Blog
‘Anti-Entropy’ in Distributed Systems: The Key to Data Consistency The Key to Data Consistency
Comprehensive Guide to API Design: Best Practices and Principles
Load Balancer vs API Gateway: Differences, Use Cases, & Best Practices
Understanding API Rate Limiting
Understanding Auth Cookies
Understanding Backend Engineers: Roles, Skills, and More
The Role of Circuit Breaker in Software System Design
Understanding the Client-Server Model
Comprehensive Guide to Cloud Architect
Cloud Foundry vs Kubernetes
Containerization vs Virtualization
The CQRS Pattern
Understanding Database Indexing
Docker Vs VMware: A Comparative Analysis
Understanding Dynamic Load Balancing
Mastering DynamoDB Single Table Design
Strong Consistency vs Eventual Consistency
Different Types of Databases
Understanding File Storage Systems
Battle of the Static Site Generator: Gatsby, Docusaurus, Jekyll, and Hugo
Comprehensive Guide on GraphQL
Understanding How Push Notifications Work
Understanding Internet Service Providers (ISPs)
Comprehensive Guide to Apache Kafka Architecture
A Comprehensive Guide to Kafka Queue
Demystifying Kafka Streaming
Apache Flink vs Apache Kafka for Stream Processing
Mastering Kubernetes
Understanding L1 Cache
Understanding Layered Software Architecture
Linearizability vs Serializability
Comprehensive Dive Into Linux File Systems
Comprehensive Guide to Load Balancing Software
Memcached vs Redis: A Comparative Analysis
Message Queue vs Pub-Sub
Understanding Message Queues
Understanding Messaging Systems
In-Depth Analysis of Microservice Architecture
Comprehensive Guide to Microservice Orchestration
A Comprehensive Guide to Microservices Best Practices
Unraveling Monorepo
Message Queue vs Kafka
Understanding Netflix's Open Connect
Comprehensive Guide to NoSQL Data Models
Understanding NoSQL Databases
OAuth vs JWT
Understanding OAuth
Object Storage: Scalable, Resilient, and Secure Data Management for Developers
Understanding Optimistic Locking in Software Engineering
Understanding Orchestration vs Choreography in Microservices Architecture
Understanding Peer-to-Peer Architecture
Understanding Process vs Thread in Software Engineering
Understanding Proxy vs Reverse Proxy: An In-Depth Guide
Understanding Pub/Sub vs Kafka
ActiveMQ vs RabbitMQ
Understanding Read After Write Consistency
Understanding the Relational Database System
Comprehensive Guide: Requirement Gathering
Comparing REST, gRPC, and GraphQL
Reverse Proxies vs Load Balancers
Understanding the Intricacies of Reverse Proxy
Understanding the Concept of Semaphore in Programming
Comprehensive Overview of Server Sent Events vs Websocket
Understanding Service Oriented Architecture
Sharding vs Partitioning
SOA vs Microservice
Understanding Software Architecture Types
Unraveling the Roles: Solutions Architect vs Software Engineer
Understanding and Implementing Spam Detection Techniques
SQL vs NoSQL
SRE vs DevOps
Understanding SSO Tokens
SSO vs OAuth
Understanding Stateful vs Stateless in Software Engineering
Understanding Throughput vs Latency In System Design
Understanding UML State Machine
Understanding the Differences and Relationships: URI vs URL
Understanding Distributed Systems
Understanding DNS Lookup
Understanding Packets in Networking
Understanding REST APIs
Understanding Hadoop
Understanding the Use Cases of Apache Kafka
Understanding the Use Cases of Redis
Understanding Webhooks
Understanding the Transport Layer Protocol used by DNS
Send feedback