🧩 Practice Problems

Practice system design interviews with real problems from top tech companies. Each problem includes detailed solutions, trade-off analysis, and alternative approaches.

9
Practice Problems
8
Categories
Real
Interview Questions
Detailed
Solutions

Filter by Difficulty

Easy (1)Medium (3)Hard (5)

Design a URL Shortener (like bit.ly)

EasyWeb Services

Design a service that creates short URLs and redirects to original URLs

Key Topics:
URL encodingDatabase designCachingRate limiting
45-60 min🏢 Google, Amazon, Microsoft
Start practicing →

Design a Chat System (like WhatsApp)

MediumReal-time Systems

Design a real-time messaging system for millions of users

Key Topics:
WebSocketsMessage queuesDatabase shardingPush notifications
60-90 min🏢 Meta, Uber, LinkedIn
Start practicing →

Design a News Feed (like Twitter)

MediumSocial Media

Design a scalable news feed system with timeline generation

Key Topics:
Timeline generationFan-out strategiesCachingContent ranking
60-90 min🏢 Twitter, Meta, Pinterest
Start practicing →

Design a Video Streaming Service (like YouTube)

HardMedia Systems

Design a global video streaming platform with encoding and CDN

Key Topics:
Video encodingCDN designGlobal distributionMetadata storage
90-120 min🏢 Google, Netflix, Amazon
Start practicing →

Design a Ride-sharing Service (like Uber)

HardLocation-based

Design a real-time ride matching and tracking system

Key Topics:
Geospatial indexingReal-time matchingGPS trackingPricing algorithms
90-120 min🏢 Uber, Lyft, DoorDash
Start practicing →

Design a Search Engine (like Google)

HardSearch & Discovery

Design a web search engine with crawling, indexing, and ranking

Key Topics:
Web crawlingInverted indexPageRankDistributed search
90-120 min🏢 Google, Microsoft, Amazon
Start practicing →

Design a Payment System (like PayPal)

HardFinancial Services

Design a secure payment processing system with fraud detection

Key Topics:
Payment processingSecurityFraud detectionCompliance
90-120 min🏢 PayPal, Stripe, Square
Start practicing →

Design a Notification System

MediumInfrastructure

Design a multi-channel notification system (email, SMS, push)

Key Topics:
Message queuesRate limitingTemplate managementDelivery tracking
60-90 min🏢 Amazon, Twilio, SendGrid
Start practicing →

Design a Distributed Cache (like Redis Cluster)

HardInfrastructure

Design a distributed caching system with consistency guarantees

Key Topics:
Consistent hashingReplicationCache evictionFault tolerance
90-120 min🏢 Redis, Amazon, Google
Start practicing →

How to Practice System Design

1. Understand Requirements:
  • • Clarify functional requirements
  • • Estimate scale (users, data, QPS)
  • • Define success metrics
2. High-level Design:
  • • Start with simple architecture
  • • Identify major components
  • • Show data flow
3. Deep Dive & Scale:
  • • Address bottlenecks
  • • Discuss trade-offs
  • • Plan for growth