Skip to content
Anurag Goel

High-Level Design

System design interview practice organized by system category, with progress tracking saved on this device.

HLD interviews are open-ended by design — there's no single correct answer, only better and worse trade-offs. Practice scoping requirements, estimating scale, and defending your architecture under follow-up questions. For the underlying concepts (consistency, partitioning, caching, messaging), see the system design notes .

0 / 129 completed

Social Media (8)

  • Design an Anonymous Review System medium

    Problem brief

    Build a review platform where public posts do not reveal the author's identity.

    Core requirements

    • Accept text and photo uploads.
    • Browse reviews and moderate abuse.

    Design points to discuss

    Discuss anonymity boundaries, upload storage, abuse controls, deletion, and pagination without exposing private account data.

  • Design Tinder medium

    Problem brief

    Build a location-aware dating platform.

    Core requirements

    • Discover eligible profiles and record swipes.
    • Create a match when interest is mutual.

    Design points to discuss

    Discuss geospatial retrieval, privacy, duplicate swipe handling, match consistency, and partitioning popular regions.

  • Design Strava medium

    Problem brief

    Track and share fitness activities.

    Core requirements

    • Ingest GPS samples and compute route summaries.
    • Show activity feeds and segment rankings.

    Design points to discuss

    Discuss offline uploads, geospatial storage, deduplication, privacy zones, and asynchronous metric computation.

  • Design Twitter hard

    Problem brief

    Build a short-post social network.

    Core requirements

    • Publish posts and follow accounts.
    • Serve a personalized timeline.

    Design points to discuss

    Compare fan-out on write and read; handle celebrity accounts, feed pagination, deletion, and availability during partial failure.

  • Design Facebook hard

    Problem brief

    Design the core of a social network rather than every product feature.

    Core requirements

    • Manage profiles and relationships.
    • Publish posts and assemble a permission-aware feed.

    Design points to discuss

    Define service boundaries; discuss graph storage, feed ranking, media storage, and privacy changes propagating to cached content.

  • Design Instagram hard

    Problem brief

    Build a photo-sharing application.

    Core requirements

    • Upload media and follow creators.
    • Serve a feed with likes and comments.

    Design points to discuss

    Discuss upload processing, object storage, CDN delivery, feed fan-out, and consistent handling of deleted or private posts.

  • Design LinkedIn hard

    Problem brief

    Build a professional networking platform.

    Core requirements

    • Maintain profiles and connections.
    • Search people or jobs and serve professional updates.

    Design points to discuss

    Discuss graph traversal, search indexing, privacy, high-degree accounts, and separating feed and recruitment workloads.

  • Design WhatsApp hard

    Problem brief

    Build a multi-device messaging service.

    Core requirements

    • Send direct and group messages.
    • Provide delivery status and offline history.

    Design points to discuss

    Discuss connection gateways, per-conversation ordering, retries, device synchronization, and end-to-end encryption boundaries.

