High-Level Design
System Design › High-Level DesignDesign a Payment System (Stripe) — System Design
Design a payment system where correctness is everything: idempotency keys to prevent double charges, the PSP flow and webhooks, an immutable double-entry ledger, strong consistency, reconciliation, and PCI tokenization.
System Design › High-Level DesignDesign Uber / Lyft (Ride-Hailing) — System Design
Design a ride-hailing service end to end: the geospatial index (geohash/quadtree) to find nearby drivers fast, handling the driver location-update firehose in memory, matching, real-time tracking, geo-sharding, and surge pricing.
System Design › High-Level DesignDesign YouTube / Netflix (Video Streaming) — System Design
Design a video streaming service end to end: chunked upload to object storage, the transcoding pipeline into many resolutions, adaptive bitrate streaming (HLS/DASH), CDN delivery, metadata, and async view counts.
System Design › High-Level DesignDesign a Distributed Key-Value Store (DynamoDB) — System Design
The Dynamo-style deep dive: partition with consistent hashing, replicate to N nodes, tune consistency with quorums (R+W>N), and stay available through hinted handoff, Merkle-tree anti-entropy, gossip, and vector clocks.
System Design › High-Level DesignDesign a Distributed Cache (Redis / Memcached) — System Design
Design a distributed cache end to end: LRU eviction on a single node, sharding keys with consistent hashing, replication and failover for high availability, TTLs, and the hot-key and thundering-herd problems.
System Design › High-Level DesignDesign a Web Crawler (Googlebot) — System Design
Design a web crawler at scale: the URL frontier, fetchers and parsers, deduplication with Bloom filters, politeness (robots.txt + per-domain rate limiting), spider traps, and distributed crawling for freshness.
System Design › High-Level DesignDesign Typeahead / Search Autocomplete — System Design
Design search autocomplete end to end: why the trie (prefix tree) is the right data structure, precomputing top-k suggestions at each node, the offline log-aggregation pipeline, in-memory serving, caching and sharding.
System Design › High-Level DesignDesign a Notification System — System Design Interview
Design a multi-channel notification system (push, SMS, email) at scale: the queue-based async architecture, per-channel workers, third-party providers, retries and dead-letter queues, dedupe, rate limiting, and priority.
System Design › High-Level DesignDesign a Chat System (WhatsApp / Messenger) — System Design
Design a real-time chat system end to end: WebSockets, the connection-routing problem (which server holds a user's socket), store-and-forward for reliability and offline delivery, group fan-out, and presence.