Design a Payment System
Accept card payments for an e-commerce platform, move money correctly exactly once, and be able to prove it.
28 questions on this site are reported in Uber software engineer interviews. Each has a full reference design (requirements, back-of-envelope numbers, components, user flows and deep dives with interviewer follow-ups). Each one can be walked through turn by turn and then sat as a mock. Patterns covered: consistency, idempotency, ledger, fintech, geospatial, routing, graphs, cdn, matching, streaming, marketplace, fan-out, multi-channel, rate-limiting, priority-queues, consistent-hashing, eviction, replication, hot-keys, algorithms, counters, redis, edge, inventory, reservations, locking, queueing, thundering-herd, scheduling, leases, queues, fault-tolerance, persistent-connections, store-and-forward, end-to-end-encryption, delivery-receipts, push, geospatial-index, search, ranking, change-data-capture, aggregation, id-generation, clocks, bit-layout, k-sortable, availability-search, double-booking, holds, calendar-sync, append-only-log, partitioning, consumer-groups, exactly-once, time-series, compression, cardinality, downsampling, alerting, state-machine, dispatch, eta-prediction, location-tracking, workflow-orchestration, event-sourcing, durable-timers, sharding, dag-scheduling, backfills, row-locking, consensus, fencing-tokens, leader-election, watches, deployment, canary, reconciliation, rollback, blast-radius, log-aggregation, inverted-index, tiered-storage, backpressure, multi-tenancy, async-pipeline, spatial-matching, leaderboards, privacy, load-balancing, networking, health-checks, control-plane, api-gateway, authentication, quotas, experimentation, hashing, statistics, stream-processing, analytics, real-time, pub-sub, fraud, feature-store, low-latency, exploration, caching, saga, external-inventory, bin-packing, failure-detection.
Run an AI mock Uber interview →One of these questions, run as a live round in that style, with a debrief at the end.
Attribution comes from public interview guides and candidate reports, not from Uber. It indicates where a question has been asked, nothing more.
Accept card payments for an e-commerce platform, move money correctly exactly once, and be able to prove it.
Map tiles, place search, turn-by-turn routing with live traffic, and ETAs for a billion users.
Match riders with nearby drivers in seconds, track trips live, and price them, for millions of concurrent users worldwide.
Deliver push, email, SMS and in-app notifications to hundreds of millions of users: the right channel, once, on time, and never at 3 a.m.
A Redis-like cache as a service: hundreds of nodes, terabytes of memory, sub-millisecond gets, and a cluster that survives losing a machine mid-request.
A distributed service that decides, in under a millisecond, whether a request from a client is allowed under its quota.
Sell 60 000 seats in ten minutes to a million people at once: hold a seat while someone pays, never sell it twice, and keep the site up when demand is a hundred times supply.
Run millions of cron jobs and one-off tasks on time across a fleet, exactly once each, and keep going when a worker dies halfway through one.
Deliver 50 billion end-to-end encrypted messages a day to phones that are often offline, with sent, delivered and read ticks, and a server that cannot read any of it.
Find the best places near you, filtered by what is open now, from 200 M businesses, in under 200 ms, and keep ratings honest as reviews arrive.
Hand out a million 64-bit ids a second across many hosts and regions, never twice, roughly in time order, with no central bottleneck and no trust in the wall clock.
Search 7 M listings by place, dates and price, book a stay without ever selling the same night twice, and keep calendars in sync with hosts’ other platforms.
A Kafka-style log that ingests a million messages a second, keeps them in order per key, replicates them so no acknowledged message is lost, and lets many consumer groups read at their own pace.
Ingest 10 million samples a second from 100,000 hosts, keep them queryable for a year at shrinking resolution, draw dashboards in under a second, and page the right person within a minute.
Take a food order, get a restaurant to cook it and a courier to arrive just as it is ready, and keep three parties in sync across millions of orders a day.
A managed workflow engine that runs 200 M state-machine executions a day, some lasting a year, applying every transition exactly once.
Schedule and run twenty thousand data pipelines as dependency graphs, each run tied to a slice of time, so a failed night can be retried or a year backfilled safely.
A Chubby-style lock service for 50 k processes: leases, leader election, fencing tokens and watched config, never letting two holders act at once.
Build each merge once into a signed artifact, roll it out in stages to 50,000 hosts in 10 regions, and roll back automatically on regression.
Collect 10 million log lines a second from 100,000 hosts, make them searchable within seconds, stream them live, and keep a year affordably.
Record runs and rides offline, process each upload into a map, stats and segment efforts, and rank them for 100 M athletes.
Spread 5 M requests a second over 50 k backends, terminate TLS, route by host and path, survive losing any balancer or data centre.
One front door for public and partner APIs: authenticate, limit and route 1 M requests a second to 300 services, adding under 10 ms.
Run 500 experiments at once on 300 M users: sticky variants in microseconds, exposure logging, and confidence intervals teams can trust.
Show each user which friends are within 5 miles, refreshed every 30 s, for 10 M concurrent users, without leaking anyone’s location.
Allow, block or challenge 10,000 card payments a second in under 100 ms, then learn from chargebacks that arrive months later.
Answer 50 M searches a day from 20 slow, metered suppliers through a fare cache, then book seats you do not own, exactly once.
Place 300,000 containers on 10,000 machines from declared desired state, keep them running through failures, and give every service a stable address.
45–60 minutes, usually a real-time, geospatial or marketplace problem close to what the company runs.
Hand-waving the matching or pricing logic. That is the part they want opened up.
From public interview guides and candidate reports, and Uber’s own interview guidance where it publishes any. Not endorsed by Uber. Formats change; treat it as a prior, not a promise.
Large-company loops run 45 to 60 minutes, expect numbers, and spend most of the time on deep dives. Walk through a question to see how a strong candidate paces the hour, sit the same question as a mock until you can produce the requirements, the estimates and the design without looking, then read the interview framework guide for how to structure the hour. The other questions on the site teach patterns that show up in Uber interviews under different names.
Questions reported in Uber system design interviews include Payment System, Google Maps, Uber, Notification System, Distributed Cache, Rate Limiter, Ticketmaster and Distributed Job Scheduler, among 28 in total. Between them they test consistency, idempotency, ledger, fintech, geospatial and routing. The reports come from public interview guides and candidate accounts, not from Uber, so practise the patterns rather than memorising one list.
45–60 minutes, usually a real-time, geospatial or marketplace problem close to what the company runs.
Reports say the Uber round weighs 4 things. 1. Real-time data flow and the freshness the product needs. 2. Geospatial indexing and matching under load. 3. Consistency where money and commitments are involved. 4. Degradation during surges and outages. Hand-waving the matching or pricing logic. That is the part they want opened up.
Practise the questions reported there out loud, under a 45-minute clock: requirements with numbers first, then estimates, a high-level design, and deep dives into the two or three hardest parts. Start with Payment System: watch a strong candidate answer it turn by turn, then sit it yourself. Then cover the patterns the round leans on (consistency, idempotency, ledger and fintech) with one more question each.