E-commerce (18)

  • Design a Book Seller Marketplace medium

    Problem brief

    Find the best book offer across independent sellers.

    Core requirements

    • Accept buyer requests with a price limit.
    • Query seller APIs and compare available offers.

    Design points to discuss

    Discuss adapter interfaces, vendor timeouts, partial results, caching, asynchronous quotes, and quote expiry before purchase.

  • Design a Hotel Booking Platform medium

    Problem brief

    Build a hotel booking platform with reliable availability.

    Core requirements

    • Search by destination and dates.
    • Hold and confirm rooms with payment.

    Design points to discuss

    Discuss room-night inventory, search freshness, oversell prevention, payment compensation, and supplier integration.

  • Design a Car Rental Platform medium

    Problem brief

    Build a vehicle rental marketplace or fleet service.

    Core requirements

    • Search cars by location and rental interval.
    • Reserve, collect, and return a vehicle.

    Design points to discuss

    Discuss interval inventory, branch transfers, pricing snapshots, payment holds, and concurrent reservations.

  • Design a Merchant Product Listing System medium

    Problem brief

    Keep merchant catalogs current while serving shoppers.

    Core requirements

    • Accept individual and bulk listing changes.
    • Expose searchable product information.

    Design points to discuss

    Discuss ingestion queues, validation, index lag, ordering of updates, and isolating large merchants from smaller tenants.

  • Design a Library Reservation Platform medium

    Problem brief

    Coordinate reservations for library copies across branches.

    Core requirements

    • Search the catalog and place holds.
    • Allocate returned copies to waiting readers.

    Design points to discuss

    Discuss queue fairness, copy ownership, branch transfers, hold expiry, and consistency between search and circulation records.

  • Design a Ticket Exchange and Verification System hard

    Problem brief

    Allow tickets to be securely resold through partner platforms.

    Core requirements

    • Verify ticket ownership.
    • Transfer a ticket and invalidate the old admission token.

    Design points to discuss

    Discuss idempotent partner APIs, concurrent resale attempts, barcode revocation, and failure recovery across organizations.

  • Design a product voting system medium

    Problem brief

    Select popular products through user voting.

    Core requirements

    • Record votes and show counts.
    • Close voting and determine eligible winners.

    Design points to discuss

    Discuss duplicate votes, abuse prevention, hot counters, eventual display consistency, and authoritative results at closing time.

  • Design a Booking Waitlist System medium

    Problem brief

    Notify customers when previously unavailable bookings open.

    Core requirements

    • Join or leave a date-specific waitlist.
    • Offer released capacity to eligible users.

    Design points to discuss

    Discuss fairness, notification fan-out, offer expiration, overlapping date ranges, and atomically claiming availability.

  • Design an Airline Reservation Platform medium

    Problem brief

    Build an airline reservation service.

    Core requirements

    • Search itineraries and fares.
    • Hold seats, issue tickets, and manage cancellations.

    Design points to discuss

    Discuss external inventory systems, multi-leg reservations, fare expiry, idempotent payments, and compensating failed bookings.

  • Design a Local Delivery Service (Gopuff) easy

    Problem brief

    Deliver goods from nearby local warehouses.

    Core requirements

    • Show location-specific stock.
    • Place orders and dispatch deliveries.

    Design points to discuss

    Discuss inventory reservations, geographic service boundaries, order state, delivery assignment, and stock changes during checkout.

  • Design an Online Auction System medium

    Problem brief

    Run auctions with a defined closing time.

    Core requirements

    • Accept bids and stream the current price.
    • Select a winner and initiate settlement.

    Design points to discuss

    Discuss bid ordering, concurrent bids, authoritative clocks, closing rules, idempotency, and hot-item partitioning.

  • Design a Price Tracking Service (CamelCamelCamel) medium

    Problem brief

    Track product prices over time and alert users.

    Core requirements

    • Collect prices from multiple merchants.
    • Serve history and trigger threshold alerts.

    Design points to discuss

    Discuss crawl scheduling, product identity, stale quotes, time-series storage, alert deduplication, and vendor rate limits.

  • Design a Flash Sale System hard

    Problem brief

    Sell scarce inventory during a sudden traffic spike.

    Core requirements

    • Admit purchase attempts fairly.
    • Reserve stock and confirm paid orders.

    Design points to discuss

    Discuss waiting rooms, hot counters, atomic reservations, hold expiry, duplicate requests, and payment recovery without overselling.

  • Design Amazon hard

    Problem brief

    Design an online shopping platform with a focused purchase path.

    Core requirements

    • Browse and search a catalog.
    • Manage carts, orders, and checkout.

    Design points to discuss

    Discuss service boundaries, stock reservations, pricing snapshots, payment workflow, and eventual consistency of search indexes.

  • Design Uber hard

    Problem brief

    Connect riders with nearby drivers.

    Core requirements

    • Request and dispatch rides.
    • Track trips and calculate fares.

    Design points to discuss

    Discuss location ingestion, spatial matching, race-free driver assignment, trip state transitions, and region-based scaling.

  • Design Airbnb hard

    Problem brief

    Build a short-stay accommodation marketplace.

    Core requirements

    • Search listings and date availability.
    • Reserve stays and coordinate payment.

    Design points to discuss

    Discuss calendar consistency, search indexing, host updates, booking holds, cancellations, and cross-service failure recovery.

  • Design Payment System hard

    Problem brief

    Process payments through external providers.

    Core requirements

    • Create payment intents and track outcomes.
    • Handle callbacks, refunds, and reconciliation.

    Design points to discuss

    Discuss idempotency keys, durable state transitions, uncertain provider outcomes, ledger separation, and retry-safe processing.

  • Design Inventory Management medium

    Problem brief

    Track product stock across warehouses and sales channels.

    Core requirements

    • Receive inventory changes.
    • Reserve, release, and transfer quantities.

    Design points to discuss

    Discuss authoritative stock ownership, duplicate events, concurrent reservations, reconciliation, and delayed downstream updates.

Streaming (8)

  • Design a Video Surveillance System hard

    Problem brief

    Store and display security-camera footage.

    Core requirements

    • View live streams.
    • Retrieve recordings by camera and time.

    Design points to discuss

    Discuss stream ingestion, chunked object storage, retention, bandwidth, access control, and graceful recovery from camera outages.

  • Design Multi-Device Playback Synchronization hard

    Problem brief

    Keep playback consistent across a user's devices.

    Core requirements

    • Publish active device and playback position.
    • Transfer playback and apply remote controls.

    Design points to discuss

    Discuss session ownership, ordering, clock drift, stale devices, reconnect reconciliation, and conflicts between simultaneous commands.

  • Design Facebook Live Comments medium

    Problem brief

    Stream comments to viewers of a live broadcast.

    Core requirements

    • Accept comments and moderation actions.
    • Deliver ordered updates to many viewers.

    Design points to discuss

    Discuss pub-sub fan-out, hot streams, backpressure, reconnect cursors, duplicate messages, and removal propagation.

  • Design YouTube Top K hard

    Problem brief

    Find the most popular videos within rolling time windows.

    Core requirements

    • Ingest view events.
    • Query top items by time range.

    Design points to discuss

    Discuss stream aggregation, approximate versus exact ranking, late events, deduplication, and hot-key partitioning.

  • Design Netflix hard

    Problem brief

    Deliver a subscription video catalog on demand.

    Core requirements

    • Ingest and transcode titles.
    • Stream adaptive video to authorized viewers.

    Design points to discuss

    Discuss encoding pipelines, CDN placement, playback authorization, regional rights, and resilience to traffic spikes.

  • Design YouTube hard

    Problem brief

    Serve user-uploaded video at large scale.

    Core requirements

    • Upload and process videos.
    • Stream playback and expose video metadata.

    Design points to discuss

    Discuss resumable uploads, transcoding queues, object storage, CDN caching, moderation, and popularity skew.

  • Design Spotify hard

    Problem brief

    Build a music streaming service.

    Core requirements

    • Search tracks and manage playlists.
    • Stream audio and record listening activity.

    Design points to discuss

    Discuss catalog metadata, rights checks, CDN delivery, offline access, playlist consistency, and telemetry ingestion.

  • Design Video Conferencing hard

    Problem brief

    Provide real-time multi-party audio and video meetings.

    Core requirements

    • Join and leave rooms.
    • Exchange media and meeting controls.

    Design points to discuss

    Compare peer-to-peer, SFU, and MCU designs; discuss latency, NAT traversal, bandwidth adaptation, and regional routing.

