System Design Problems

Browse 50 curated problems from top tech companies

Design a Real-time Gaming Leaderboard
hard
Distributed Systems
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.
45 min
RedisSorted SetsReal-timeGaming
Design a Graph Database
expert
Design a graph database system optimized for social network queries and recommendation engines.
45 min
Graph DatabaseIndex-free AdjacencyGraph TraversalPartitioning
Design a Content Moderation System
hard
Design an automated content moderation system for a social media platform using ML and human review.
45 min
Content ModerationML PipelineHuman ReviewPolicy Engine
Design an Event Sourcing System
hard
Design an event sourcing architecture for a financial application requiring complete audit trails.
45 min
Event SourcingCQRSEvent StoreProjections
Design a Feature Flag System
medium
Infrastructure
Design a feature flag management system for controlled rollouts, A/B testing, and kill switches.
45 min
Feature FlagsA/B TestingGradual RolloutSDK
Design an API Gateway
medium
Infrastructure
Design an API gateway that handles authentication, rate limiting, routing, and request transformation for microservices.
45 min
API GatewayRate LimitingAuthenticationLoad Balancing
Design a Metrics Collection System
hard
Design a metrics collection and monitoring system like Datadog or Prometheus handling millions of time-series data points.
45 min
Time SeriesAggregationAlertingVisualization
Design a Ride Matching Algorithm
hard
Design the core matching algorithm for a ride-sharing service that optimizes driver-rider pairing.
45 min
MatchingGeospatialOptimizationReal-time
Design a Web Crawler
hard
Design a distributed web crawler that can index billions of web pages efficiently while being polite to websites.
45 min
CrawlingDistributed QueuePolitenessDeduplication
Design a Notification System
medium
Design a multi-channel notification system supporting push notifications, email, SMS, and in-app messages at scale.
45 min
Push NotificationsMessage QueueRate LimitingUser Preferences
Design Figma/Google Docs
expert
Real-time Systems
Design a real-time collaborative editing system supporting multiple simultaneous editors with conflict resolution.
45 min
CRDTOTReal-time SyncCollaboration
Design a Distributed Lock Service
hard
Distributed Systems
Design a distributed lock service like Apache ZooKeeper or etcd for coordinating distributed systems.
45 min
ConsensusDistributed LockingLeader ElectionFault Tolerance
Design a Food Delivery System
medium
Design a food delivery platform like DoorDash or Uber Eats handling restaurant listings, order management, and real-time delivery tracking.
45 min
GeospatialReal-time TrackingMatchingETA Prediction
Design a Global DNS System
expert
Infrastructure
Design a globally distributed DNS system like Cloudflare or Route 53 that handles billions of queries per day.
45 min
DNSGeoDNSCachingAnycast
Design a Fraud Detection System
hard
Design a real-time fraud detection system for financial transactions that can identify suspicious patterns with minimal false positives.
45 min
ML PipelineReal-timeRule EngineFeature Store
Design Netflix Video Processing Pipeline
hard
Design the video processing pipeline that encodes uploaded content into multiple formats and resolutions for streaming.
45 min
Video EncodingPipelineParallel ProcessingStorage
Design a Distributed Task Scheduler
hard
Distributed Systems
Design a distributed task scheduler like Apache Airflow or Temporal that can handle millions of scheduled jobs with dependencies.
45 min
DAGTask QueueSchedulingFault Tolerance
Design Google Calendar
medium
Design a calendar application supporting event scheduling, recurring events, shared calendars, and meeting room booking.
45 min
SchedulingRecurring EventsConflict DetectionNotifications
Design a Stock Trading System
expert
Distributed Systems
Design a high-frequency stock trading platform handling order matching, real-time price updates, and trade execution with microsecond latency.
45 min
Low LatencyOrder MatchingFIFO QueueFinancial
Design Slack/Discord
hard
Real-time Systems
Design a real-time messaging platform like Slack or Discord supporting channels, direct messages, file sharing, and presence indicators.
45 min
WebSocketMessage QueuePresenceReal-time
Design YouTube Video Streaming Platform
hard
Design a video sharing and streaming platform supporting upload, transcoding, streaming, recommendations, comments, and likes.
45 min
Design Uber Ride-Sharing Platform
hard
Distributed Systems
Design a ride-sharing application matching drivers with passengers, handling real-time location tracking, fare calculation, and payments.
45 min
Design Twitter Social Network
hard
Social & Media
Design a microblogging platform where users post tweets, follow others, like, retweet, and view a timeline feed.
45 min
Design WhatsApp Messaging System
hard
Design a real-time messaging application like WhatsApp supporting 1-on-1 chat, group chat, media sharing, and message delivery receipts.
45 min
messagingwebsocketsreal-timedistributed
Design Netflix Video Streaming Platform
expert
Design a global video streaming platform that serves millions of concurrent users with personalized recommendations and adaptive bitrate streaming.
45 min
streamingcdnvideorecommendations
Design a URL Shortening Service
medium
Distributed Systems
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.
45 min
url-shortenerdistributed-systemscachingscalability
Design Instagram
hard
Social & Media
Design a photo-sharing social media platform like Instagram. Users can upload photos, follow others, like posts, and view a personalized feed.
60 min
social-medianewsfeedimage-storagegraphs
Design a Large-Scale System Migration
expert
Distributed Systems
Design a strategy to migrate a monolithic system serving 10M users to microservices with zero downtime.
60 min
migrationmonolithmicroservicesstrangler-fig
Design an SLO-based Reliability Program
expert
Infrastructure
Design a reliability program using SLOs (Service Level Objectives) to balance feature velocity with system stability.
45 min
srereliabilitysloobservability
Design an Engineering Organization Structure
expert
Fundamentals
Design an organizational structure for scaling an engineering team from 20 to 200 engineers while maintaining velocity.
45 min
organizationteam-topologiesscalingmanagement
Design a Technical Debt Management System
expert
Fundamentals
As an Engineering Manager, design a system to identify, prioritize, and systematically address technical debt across your organization.
45 min
technical-debtengineering-managementprioritizationmetrics
Design a Platform Engineering Strategy
expert
Infrastructure
Design an internal developer platform strategy to improve developer productivity and standardize infrastructure across 50+ engineering teams.
60 min
platform-engineeringdevopsinfrastructuredeveloper-experience
Design an Architecture Decision Framework
expert
Fundamentals
As a Software Architect, design a framework for making and documenting architectural decisions across multiple teams.
45 min
architecturegovernancedocumentationleadership
Design an Incident Management System
hard
Infrastructure
Design an incident management process and supporting systems for a 24/7 operation with 99.99% uptime requirements.
45 min
incident-managementon-callsreoperations
Design Google Maps
hard
Search & Discovery
Design a mapping and navigation service like Google Maps with features like map rendering, directions, and real-time traffic.
60 min
mapsroutinggeospatialgraph-algorithms
Design a Payment System
hard
E-commerce & Payments
Design a payment processing system like Stripe or PayPal handling transactions, refunds, and fraud detection.
60 min
paymentstransactionsledgerfraud-detection
Design a Rate Limiter
medium
Infrastructure
Design a distributed rate limiting system to protect APIs from abuse and ensure fair usage.
30 min
rate-limitingapiredisdistributed-systems
Design a Distributed Cache
hard
Data Storage
Design a distributed caching system like Redis or Memcached that can handle millions of requests per second.
45 min
cachingdistributed-systemsconsistent-hashinglru
Design Google Docs
hard
Real-time Systems
Design a real-time collaborative document editing system like Google Docs supporting multiple concurrent editors.
60 min
collaborationreal-timeotcrdt
Design Instagram
medium
Social & Media
Design a photo-sharing social network like Instagram with features like posting photos, following users, and a personalized feed.
45 min
social-networkfeedphoto-sharingcdn
Design Twitter/X
medium
Social & Media
Design a microblogging platform like Twitter with features like posting tweets, following users, timeline, and trending topics.
45 min
social-networktimelinetrendingfan-out
Design Uber/Lyft
medium
Real-time Systems
Design a ride-sharing application like Uber supporting real-time driver matching, location tracking, and fare calculation.
45 min
ride-sharinggeospatialreal-timematching
Design Netflix/YouTube
medium
Social & Media
Design a video streaming platform like Netflix or YouTube supporting video upload, transcoding, and adaptive streaming.
45 min
video-streamingcdntranscodingrecommendation
Design WhatsApp/Messenger
medium
Real-time Systems
Design a real-time messaging application like WhatsApp supporting 1:1 chat, group chat, media sharing, and delivery receipts.
45 min
messagingwebsocketreal-timechat
Design a URL Shortener
easy
Data Storage
Design a URL shortening service like bit.ly or TinyURL. The system should generate short URLs from long ones and redirect users.
30 min
url-shortenerkey-value-storehashingcaching
Horizontal vs Vertical Scaling
easy
Fundamentals
Compare horizontal scaling (scaling out) vs vertical scaling (scaling up). What are the trade-offs?
45 min
fundamentalsscalabilityinfrastructure
Microservices vs Monolith
medium
Fundamentals
When should you choose microservices over a monolithic architecture? What are the trade-offs?
45 min
architecturefundamentalsdesign-patterns
Database Sharding Strategies
medium
Data Storage
Explain different database sharding strategies and when to use each.
45 min
databasesscalabilitydata-storage
CAP Theorem Explained
easy
Distributed Systems
Explain the CAP theorem and its implications for distributed system design.
45 min
distributed-systemstheorydatabases
API Gateway vs Load Balancer
easy
Fundamentals
Explain the differences between an API Gateway and a Load Balancer. When would you use each?
15 min
fundamentalsnetworkingarchitecture