System Design: Design a Chat System (WhatsApp/Slack)
Design a real-time chat system like WhatsApp or Slack. Covers WebSockets, presence, message ordering, fan-out, storage, and delivering messages to offline users.
11 posts.
Design a real-time chat system like WhatsApp or Slack. Covers WebSockets, presence, message ordering, fan-out, storage, and delivering messages to offline users.
Design a distributed in-memory cache like Redis or Memcached. Covers consistent hashing, replication, eviction, persistence, and surviving node failures cleanly.
A practical 6-step framework for system design interviews that keeps you on track when you are nervous, short on time, and asked to design something huge.
Design a layer 4 and layer 7 load balancer. Covers algorithms, health checks, sticky sessions, TLS termination, and surviving traffic spikes without dropping connections.
Design a durable message queue like Kafka or Pulsar. Covers partitions, replication, consumer groups, ordering guarantees, and exactly-once semantics in practice.
Design a personalized news feed at Twitter or Facebook scale. Covers fan-out on write vs read, ranking, caching, and how to handle celebrities with millions of followers.
Design a payment system like Stripe. Covers ledgers, idempotency, double-entry accounting, PCI scope, retries, and surviving downstream processor failures without double-charging.
Design a distributed rate limiter. Compares token bucket, leaky bucket, and sliding window algorithms, with Redis-backed implementations and tradeoffs for production APIs.
Design a search autocomplete service like Google or Amazon typeahead. Covers trie structures, ranking, prefix caches, and serving suggestions in under 50 ms.
Design a URL shortener like TinyURL or Bit.ly. Covers ID generation, storage, read-heavy scaling, caching, analytics, and tradeoffs you should defend in an interview.
Design a video streaming platform like YouTube or Netflix. Covers upload pipelines, transcoding, adaptive bitrate, CDN delivery, metadata storage, and recommendations briefly.