Storage (8)

  • Design Amazon S3 (Object Storage) hard

    Problem brief

    Build durable object storage accessed through bucket and object APIs.

    Core requirements

    • Upload and retrieve large objects.
    • Manage versions, access policies, and deletion.

    Design points to discuss

    Discuss metadata versus blob storage, multipart uploads, checksums, replication or erasure coding, and consistency guarantees.

  • Design a Distributed Key-Value Store hard

    Problem brief

    Store key-value records across multiple machines.

    Core requirements

    • Read, write, and delete durable values.
    • Rebalance as nodes join or fail.

    Design points to discuss

    Discuss partitioning, replication, consistency, write-ahead logs, compaction, large values, and conflict resolution.

  • Design Snowflake (Cloud Data Warehouse) hard

    Problem brief

    Separate warehouse storage from elastic query execution.

    Core requirements

    • Load large analytical datasets.
    • Run concurrent SQL workloads.

    Design points to discuss

    Discuss columnar files, metadata catalogs, compute isolation, pruning, autoscaling, and recovery of failed query stages.

  • Design ClickHouse Cloud (Analytics Database) hard

    Problem brief

    Run a managed low-latency analytical database.

    Core requirements

    • Ingest event streams.
    • Execute aggregations over large tables.

    Design points to discuss

    Discuss sharding, replicas, columnar storage, metadata coordination, tenant isolation, and safe rolling upgrades.

  • Design Distributed Cache hard

    Problem brief

    Serve frequently accessed values with low latency across nodes.

    Core requirements

    • Get and set expiring entries.
    • Add or remove cache capacity.

    Design points to discuss

    Discuss consistent hashing, replication, eviction, hot keys, cache stampedes, and behavior when a cache node disappears.

  • Design File Storage System hard

    Problem brief

    Store and organize user files at scale.

    Core requirements

    • Upload, download, and list files.
    • Control sharing and deletion.

    Design points to discuss

    Discuss metadata indexing, blob storage, multipart transfers, quotas, authorization, and garbage collection of orphaned blobs.

  • Design Database System hard

    Problem brief

    Design a database around a declared query and transaction workload.

    Core requirements

    • Persist records and maintain indexes.
    • Support reads, writes, and recovery.

    Design points to discuss

    Choose an execution and storage model; discuss isolation, logging, replication, failover, and how indexes affect write cost.

  • Design CDN medium

    Problem brief

    Deliver cached content from edge locations.

    Core requirements

    • Route users to nearby caches.
    • Fetch origin content and invalidate stale copies.

    Design points to discuss

    Discuss cache keys, TTLs, eviction, request coalescing, origin protection, and regional outages.

Messaging (6)

  • Design a Webhook Callback System hard

    Problem brief

    Deliver event notifications to customer-owned HTTP endpoints.

    Core requirements

    • Register endpoint subscriptions.
    • Send signed callbacks and expose delivery history.

    Design points to discuss

    Discuss retry schedules, idempotent consumers, endpoint failures, dead-letter handling, ordering, and tenant rate limits.

  • Design a Presence Service API hard

    Problem brief

    Publish online and activity status for users or devices.

    Core requirements

    • Track heartbeats and disconnects.
    • Subscribe to presence updates.

    Design points to discuss

    Discuss leases, expiration, multi-device aggregation, eventual consistency, privacy, and reconnect storms.

  • Design Chat System hard

    Problem brief

    Provide real-time conversations with durable history.

    Core requirements

    • Create conversations and send messages.
    • Synchronize offline and connected clients.

    Design points to discuss

    Discuss persistent connections, sequence numbers, fan-out, delivery acknowledgements, and deduplicating retried sends.

  • Design Notification System medium

    Problem brief

    Deliver messages through email, push, and SMS.

    Core requirements

    • Accept transactional and bulk requests.
    • Honor preferences and expose delivery state.

    Design points to discuss

    Discuss priorities, per-channel queues, provider limits, retries, deduplication, and expiring time-sensitive notifications.

  • Design Email System medium

    Problem brief

    Operate an email service with mailboxes and delivery.

    Core requirements

    • Send and receive messages.
    • Search folders and manage attachments.

    Design points to discuss

    Discuss message routing, durable queues, spam filtering, mailbox partitioning, attachment storage, and delivery retries.

  • Design Pub-Sub System hard

    Problem brief

    Build a distributed event publication and subscription service.

    Core requirements

    • Publish records to topics.
    • Let consumers track delivery progress.

    Design points to discuss

    Discuss partition ordering, durability, acknowledgements, replay, retention, consumer groups, and slow-consumer isolation.

