System Design Problems

Browse 80 curated problems from top tech companies

Design a Container System
expert

Description

Build a containerization system with namespace isolation, cgroups resource limiting, and image layering

Design a Web Server
hard

Description

Build an HTTP web server supporting keep-alive connections, request pipelining, and multiple handler types

Design a Git Version Control System
hard

Description

Build a distributed version control system with content-addressable storage, branching, merging, and conflict resolution

Design a DNS Server
hard

Description

Build a DNS resolver with recursive resolution, zone file management, caching, and TTL-based invalidation

Distributed Cache
hard

Description

Design cache layer supporting millions of QPS with high hit rate.

Distributed File Storage
hard

Description

Design GCS/S3-like storage for 100B+ objects with 99.99% durability.

Event Streaming Platform
hard

Description

Build Kafka-like system supporting 1M+ messages/sec with exactly-once semantics.

Unique ID Generator
hard

Description

Generate unique IDs for 1B+ objects with ordering guarantees (Snowflake-like).

Typeahead Autocomplete
hard

Description

Support autocomplete for search across 1B+ documents in <100ms.

Instagram Photo Feed
hard

Description

Generate feed for 2B+ users. Display photos/videos with minimal latency.

Uber Payments Platform
hard

Description

Process 1000s of payments/sec. Ensure ACID transactions and fraud detection.

Slack Message Search
hard

Description

Search across 1B+ messages with sub-second response time.

Stripe Payments
hard

Description

Process 1000s of payments/sec with 99.999% uptime and fraud prevention.

Discord Voice Video
hard

Description

Support 5M+ concurrent voice/video calls with quality optimization.

Discord Real-time Chat
hard

Description

Support 10M+ concurrent users messaging with <100ms latency.

Amazon Recommendation
hard

Description

Recommend products to 300M+ customers real-time and offline.

Netflix Personalization Engine
hard

Description

Design recommendation engine for 200M+ users, 10K+ titles, real-time viewing data.

Uber Real-time Matching
hard

Description

Match millions of drivers with riders in real-time. Minimize matching time and distance.

Uber Location Tracking
hard

Description

Track location of 1M+ drivers at sub-second latency for millions of subscribers.

Amazon DynamoDB
hard

Description

Design distributed key-value store with single-digit latency at scale.

Google BigTable
hard

Description

Design wide-column NoSQL database for massive scale with strong consistency.

Google Search Index
hard

Description

Build distributed index for 100B+ web pages supporting billions of queries/day.

Cloudflare DDoS Protection
hard

Description

Detect and mitigate DDoS attacks for millions of websites globally.

Meta Friend Suggestion
hard

Description

Suggest friends to 3B+ users based on various signals. Real-time and offline components.

Meta News Feed Ranking
hard

Description

Rank feed items for 3B+ users. Maximize engagement and time spent.

LinkedIn Job Search
hard

Description

Search and rank 100M+ jobs for 900M users. Real-time relevance and personalization.

LinkedIn Feed Generation
hard

Description

Generate personalized feed for 900M users. Show top posts, articles, jobs in real-time.

Netflix Content Delivery
hard

Description

Design CDN for distributing video to 200M users globally with minimal latency.

Cloudflare Global Load Balancing
hard

Description

Route traffic to optimal origin across multiple regions and providers.

Distributed Rate Limiter
hard

Description

Rate limit API requests across distributed servers. Support various strategies.

Design a Ride Matching Algorithm
hard

Description

Design the core matching algorithm for a ride-sharing service that optimizes driver-rider pairing.

Design a Real-time Gaming Leaderboard
hard

Description

Design a real-time leaderboard system for a multiplayer online game with millions of concurrent players. The system should handle score updates, rankings, and friend comparisons.

Design Slack/Discord
hard

Description

Design a real-time messaging platform like Slack or Discord supporting channels, direct messages, file sharing, and presence indicators.

Design a Stock Trading System
expert

Description

Design a high-frequency stock trading platform handling order matching, real-time price updates, and trade execution with microsecond latency.

Design Google Calendar
medium

Description

Design a calendar application supporting event scheduling, recurring events, shared calendars, and meeting room booking.

Design a Distributed Task Scheduler
hard

Description

Design a distributed task scheduler like Apache Airflow or Temporal that can handle millions of scheduled jobs with dependencies.

Design Netflix Video Processing Pipeline
hard

Description

Design the video processing pipeline that encodes uploaded content into multiple formats and resolutions for streaming.

Design a Fraud Detection System
hard

Description

Design a real-time fraud detection system for financial transactions that can identify suspicious patterns with minimal false positives.

Design a Global DNS System
expert

Description

Design a globally distributed DNS system like Cloudflare or Route 53 that handles billions of queries per day.

Design a Food Delivery System
medium

Description

Design a food delivery platform like DoorDash or Uber Eats handling restaurant listings, order management, and real-time delivery tracking.

Design a Distributed Lock Service
hard

Description

Design a distributed lock service like Apache ZooKeeper or etcd for coordinating distributed systems.

Design Figma/Google Docs
expert

Description

Design a real-time collaborative editing system supporting multiple simultaneous editors with conflict resolution.

Design a Notification System
medium

Description

Design a multi-channel notification system supporting push notifications, email, SMS, and in-app messages at scale.

Design a Web Crawler
hard

Description

Design a distributed web crawler that can index billions of web pages efficiently while being polite to websites.

