55 articles in high level design › system design questions.
Walk through a complete Twitter design, from a bare-bones tweet service to a hybrid fan-out architecture serving home timelines to 200M DAU in under 300ms.
Design Instagram's photo upload, hybrid fan-out feed, and CDN delivery for 500M DAU, covering the media pipeline and petabyte-scale Cassandra storage.
Design Instagram's photo upload, hybrid fan-out feed, and CDN delivery for 500M DAU, covering the media pipeline and petabyte-scale Cassandra storage.
Walk through a complete URL shortener design, from a single write path to a globally distributed system serving 1M redirects per second across 1B stored links in under 100ms.
Walk through a complete YouTube design, from a bare upload service to a globally distributed video platform handling 500 hours of uploads per minute and 1B hours of daily playback.
Walk through a complete Uber design, from a single trip service to a globally distributed system handling 5M concurrent drivers, real-time GPS matching, and sub-5-second dispatch.
Design WhatsApp's real-time chat system for 2B users: WebSocket routing, offline message queuing, and group fan-out at 100B messages per day.
Walk through a complete Netflix video streaming design: from encoding one upload into 1,200 adaptive variants to serving 100M concurrent viewers through ISP-embedded CDN appliances with sub-2-second start times.
Walk through a complete Dropbox design: content-addressed chunking for delta sync, conflict copy resolution, and petabyte-scale chunk deduplication for 500M users.
System design for Reddit: pre-computed hot feeds, Redis-buffered vote counting at 100M DAU scale, and N+1-free comment trees via recursive CTE.
Walk through a complete Ticketmaster-style ticket booking system, from a basic event/seat model to a globally-consistent reservation system that handles flash-sale traffic spikes and prevents double-booking.
Design a text-sharing service that lets users store and share snippets of code or text, from a simple single-server prototype to a system handling millions of pastes with expiration, access control, and global CDN delivery.
Walk through designing a real-time autocomplete system that returns ranked suggestions in under 100ms for billions of daily queries, from a simple Trie to a distributed, cache-first prefix index.
Design a distributed rate limiter that throttles requests per user or IP across a fleet of servers, covering token bucket, sliding window, and Redis-backed strategies at FAANG scale.
Design the observability backbone of a large distributed system: ingest, index, and query millions of log events and time-series metrics per second across thousands of servers in near real time.
Design the internals of a durable, high-throughput message streaming platform: from a single-broker write path to a multi-partition, multi-datacenter system capable of Facebook-scale event ingestion.
Design a distributed key-value store like DynamoDB or Cassandra: from a single-node hash map to a consistent-hashing ring with replication, quorum reads, and tunable consistency.
Design a system that tracks the top K most popular items in real time across multiple time windows, from simple in-memory heaps to Count-Min Sketch and distributed stream aggregation at LinkedIn or Amazon scale.
Design a distributed web crawler that discovers and indexes billions of web pages, covering URL frontier management, politeness policies, deduplication at petabyte scale, and freshness scheduling.
Design a personalized news feed system like Facebook's or Instagram's: from a naive fan-out-on-write to a hybrid push-pull model that serves hundreds of millions of users in under 200ms.
Design a location-based search system that answers 'what's near me?' in milliseconds for 100M+ queries per day, covering geohashing, spatial indexes, and the key differences between static and dynamic proximity use cases.
Design a pull-based metrics collection pipeline that monitors thousands of servers in real time, aggregates time-series data efficiently, and triggers alerts without losing data during spikes.
Design a scalable calendar service that handles event creation, recurring schedules, free/busy queries, and real-time UI updates for hundreds of millions of users.
Design the internals of a durable message queue like RabbitMQ or Amazon SQS: from a single-broker FIFO queue to a horizontally partitioned, replicated system with at-least-once delivery guarantees.
Design an analytics platform like Google Analytics that collects billions of user events per day, processes them through a streaming and batch pipeline, and serves query results on dashboards in seconds.
Design a system that sorts terabytes-to-petabytes of data across a cluster of commodity machines, covering external merge sort, MapReduce-style parallel sorting, and the I/O bottlenecks that dominate at massive scale.
Design a distributed job scheduler that executes millions of cron-like and one-off jobs reliably across a worker fleet, covering scheduling algorithms, exactly-once execution, failure recovery, and priority queuing.
Design a multi-channel notification service that delivers billions of push, email, and SMS notifications per day reliably, covering ingestion pipelines, fan-out strategies, deduplication, and guaranteed delivery.
Design a hotel reservation system like Booking.com or Airbnb: from a simple availability calendar to a system that handles concurrent bookings, double-booking prevention, and room-level inventory management at scale.
Design an experimentation platform like Optimizely or Google Experiments that assigns users to treatments consistently, measures statistical impact on key metrics, and lets teams run hundreds of concurrent experiments safely.
Design a price alert system: inverted-index matching against 50M alerts, a cooldown state machine that eliminates notification storms, and idempotent fan-out to email, push, and SMS.
Design a Stripe-like payment processor from scratch: charge flows, idempotency to prevent double-charges, handling unknown states after timeouts, and scaling to 10K transactions per second during a flash sale.
Walk through the full control plane design of a distributed database like DynamoDB or CockroachDB: from table provisioning to live shard splitting to failure-driven partition recovery at 100 nodes and 10,000 shards.
Design a secure login and session management system for a web application, covering credential storage, session tokens, multi-factor authentication, OAuth flows, and password reset at millions of users.
Walk through a complete weather service design: ingesting from 100K sensors at 1,700 writes/sec, resolving arbitrary coordinates to nearby readings via PostGIS in under 5ms, and serving 33K reads/sec through a layered Redis and CDN cache.
Design a real-time collaborative document editor like Google Docs or Notion, covering conflict-free concurrent edits, operational transforms vs CRDTs, persistent storage, and live presence at millions of concurrent editors.
Walk through a complete marketplace design, from a basic listing service to a geospatial-aware search platform handling 100M DAU with sub-200ms search, location-based discovery, and real-time seller-buyer messaging.
Walk through a complete cluster health monitoring design, from a single polling loop to a distributed system that tracks 10,000 nodes, fires sub-90-second alerts, and auto-remediates failures without waking an on-call engineer.
Design the driver dispatch engine that matches a rider's request to the nearest available driver in milliseconds, covering real-time geospatial indexing, conflict prevention, and the rebalancing challenges of a global fleet.
Design an end-to-end request tracing system like Jaeger or Zipkin that correlates logs, spans, and errors across microservices, giving on-call engineers full visibility into every cross-service call in production.
Design a production-grade file download service: walk through pre-signed URLs, HTTP Range requests, parallel multipart downloads, CDN offloading, and pause-resume state management across 10M concurrent clients.
Design a system that aggregates live stock prices from multiple exchanges worldwide and serves them to millions of users with sub-second latency, covering feed normalization, pub-sub fanout, WebSocket delivery, and cache strategies.
Walk through a complete wire transfer design, from a naive single-database transaction to a production-grade distributed payment system that handles concurrent transfers, idempotent retries, and thousands of business payments per second.
Design a live commenting system for broadcasts like Facebook Live or YouTube Live that delivers thousands of new comments per second to millions of concurrent viewers in near real time.
Design a system that migrates petabytes of data from on-premises infrastructure to the cloud with zero data loss, minimal downtime, integrity verification, and the ability to resume after failures.
Walk through a complete BitTorrent-style P2P system design, from a basic tracker server to a fully decentralized DHT network that serves petabytes of content with no central point of failure and automatic integrity verification.
Design a product compatibility system for an eCommerce site that lets users find which parts, accessories, or components are compatible with their specific product model, covering catalog modeling, search, and cross-referencing at millions of SKUs.
Walk through a complete ad platform design, from a basic campaign CRUD service to a two-stage retrieval-scoring pipeline serving the best ad per impression in under 100ms at 10B daily impressions, with smooth budget pacing and reliable attribution.
Design an ETA service for a ride-sharing app that computes accurate travel time estimates in real time, using Contraction Hierarchies, a GPS probe pipeline, and SSE push updates at 100M requests per minute.
Design a dynamic pricing system for a ride-sharing platform that detects demand-supply imbalances in real time, computes a surge multiplier, and integrates pricing seamlessly into the matching and booking flows.
Learn how to build a lightweight IoC container: bean registration, lifecycle management, circular dependency detection, and the tradeoffs between reflection-based and code-generation-based injection.
Design a scalable document management system like Google Docs or Notion: versioned storage, collaborative editing, access control, full-text search, and real-time sync across clients.
Design a system that tracks the K most-shared articles within sliding time windows: ingesting share events at scale, maintaining real-time leaderboards per window, and serving ranked results with low latency.
Design a scalable likes counter for celebrity posts receiving millions of writes per second: handling hot-key write amplification, aggregating counts with acceptable staleness, and preventing double-likes.
Design a system that distributes and coordinates large-scale computation across thousands of machines: task decomposition, work assignment, fault tolerance, stragglers, and result aggregation, the core of MapReduce-style pipelines.