Search (5)

  • Design Facebook Post Search hard

    Problem brief

    Search social posts while respecting visibility.

    Core requirements

    • Index new and edited posts.
    • Answer keyword and boolean queries.

    Design points to discuss

    Discuss inverted indexes, shard fan-out, ranking, freshness, deletions, and permission checks on returned documents.

  • Design Google Search hard

    Problem brief

    Build a web search engine from crawling through retrieval.

    Core requirements

    • Discover and index pages.
    • Return ranked results for text queries.

    Design points to discuss

    Discuss crawl scheduling, deduplication, inverted indexes, ranking stages, partitioning, and freshness versus cost.

  • Design Elasticsearch hard

    Problem brief

    Build a distributed full-text search and aggregation engine.

    Core requirements

    • Index documents and updates.
    • Execute queries across shards.

    Design points to discuss

    Discuss analyzers, inverted indexes, shard routing, replicas, refresh lag, and consistency during reindexing.

  • Design Recommendation System hard

    Problem brief

    Recommend relevant items to users.

    Core requirements

    • Collect interaction signals.
    • Retrieve candidates and rank results.

    Design points to discuss

    Discuss offline versus online computation, cold starts, feedback loops, feature freshness, latency budgets, and evaluation.

  • Design URL Shortener medium

    Problem brief

    Create short aliases that redirect to long URLs.

    Core requirements

    • Create and resolve aliases.
    • Support expiration and optional custom aliases.

    Design points to discuss

    Discuss ID generation, collisions, read-heavy caching, hot links, abuse controls, and availability of redirects.

Gaming (6)

  • Design a Crossword Solving Service hard

    Problem brief

    Offer an asynchronous service for solving crossword puzzles.

    Core requirements

    • Accept grids and clues.
    • Return progress and a completed or unsatisfiable result.

    Design points to discuss

    Discuss work queues, bounded search budgets, cancellation, result caching, and isolation of expensive solver jobs.

  • Design Online Chess hard

    Problem brief

    Host real-time chess matches across devices.

    Core requirements

    • Match players and validate moves.
    • Maintain clocks, reconnect state, and results.

    Design points to discuss

    Discuss authoritative game servers, per-game ordering, timeout handling, anti-cheat boundaries, and durable move logs.

  • Design Online Gaming Platform hard

    Problem brief

    Provide shared infrastructure for online game sessions.

    Core requirements

    • Authenticate players and create sessions.
    • Manage game servers and persist results.

    Design points to discuss

    Discuss authoritative state, region placement, session recovery, cheating prevention, and resource allocation during demand spikes.

  • Design Leaderboard System medium

    Problem brief

    Maintain ranked scores for a large player population.

    Core requirements

    • Update scores and return top players.
    • Show a player's rank and neighboring entries.

    Design points to discuss

    Discuss sorted indexes, tie-breaking, seasonal resets, sharding, hot leaderboards, and consistency of score updates.

  • Design Matchmaking System hard

    Problem brief

    Group players into suitable multiplayer sessions.

    Core requirements

    • Queue players by skill and constraints.
    • Allocate a server after a match forms.

    Design points to discuss

    Discuss fairness versus waiting time, expanding search ranges, queue ownership, cancellations, and failed server assignments.

  • Design Game Analytics medium

    Problem brief

    Analyze gameplay and product behavior.

    Core requirements

    • Collect gameplay events.
    • Serve engagement and performance dashboards.

    Design points to discuss

    Discuss schemas, event deduplication, late data, streaming versus batch processing, retention, and privacy controls.

