System Design Explorer
Select from our vetted collection of high-level and low-level challenges.
Design a Distributed Caching System (Redis Architecture)
Comprehensive architecture guide for designing production-grade Redis distributed caching clusters: master-replica replication, Redis Sentinel, Redis Cluster sharding, and memory eviction.
Consistent Hashing Architecture & Implementation
Deep dive into consistent hashing algorithms, virtual nodes, token rings, and minimal key remapping during cluster resizing in distributed databases.
Design a URL Shortener (TinyURL / Bitly Architecture)
Design a scalable URL shortening service capable of handling billions of redirects: Base62 encoding, distributed ID generation, database indexing, and 301 vs 302 redirect trade-offs.
Event-Driven Architecture & Scaling with Apache Kafka
Design resilient, event-driven distributed architectures using Apache Kafka: topic partitioning, consumer group rebalancing, idempotence, and exactly-once semantics.
Networking Essentials
Learn the important parts of networking that you'll need to know for your system design interviews
API Design
Master API Design for distributed systems and FAANG interviews: REST vs GraphQL vs gRPC, idempotency keys, cursor pagination, 202 async jobs, security, and RFC 7807 errors.
Data Modeling
Learn about data modeling for system design interviews
Caching
Learn about caching and when to use it in system design interviews.
Sharding
Learn about sharding and when to use it in system design interviews.
Consistent Hashing
What problem does consistent hashing solve, how does it work, and how can you use it in an interview.
CAP Theorem
Master the fundamental tradeoffs between consistency and availability in distributed systems.
Database Indexing
Learn about how database indexing works and how to optimize your queries
Latency & Scale Numbers Every Architect Must Know
Essential hardware latency numbers, network transfer speeds, and storage sizing rules of thumb necessary to ace system design capacity estimations.
Real-time Updates
Learn about methods for triggering real-time updates in your system design
Dealing with High Concurrency & Contention
Strategies for mitigating hot keys, race conditions, and lock contention: Optimistic Concurrency Control, Pessimistic Locking, Distributed Redlock, and Write Coalescing.
Multi-Step Distributed Workflows (Saga & Outbox Pattern)
Architect resilient multi-step distributed workflows across microservices using Saga Orchestration, Two-Phase Commit (2PC), and Transactional Outbox patterns.
Scaling Reads (Replication, CQRS & Multi-Level Caching)
Techniques for scaling read-heavy systems: Read Replicas, Multi-Tier Caching (L1/L2), Command Query Responsibility Segregation (CQRS), and Edge CDNs.
Scaling Writes (Sharding, Partitioning & Write-Ahead Queues)
Techniques for scaling write-heavy architectures: Horizontal Database Sharding, Hash vs Range Partitioning, Asynchronous Write Buffering, and LSM-Trees.
Handling Large Blobs & File Uploads at Scale
Design resilient file and video upload pipelines: S3 Presigned URLs, Multipart Uploads, Resumable Chunking, and Zero-Copy streaming.
Managing Long-Running Background Tasks
Architect async background job pipelines: task decoupling, polling vs Server-Sent Events vs Webhooks, dead letter queues, and graceful cancellation.
Redis
Learn about how you can use Redis to solve a large number of problems in System Design.
Elasticsearch
Learn about how you can use Elasticsearch to solve a large number of problems in System Design.
Kafka
Learn about how you can use Kafka to solve a large number of problems in System Design.
API Gateway
Master API Gateway architecture for distributed systems & FAANG interviews: Reverse Proxy vs Gateway vs Service Mesh, dynamic routing, edge security, JWT validation, distributed rate limiting, circuit breakers, and BFF patterns.
Cassandra
Learn about how you can use Cassandra to solve a large number of problems in System Design.
DynamoDB
Learn about how you can use DynamoDB to solve a large number of problems in System Design.
PostgreSQL Deep Dive (Relational Architecture & Performance Tuning)
Deep dive into PostgreSQL internals: Multi-Version Concurrency Control (MVCC), Write-Ahead Logging (WAL), index structures (B-Tree, GIN, GiST), VACUUM tuning, and connection pooling.
Apache Flink Deep Dive (Stateful Stream Processing)
Deep dive into Apache Flink: Exactly-Once processing semantics, Chandy-Lamport distributed checkpointing, Event Time vs Processing Time, Watermarks, and RocksDB state backends.
Apache ZooKeeper Deep Dive (Consensus & Coordination)
Explore Apache ZooKeeper: the ZAB (ZooKeeper Atomic Broadcast) consensus protocol, hierarchical ZNodes, ephemeral nodes, distributed locks, and split-brain mitigation.
Proximity Search
Learn how production systems index latitude and longitude for fast nearby queries, from spatial trees to encoded keys like geohash, S2, and H3.
Time Series Databases
Learn the concepts behind time-series databases like LSM trees, append-only storage, and delta encoding.
Probabilistic Data Structures for Big Data
Master probabilistic data structures: Bloom Filters, HyperLogLog, Count-Min Sketch, and Cuckoo Filters to solve massive-scale cardinality and membership problems in constant memory.
Vector Databases Deep Dive (HNSW, Embeddings & ANN Search)
Deep dive into Vector Databases: high-dimensional embedding spaces, Approximate Nearest Neighbor (ANN) search algorithms, HNSW graphs, IVF-PQ, and similarity metrics.
Design Bitly (Scalable URL Shortener & Analytics Platform)
Design a high-scale URL shortening and click tracking service like Bitly or TinyURL capable of handling billions of redirects with sub-15ms latency.
Dropbox
System design answer key for designing a file storage and synchronization service like Dropbox, built by FAANG managers and staff engineers.
Local Delivery Service
System design answer key for designing a local delivery service like Gopuff or Kozmo, built by FAANG managers and staff engineers.
Ticketmaster
System design answer key for designing a ticket booking service like Ticketmaster, built by FAANG managers and staff engineers.
FB News Feed
System design answer key for designing a social media news feed like Facebook's, built by FAANG managers and staff engineers.
Tinder
System design answer key for designing a dating application like Tinder, built by FAANG managers and staff engineers.
LeetCode
System design answer key for designing a coding practice platform like LeetCode, built by FAANG managers and staff engineers.
System design answer key for designing a messaging application like WhatsApp, built by FAANG managers and staff engineers.
Rate Limiter
System design answer key for designing a distributed rate limiter, built by FAANG managers and staff engineers.
FB Live Comments
System design answer key for designing a real-time commenting system like Facebook Live, built by FAANG managers and staff engineers.
FB Post Search
System design answer key for designing a social media post search feature like Facebook's, built by FAANG managers and staff engineers.
YouTube Top K
System design answer key for designing a feature to find the most popular videos like YouTube's trending section, built by FAANG managers and staff engineers.
Uber
System design answer key for designing a ride-sharing service like Uber, built by FAANG managers and staff engineers.
YouTube
System design answer key for designing a video streaming platform like YouTube, built by FAANG managers and staff engineers.
Web Crawler
System design answer key for designing a web crawler like Google, built by FAANG managers and staff engineers.
Ad Click Aggregator
System design answer key for designing an ad click data aggregation system, built by FAANG managers and staff engineers.
Design a News Aggregator (Google News)
Design a real-time news aggregation platform featuring distributed RSS crawling, article deduplication with SimHash, topic clustering, and personalized ranking.
Design Yelp (Proximity Location Search & Spatial Indexing)
Design a geospatial proximity search engine capable of locating nearby restaurants and businesses using Geohashes, QuadTrees, and Google S2 cells.
Design Strava (Fitness Tracking & Segment Leaderboards)
Architect a fitness tracking platform processing high-frequency GPS activity streams, map matching, spatial segment detections, and real-time leaderboards.
Design an Online Auction System (eBay / Real-Time Bidding)
Design an online auction platform handling high-concurrency last-second bid sniping, atomic bid ordering, and post-auction payment settlement.
Design a Price Tracking & Alert System (CamelCamelCamel)
Architect a large-scale e-commerce price monitoring platform featuring distributed web scraping, time-series price history, and instant price drop alert notifications.
Design Instagram (Photo Sharing & Activity Feed)
Architect a large-scale photo and video sharing platform supporting media uploads, hybrid fanout newsfeeds, and high-throughput social graphs.
Design a Real-Time Stock Brokerage (Robinhood / Trading System)
Design a high-throughput, low-latency stock trading platform with real-time market data streaming, order book matching engine, and regulatory audit ledgers.
Design Google Docs (Collaborative Real-time Document Editing)
Design a collaborative rich-text editor supporting concurrent real-time edits, character-level synchronization, conflict resolution via CRDTs / OT, and revision history.
Design a Distributed Cache (Redis / Memcached Cluster)
Design an in-memory distributed key-value caching system featuring consistent hashing, eviction policies (LRU/LFU), replication, and stampede prevention.
Design a Distributed Job Scheduler
Design a scalable, highly available distributed job scheduler capable of orchestrating recurring (cron) and one-time delayed jobs with at-least-once execution.
Design an Idempotent Payment System
Design a mission-critical, double-entry financial ledger and payment processing gateway with strict idempotency, distributed transactions, and reconciliation pipelines.
Design a Metrics Monitoring & Alerting System
Design a high-throughput time-series metrics ingestion and alerting platform modeled after Prometheus and Datadog, supporting Gorilla compression and rollups.
Design ChatGPT (LLM Streaming Inference Platform)
Architect a large-scale conversational AI inference platform capable of serving 200M+ users with low-latency token streaming, KV cache optimization, and GPU scheduling.
Temporal
Learn how Temporal uses durable execution to keep multi-step processes running through failures, retries, and long waits.
How Shopify Moved Inventory Reservations from Redis to MySQL
A retelling of how Shopify rebuilt checkout oversell protection on MySQL with SKIP LOCKED, covering one-row-per-unit contention design, InnoDB lock tuning, connection-pool attribution, and a shadow-mode cutover.
How Discord Moved Trillions of Messages to ScyllaDB
A retelling of Discord's two-part fix for its 177-node Cassandra message cluster: ScyllaDB to end the garbage-collection pauses and compaction toil, and Rust data services with request coalescing and consistent-hash routing to keep hot channels from melting partitions.
How Slack Put Kafka in Front of Its Redis Job Queue
A retelling of how Slack recovered from a job-queue outage that locked up because dequeuing needed free Redis memory, by adding Kafka as a durable buffer in front of Redis with a rate-limited relay, leaving the application's queue semantics untouched.
How Figma Built Multiplayer Editing on Simplified CRDTs
A retelling of how Figma synced live collaborative editing by rejecting operational transforms in favor of per-property last-writer-wins on a tree of objects, with a central server ordering edits, rejecting reparenting cycles, and fractional indexing keeping siblings ordered.
How Spotify Serves Point Queries from an Exabyte Data Lake
A retelling of how Spotify serves single-key lookups straight from its Parquet data lake with Random Access Parquet, an external key-to-location index paired with write-time file layout that collapses a chain of dependent reads into one small ranged read, instead of copying data into a key-value store.
5 Techniques Meta Uses to Scale a Database to Millions of Clients
How Meta uses connection pooling, batching, request coalescing, caching, and admission control to scale ZippyDB to more than a million internal clients.
Design a Flash Sale System (High Concurrency Checkout)
Design an ultra-high concurrency flash sale checkout engine that prevents overselling, withstands sudden 100x traffic spikes, and enforces queue fairness.
Design a Distributed Notification System
Architect a multi-channel notification engine delivering billions of push notifications, SMS texts, and emails with user preference filters, rate limiting, and priority queues.
Design an Online Multiplayer Chess Platform
Design a real-time multiplayer chess platform featuring Elo matchmaking, WebSocket move synchronization, server-side rule verification, and clock timers.
What SDEs Can Do in the Last Quarter of the Year to Showcase Impact & Win Promotions
The definitive Q4 endgame guide for Software Engineers: the 6 high-leverage plays, manager calibration scripts, holiday freeze hardening, toil automation, and week-by-week timeline.