Latest
Large File Processing
Fanout (Read vs Write)
Real-time Messaging
Write-heavy Systems
A write-heavy system receives many writes, events, or updates. In interviews, the main challenge is protecting the system from overload while keeping writes durable and correct. What it means A system is write-heavy when new data arrives very frequently. Examples: * logging system * metrics platform * click analytics * chat messages * location updates
Read-heavy Systems
A read-heavy system has far more reads than writes. In interviews, the main goal is to make the read path fast, cheap, and reliable. What it means A system is read-heavy when users read data much more often than they create or update it. Examples: * URL shortener redirects * product detail
TTL, Expiration & Cleanup
Backpressure & Circuit Breaker
Idempotency & Deduplication
Rate Limiting Algorithms
Consistent Hashing
Partitioning / Sharding Basics
Partitioning, or sharding, means splitting data across multiple machines. In interviews, use it when one database can no longer hold all the data or handle all the traffic. The basic idea A single database has limits. It can run out of: * storage, * CPU, * memory, * read capacity, * write capacity. Sharding solves
Deep Dive Toolkit
Bloom Filter
A Bloom filter is a memory-efficient way to answer one question: “Have we maybe seen this item before?” It is useful when you want to avoid expensive lookups for items that definitely do not exist. The simple idea A Bloom filter is a probabilistic data structure. It can answer: Definitely
Deep Dive Toolkit
Optimistic, Pessimistic & Distributed Locking
Concurrency control is about one simple question: what happens when two requests try to change the same data at the same time? In interviews, this topic shows up in booking, inventory, payments, orders, auctions, and job scheduling. The problem Many systems have shared resources. Examples: * two users try to book
Core Building Blocks
Elasticsearch
Core Building Blocks
API Gateway
Core Building Blocks
Blob Storage
Blob storage is used for large files such as images, videos, PDFs, logs, and backups. In interviews, the most common pattern is simple: store metadata in the database, and store the actual file in object storage. What blob storage is Blob storage, also called object storage, stores unstructured binary data.
Core Building Blocks
Message Queue
A message queue helps you move slow or unreliable work out of the main request path. In interviews, it is one of the clearest ways to improve latency, reliability, and system flexibility. What a message queue does A message queue lets one service send a task or event to another
Core Building Blocks
CDN
A CDN helps users download content from servers close to them. In interviews, CDN is usually the right tool for static files, images, videos, and other content that can be cached at the edge. What a CDN does CDN means Content Delivery Network. It is a network of edge servers
Core Building Blocks
Cache
A cache is a fast storage layer used to reduce latency and database load. In system design interviews, cache is one of the most common tools, but you should only use it when the read pattern makes sense. What a cache does A cache stores frequently accessed data in memory.
Core Building Blocks
Database
Your job is not to name a database randomly. Your job is to explain what data you need to store, how you will query it, and what consistency you need. What a database does A database stores the main business data of your system. Examples: * users * orders * payments * posts * messages
Quick Start
30-Day Study Plan
Quick Start
7-Day Crash Plan
Quick Start
Common Mistakes
Most candidates do not fail system design interviews because they do not know enough technologies. They fail because their answer is unclear, unstructured, or too shallow. Mistake 1: Starting with a diagram too early Many candidates hear the prompt and immediately start drawing boxes. This is risky. If you do