Developer Infra & Tools (15)

  • Design a Feature Flag Service hard

    Problem brief

    Change application behavior without redeploying code.

    Core requirements

    • Manage flags and targeting rules.
    • Evaluate flags with low latency.

    Design points to discuss

    Discuss local SDK caches, deterministic percentage rollout, configuration propagation, fallback defaults, and audit history.

  • Design a Distributed Denylist System hard

    Problem brief

    Block requests from disallowed entities across regions.

    Core requirements

    • Publish versioned blocking rules.
    • Evaluate users, addresses, or networks locally.

    Design points to discuss

    Discuss propagation lag, IPv4/IPv6 ranges, lookup indexes, regional rules, signed updates, and fail-open versus fail-closed policy.

  • Design a System Monitoring Agent hard

    Problem brief

    Collect host telemetry without disrupting applications.

    Core requirements

    • Sample resource metrics periodically.
    • Buffer and transmit batches.

    Design points to discuss

    Discuss bounded CPU and memory, collection failures, backpressure, offline buffering, upgrades, and fleet configuration.

  • Design a VM Pool Scheduling Platform hard

    Problem brief

    Assign ready virtual machines quickly despite slow provisioning.

    Core requirements

    • Maintain warm capacity pools.
    • Allocate and release VM groups.

    Design points to discuss

    Discuss leases, inventory reconciliation, autoscaling, noisy tenants, placement constraints, and leaked resources after failures.

  • Design a Cloud Development Environment hard

    Problem brief

    Provide isolated cloud development workspaces.

    Core requirements

    • Create environments from templates.
    • Persist work and reconnect sessions.

    Design points to discuss

    Discuss container or VM isolation, secrets, storage, startup latency, idle shutdown, quotas, and region placement.

  • Design an On-Premises to Cloud Migration System hard

    Problem brief

    Move existing infrastructure to the cloud with controlled cutover.

    Core requirements

    • Inventory dependencies and migrate workloads.
    • Validate and switch production traffic.

    Design points to discuss

    Discuss migration waves, network connectivity, data synchronization, rollback checkpoints, and verification before decommissioning.

  • Design LeetCode (Online Coding Platform) medium

    Problem brief

    Run submitted code safely and score it.

    Core requirements

    • Accept language-specific submissions.
    • Execute test cases and update contest rankings.

    Design points to discuss

    Discuss sandboxes, resource limits, job queues, deterministic environments, abuse prevention, and duplicate judging requests.

  • Design GitHub Actions (CI/CD Platform) hard

    Problem brief

    Execute repository workflows triggered by events.

    Core requirements

    • Parse workflow DAGs and run dependent jobs.
    • Store logs, artifacts, and status.

    Design points to discuss

    Discuss runner isolation, secrets, caching, cancellation, retries, untrusted pull requests, and fair capacity sharing.

  • Design a Rate Limiter medium

    Problem brief

    Enforce request quotas across a distributed application.

    Core requirements

    • Apply per-client and global limits.
    • Return admission decisions quickly.

    Design points to discuss

    Compare centralized counters and local quotas; discuss atomicity, window boundaries, clock issues, and availability trade-offs.

  • Design a Web Crawler hard

    Problem brief

    Discover and process web pages starting from seed URLs.

    Core requirements

    • Fetch pages and extract links.
    • Avoid revisiting equivalent URLs.

    Design points to discuss

    Discuss URL normalization, robots policies, per-host politeness, frontier partitioning, retries, and crawl traps.

  • Design a Distributed Job Scheduler hard

    Problem brief

    Execute scheduled and immediate jobs reliably.

    Core requirements

    • Register schedules and dispatch due jobs.
    • Retry failures and retain execution history.

    Design points to discuss

    Discuss durable scheduling, worker leases, duplicate execution, idempotent jobs, timing precision, and partitioning hot queues.

  • Design an API Gateway medium

    Problem brief

    Route and protect requests at a common entry point.

    Core requirements

    • Authenticate and route requests.
    • Apply throttling and observability.

    Design points to discuss

    Discuss routing updates, load balancing, timeouts, retries, circuit breakers, and avoiding a single point of failure.

  • Design a Distributed Logging System hard

    Problem brief

    Collect searchable logs from many services.

    Core requirements

    • Ingest structured records.
    • Search by service, time, and correlation ID.

    Design points to discuss

    Discuss buffering, partitioning, indexing cost, retention tiers, backpressure, and ingestion failures.

  • Design a Metrics and Monitoring System hard

    Problem brief

    Observe system health and notify operators.

    Core requirements

    • Collect metrics and query dashboards.
    • Evaluate alert rules continuously.

    Design points to discuss

    Discuss time-series storage, label cardinality, aggregation, late samples, missing data, and alert deduplication.

  • Design a Distributed Unique ID Generator medium

    Problem brief

    Generate unique identifiers across independent servers.

    Core requirements

    • Issue IDs at high throughput.
    • Operate through node failures.

    Design points to discuss

    Compare random, coordinated, and time-based IDs; discuss ordering guarantees, clock rollback, node identity, and collision risk.

Collaboration Tools (6)

  • Design Google Calendar medium

    Problem brief

    Build shared calendars across users and devices.

    Core requirements

    • Create recurring events and invitations.
    • Synchronize edits and send reminders.

    Design points to discuss

    Discuss time zones, recurrence expansion, conflict handling, notification scheduling, and offline synchronization.

  • Design a Customer Support Platform hard

    Problem brief

    Route and resolve support requests across channels.

    Core requirements

    • Create tickets from email or chat.
    • Assign agents and track SLA deadlines.

    Design points to discuss

    Discuss durable intake, duplicate conversations, assignment ownership, priority queues, search, and live-chat latency.

  • Design Google Docs (Collaborative Editing) hard

    Problem brief

    Allow multiple users to edit the same document simultaneously.

    Core requirements

    • Synchronize edits and presence.
    • Persist history and share documents.

    Design points to discuss

    Compare operational transformation and CRDTs; discuss ordering, offline edits, snapshots, permissions, and large documents.

  • Design Dropbox / Google Drive hard

    Problem brief

    Synchronize files across devices through cloud storage.

    Core requirements

    • Upload deltas and download changes.
    • Share files and recover versions.

    Design points to discuss

    Discuss chunking, content hashes, metadata consistency, change feeds, conflict resolution, and resumable transfers.

  • Design Slack hard

    Problem brief

    Provide workspace messaging for organizations.

    Core requirements

    • Create channels and threads.
    • Search history and deliver notifications.

    Design points to discuss

    Discuss tenant isolation, channel fan-out, message ordering, persistent connections, search lag, and access revocation.

  • Design Trello (Task Management Board) medium

    Problem brief

    Coordinate shared boards with cards and task lists.

    Core requirements

    • Move and edit cards.
    • Assign users and synchronize updates.

    Design points to discuss

    Discuss ordering keys, optimistic concurrency, activity logs, permissions, and reconnecting clients after missed events.