Design a Metrics Collection System
hard

Description

Design a metrics collection and monitoring system like Datadog or Prometheus handling millions of time-series data points.

Design a Feature Flag System
medium

Description

Design a feature flag management system for controlled rollouts, A/B testing, and kill switches.

Design an Event Sourcing System
hard

Description

Design an event sourcing architecture for a financial application requiring complete audit trails.

Design a Content Moderation System
hard

Description

Design an automated content moderation system for a social media platform using ML and human review.

Design a Graph Database
expert

Description

Design a graph database system optimized for social network queries and recommendation engines.

Design an API Gateway
medium

Description

Design an API gateway that handles authentication, rate limiting, routing, and request transformation for microservices.

Design Twitter Social Network
hard

Description

Design a microblogging platform where users post tweets, follow others, like, retweet, and view a timeline feed.

Design YouTube Video Streaming Platform
hard

Description

Design a video sharing and streaming platform supporting upload, transcoding, streaming, recommendations, comments, and likes.

Design WhatsApp Messaging System
hard

Description

Design a real-time messaging application like WhatsApp supporting 1-on-1 chat, group chat, media sharing, and message delivery receipts.

Design Uber Ride-Sharing Platform
hard

Description

Design a ride-sharing application matching drivers with passengers, handling real-time location tracking, fare calculation, and payments.

Design Netflix Video Streaming Platform
expert

Description

Design a global video streaming platform that serves millions of concurrent users with personalized recommendations and adaptive bitrate streaming.

Design Instagram
hard

Description

Design a photo-sharing social media platform like Instagram. Users can upload photos, follow others, like posts, and view a personalized feed.

Asked by

MetaGoogle
Design a URL Shortening Service
medium

Description

Design a system like bit.ly that converts long URLs into short, memorable links. The system should handle billions of URLs with high availability and low latency.

Asked by

GoogleAmazonMicrosoft
Design a Large-Scale System Migration
expert

Description

Design a strategy to migrate a monolithic system serving 10M users to microservices with zero downtime.

Design an Incident Management System
hard

Description

Design an incident management process and supporting systems for a 24/7 operation with 99.99% uptime requirements.

Design an Engineering Organization Structure
expert

Description

Design an organizational structure for scaling an engineering team from 20 to 200 engineers while maintaining velocity.

Design a Technical Debt Management System
expert

Description

As an Engineering Manager, design a system to identify, prioritize, and systematically address technical debt across your organization.

Design a Platform Engineering Strategy
expert

Description

Design an internal developer platform strategy to improve developer productivity and standardize infrastructure across 50+ engineering teams.

Design an Architecture Decision Framework
expert

Description

As a Software Architect, design a framework for making and documenting architectural decisions across multiple teams.

Design an SLO-based Reliability Program
expert

Description

Design a reliability program using SLOs (Service Level Objectives) to balance feature velocity with system stability.

Design Google Maps
hard

Description

Design a mapping and navigation service like Google Maps with features like map rendering, directions, and real-time traffic.

Asked by

GoogleAppleUber
Design a Payment System
hard

Description

Design a payment processing system like Stripe or PayPal handling transactions, refunds, and fraud detection.

Asked by

AmazonAirbnbStripe
Design Google Docs
hard

Description

Design a real-time collaborative document editing system like Google Docs supporting multiple concurrent editors.

Asked by

GoogleMicrosoftDropbox
Design a Distributed Cache
hard

Description

Design a distributed caching system like Redis or Memcached that can handle millions of requests per second.

Asked by

GoogleAmazonMeta+1
Design a Rate Limiter
medium

Description

Design a distributed rate limiting system to protect APIs from abuse and ensure fair usage.

Asked by

GoogleAmazonStripe
Design Uber/Lyft
medium

Description

Design a ride-sharing application like Uber supporting real-time driver matching, location tracking, and fare calculation.

Asked by

GoogleAmazonUber
Design WhatsApp/Messenger
medium

Description

Design a real-time messaging application like WhatsApp supporting 1:1 chat, group chat, media sharing, and delivery receipts.

Asked by

MetaMicrosoftSlack
Design Instagram
medium

Description

Design a photo-sharing social network like Instagram with features like posting photos, following users, and a personalized feed.

Asked by

GoogleMetaTwitter/X
Design a URL Shortener
easy

Description

Design a URL shortening service like bit.ly or TinyURL. The system should generate short URLs from long ones and redirect users.

Asked by

GoogleAmazonMeta+1
Design Twitter/X
medium

Description

Design a microblogging platform like Twitter with features like posting tweets, following users, timeline, and trending topics.

Asked by

MetaTwitter/XLinkedIn
Design Netflix/YouTube
medium

Description

Design a video streaming platform like Netflix or YouTube supporting video upload, transcoding, and adaptive streaming.

Asked by

GoogleAmazonNetflix
Database Sharding Strategies
medium

Description

Explain different database sharding strategies and when to use each.

Microservices vs Monolith
medium

Description

When should you choose microservices over a monolithic architecture? What are the trade-offs?

CAP Theorem Explained
easy

Description

Explain the CAP theorem and its implications for distributed system design.

Horizontal vs Vertical Scaling
easy

Description

Compare horizontal scaling (scaling out) vs vertical scaling (scaling up). What are the trade-offs?

API Gateway vs Load Balancer
easy

Description

Explain the differences between an API Gateway and a Load Balancer. When would you use each?