Location & Maps (8)

  • Design a Healthcare Provider Search System hard

    Problem brief

    Find eligible healthcare providers and available appointments.

    Core requirements

    • Filter by specialty and licensing region.
    • Show availability and reserve a slot.

    Design points to discuss

    Discuss sensitive data boundaries, index freshness, external calendars, timezone handling, and avoiding double bookings.

  • Design a bike-sharing system hard

    Problem brief

    Manage a fleet of rentable bicycles.

    Core requirements

    • Find and unlock a bike.
    • Track a trip and process its return.

    Design points to discuss

    Discuss device connectivity, ride leases, GPS ingestion, billing, station inventory, and recovery from offline locks.

  • Design a Driver Density Heatmap System hard

    Problem brief

    Visualize where drivers are concentrated in near real time.

    Core requirements

    • Ingest driver locations.
    • Aggregate counts into map cells.

    Design points to discuss

    Discuss geospatial tiling, window expiry, stale drivers, zoom levels, privacy, and hot-city partitions.

  • Design a Parking Garage Locator medium

    Problem brief

    Find suitable parking garages near a driver.

    Core requirements

    • Search by proximity and constraints.
    • Show current capacity and ratings.

    Design points to discuss

    Discuss sensor update freshness, geospatial indexes, stale availability, cache invalidation, and optional reservations.

  • Design a Food Review App medium

    Problem brief

    Review individual food items after a purchase.

    Core requirements

    • Create reviews and votes.
    • Compute rewards under a defined policy.

    Design points to discuss

    Discuss order verification, duplicate votes, abuse detection, media storage, ranking, and auditable reward calculations.

  • Design Google Maps hard

    Problem brief

    Provide maps, routing, and traffic-aware navigation.

    Core requirements

    • Search places and calculate routes.
    • Incorporate road and traffic updates.

    Design points to discuss

    Discuss map tiles, graph partitioning, preprocessing, live traffic overlays, geospatial search, and offline clients.

  • Design a Proximity/Nearby Search Service (Yelp) medium

    Problem brief

    Find nearby businesses that match user filters.

    Core requirements

    • Index business locations.
    • Return ranked results within a radius.

    Design points to discuss

    Discuss geohashes or spatial trees, dense regions, query expansion, ranking, and freshness of business information.

  • Design Real-Time Location Tracking for Ride-Sharing hard

    Problem brief

    Track moving vehicles for riders and dispatchers.

    Core requirements

    • Ingest location updates.
    • Stream the latest position to authorized viewers.

    Design points to discuss

    Discuss sampling, spatial partitioning, out-of-order updates, stale data, connection fan-out, and retention of trip history.

Finance & Ads (21)

  • Design a Chargeback Processing System hard

    Problem brief

    Process disputed card transactions through external networks.

    Core requirements

    • Accept disputes and collect evidence.
    • Build and transmit network-specific batches.

    Design points to discuss

    Discuss deduplication, filing deadlines, durable workflow state, batch size limits, acknowledgements, and reconciliation.

  • Design a Financial Ledger hard

    Problem brief

    Maintain an auditable record of monetary movements.

    Core requirements

    • Append balanced transaction entries.
    • Query balances and transaction history.

    Design points to discuss

    Discuss double-entry invariants, immutable records, idempotency, concurrent updates, reconciliation, and derived balance views.

  • Design a Crypto Exchange hard

    Problem brief

    Operate a digital-asset trading exchange.

    Core requirements

    • Accept and match orders.
    • Manage account balances and market data.

    Design points to discuss

    Discuss matching-engine partitioning, deterministic order sequencing, custody boundaries, ledger consistency, and recovery logs.

  • Design a Stock Price Alert System medium

    Problem brief

    Alert users when market prices cross thresholds.

    Core requirements

    • Ingest a price feed.
    • Evaluate subscriptions and send alerts.

    Design points to discuss

    Discuss indexing subscriptions by symbol and threshold, hot symbols, duplicate ticks, stale feeds, and repeated crossing rules.

  • Design a Banking Application hard

    Problem brief

    Serve accounts and banking transactions reliably.

    Core requirements

    • Manage accounts and transfers.
    • Expose balances and transaction history.

    Design points to discuss

    Discuss ledger ownership, strong invariants, authentication, idempotency, reconciliation, and availability during peak transaction periods.

  • Design a Travel Insurance System hard

    Problem brief

    Provide travel-triggered insurance coverage.

    Core requirements

    • Manage policies and detect eligible travel.
    • Activate coverage and process claims.

    Design points to discuss

    Discuss uncertain location signals, policy versioning, event ordering, durable workflows, and auditable decisions.

  • Design a Delayed Payment Scheduler Service hard

    Problem brief

    Transfer funds at a future time.

    Core requirements

    • Create or cancel a scheduled transfer.
    • Execute eligible transfers once due.

    Design points to discuss

    Discuss reservation versus balance-at-execution checks, idempotent ledger operations, overdue jobs, retries, and cancellation races.

  • Design a Real-Time Ad Bidding System hard

    Problem brief

    Choose an advertisement through a time-bounded auction.

    Core requirements

    • Request bids from advertisers.
    • Select and serve an eligible winning ad.

    Design points to discuss

    Discuss strict latency budgets, partial bidder failures, targeting caches, budget enforcement, and impression/click attribution.

  • Design an Ad Asset Manager hard

    Problem brief

    Manage creative assets for advertising campaigns.

    Core requirements

    • Upload assets individually or in bulk.
    • Validate and publish usable versions.

    Design points to discuss

    Discuss asynchronous scanning, object storage, job status, quotas, invalid assets, and safe activation of updated creatives.

  • Design a Credit Card Statement System hard

    Problem brief

    Generate official and custom financial statements.

    Core requirements

    • Build monthly statements.
    • Serve user-selected date ranges and categories.

    Design points to discuss

    Discuss immutable billing snapshots, asynchronous document generation, secure storage, access control, and reproducible totals.

  • Design an Ad Budgeting System hard

    Problem brief

    Keep advertising spend within campaign budgets.

    Core requirements

    • Allocate budgets and record billable events.
    • Pause or limit campaigns as funds run low.

    Design points to discuss

    Discuss reservation versus final charging, duplicate events, regional allocation, overspend tolerance, and reconciliation.

  • Design a Mobile Check Deposit System hard

    Problem brief

    Accept check deposits from mobile photographs.

    Core requirements

    • Upload images and extract fields.
    • Validate externally and update deposit status.

    Design points to discuss

    Discuss duplicate-check detection, asynchronous processing, provisional credit, durable workflows, image retention, and external failures.

  • Design a Subscription Billing System hard

    Problem brief

    Bill customers for recurring products.

    Core requirements

    • Track subscriptions and usage.
    • Issue invoices and process renewals.

    Design points to discuss

    Discuss plan versioning, proration, billing periods, failed payments, idempotency, and immutable invoice totals.

  • Design an ATM Network hard

    Problem brief

    Coordinate banking operations from a fleet of ATMs.

    Core requirements

    • Authorize withdrawals and deposits.
    • Track terminal cash and transaction outcomes.

    Design points to discuss

    Discuss disconnected terminals, dispense-before-confirm failures, reversals, reconciliation, authentication, and cash replenishment.

  • Design a GPU Usage Billing System hard

    Problem brief

    Convert GPU usage events into defensible charges.

    Core requirements

    • Meter usage by customer and resource.
    • Show spend and issue invoices.

    Design points to discuss

    Discuss event-time aggregation, late records, pricing versions, deduplication, corrections, and reconciling usage with resource allocation.

  • Design Robinhood (Stock Brokerage App) hard

    Problem brief

    Provide brokerage accounts backed by an external exchange.

    Core requirements

    • Validate and submit orders.
    • Track executions, positions, and available funds.

    Design points to discuss

    Discuss order state machines, partial fills, buying-power reservations, market data, cancellation races, and reconciliation.

  • Design a Donations Website hard

    Problem brief

    Collect donations during a short high-traffic campaign.

    Core requirements

    • Accept donations to approved charities.
    • Track payment outcomes and receipts.

    Design points to discuss

    Discuss payment-provider outages, retries, duplicate charges, campaign deadlines, reconciliation, and burst capacity.

  • Design a Stock Exchange / Trading System hard

    Problem brief

    Match buy and sell orders on an exchange.

    Core requirements

    • Accept and cancel orders.
    • Execute trades according to price-time priority.

    Design points to discuss

    Discuss deterministic sequencing, order books, durable journals, per-symbol partitioning, market data, and failover without duplicate trades.

  • Design an Ad Click Event Aggregator hard

    Problem brief

    Count advertising events for reporting and billing.

    Core requirements

    • Ingest clicks and impressions.
    • Query aggregates by campaign and time.

    Design points to discuss

    Discuss deduplication, event-time windows, late arrivals, stream checkpoints, exact billing totals, and historical retention.

  • Design a Fraud Detection System hard

    Problem brief

    Assess potentially fraudulent activity in time to act.

    Core requirements

    • Collect transaction and behavior signals.
    • Return a risk decision and record outcomes.

    Design points to discuss

    Discuss feature freshness, latency, rules versus models, false positives, fallback behavior, and feedback from investigations.

  • Design a Digital Wallet System medium

    Problem brief

    Maintain user wallets and money transfers.

    Core requirements

    • Add funds, pay, and transfer.
    • Show balances and history.

    Design points to discuss

    Discuss ledger entries, atomic debits and credits, idempotency, concurrent spending, payment-provider reconciliation, and reversals.

Content Delivery & Feeds (4)

  • Design a News Aggregator (Google News) medium

    Problem brief

    Aggregate articles into personalized news feeds.

    Core requirements

    • Collect and normalize sources.
    • Group related stories and serve subscriptions.

    Design points to discuss

    Discuss deduplication, ingestion scheduling, ranking, publication freshness, source failures, and read-heavy caching.

  • Design a News Feed System hard

    Problem brief

    Assemble a personalized stream of social updates.

    Core requirements

    • Record posts and relationships.
    • Retrieve a paginated feed.

    Design points to discuss

    Discuss fan-out strategies, ranking, celebrity accounts, stable pagination, and propagation of deleted or restricted content.

  • Design a Typeahead/Autocomplete Suggestion Service medium

    Problem brief

    Return suggestions as a user types.

    Core requirements

    • Match prefixes with low latency.
    • Rank and refresh popular suggestions.

    Design points to discuss

    Discuss prefix indexes, caching, personalization, stale rankings, language normalization, and suppression of unsafe or private terms.

  • Design Ticketmaster (Event Ticketing at Scale) hard

    Problem brief

    Sell event tickets under concentrated demand.

    Core requirements

    • Browse events and select inventory.
    • Hold seats and confirm payment.

    Design points to discuss

    Discuss admission queues, per-event partitioning, atomic seat claims, expiring holds, payment retries, and bot resistance.

AI Applications (9)

  • Design Sora (AI Video Generation) hard

    Problem brief

    Generate videos asynchronously from user prompts.

    Core requirements

    • Submit generation jobs and expose progress.
    • Store outputs and notify clients.

    Design points to discuss

    Discuss GPU scheduling, quotas, long-running jobs, cancellation, retries, content checks, and large output delivery.

  • Design an Inference Request Batching Service hard

    Problem brief

    Batch inference requests to improve compute utilization.

    Core requirements

    • Queue individual requests.
    • Build compatible batches and route results to callers.

    Design points to discuss

    Discuss batch size versus latency, deadlines, fairness, cancellation, model compatibility, and handling partial failures.

  • Design a Large Model File Distribution System hard

    Problem brief

    Distribute very large model artifacts to many servers.

    Core requirements

    • Publish versioned artifacts.
    • Transfer and verify each replica.

    Design points to discuss

    Compare direct downloads, peer distribution, and hierarchical fan-out; discuss checksums, resumable chunks, bandwidth limits, and rollout control.

  • Design an Agentic AI Platform hard

    Problem brief

    Run autonomous agents that execute multi-step workflows.

    Core requirements

    • Create versioned agent definitions.
    • Schedule tool calls and expose execution state.

    Design points to discuss

    Discuss durable checkpoints, tool permissions, sandboxing, retries, budgets, human approval points, and preventing repeated side effects.

  • Design an AI Playlist Generation Service hard

    Problem brief

    Turn natural-language requests into music playlists.

    Core requirements

    • Interpret user preferences.
    • Retrieve eligible tracks and return an ordered playlist.

    Design points to discuss

    Discuss model orchestration, catalog grounding, personalization, rights filtering, latency, and handling ambiguous or unavailable requests.

  • Design an LLM Provider API Gateway hard

    Problem brief

    Route inference calls across model providers.

    Core requirements

    • Enforce organization policies.
    • Track usage, latency, and quality signals.

    Design points to discuss

    Discuss provider selection, timeouts, streaming, fallback compatibility, cost limits, sensitive data routing, and duplicate requests.

  • Design an AI Prompt Playground hard

    Problem brief

    Let users experiment with prompts and models.

    Core requirements

    • Version prompts and parameters.
    • Run comparisons and save outputs.

    Design points to discuss

    Discuss execution isolation, provider adapters, streaming, quotas, reproducibility, secrets, and access to shared experiments.

  • Design an AI Chat Analytics Dashboard hard

    Problem brief

    Measure an AI chat application's behavior and reliability.

    Core requirements

    • Collect usage and operational events.
    • Serve product and support dashboards.

    Design points to discuss

    Discuss event schemas, tenant isolation, near-real-time aggregation, sensitive prompt handling, retention, and consistent metric definitions.

  • Design ChatGPT hard

    Problem brief

    Build a conversational interface backed by language models.

    Core requirements

    • Manage chat threads and stream responses.
    • Persist history and enforce usage limits.

    Design points to discuss

    Discuss inference routing, token budgets, cancellation, retries after partial output, context management, and model capacity.

Data Pipelines & Migration (5)

  • Design a File Ingestion System hard

    Problem brief

    Ingest large files and turn them into usable data.

    Core requirements

    • Accept uploads and validate content.
    • Process asynchronously with visible status.

    Design points to discuss

    Discuss resumable transfer, checksums, schema validation, idempotent stages, poisoned files, and backpressure.

  • Design a Meeting Recording Processing Pipeline hard

    Problem brief

    Process meeting recordings into downstream artifacts.

    Core requirements

    • Fetch recordings and run processing stages.
    • Publish outputs with traceable status.

    Design points to discuss

    Discuss external API limits, large blobs, DAG scheduling, retries, duplicate notifications, and authorization of recordings and outputs.

  • Design an Online SQL-to-NoSQL Migration hard

    Problem brief

    Move a live application from SQL to NoSQL storage.

    Core requirements

    • Backfill historical data.
    • Replicate ongoing changes and cut over reads.

    Design points to discuss

    Discuss schema mapping, change capture, ordering, verification, rollback, and keeping service available during migration.

  • Design a Cloud Data Migration Service hard

    Problem brief

    Move large datasets into cloud storage or databases.

    Core requirements

    • Plan transfer jobs and execute chunks.
    • Track progress and validate results.

    Design points to discuss

    Discuss incremental sync, resumability, bandwidth limits, checksums, credentials, and partial-transfer recovery.

  • Design a Chain of Custody Audit System hard

    Problem brief

    Preserve the provenance of digital evidence.

    Core requirements

    • Record every evidence action.
    • Verify integrity and retrieve a complete audit trail.

    Design points to discuss

    Discuss append-only storage, signatures or hashes, reliable event capture, access controls, time ordering, and retention policies.

Travel & Pricing (2)

  • Design a Flight Search Aggregator hard

    Problem brief

    Compare flight offers from external providers.

    Core requirements

    • Search itineraries and prices.
    • Return results within a bounded response time.

    Design points to discuss

    Discuss expensive vendor APIs, cache freshness, request coalescing, partial responses, quote expiry, and supplier failure isolation.

  • Design a Flight Pricing API for Vendors hard

    Problem brief

    Expose flight pricing to multiple external vendors.

    Core requirements

    • Serve current fare quotes.
    • Apply access limits and pricing policies.

    Design points to discuss

    Discuss consistent price versions, quote validity, caching, fairness across clients, security, and separation of quotation from booking.