The questions
- Design a metrics monitoring system like DatadogHigh-volume time-series ingestion: bounded cardinality, correct aggregation across retries and rollups, and alerts that distinguish unhealthy services from missing data.Hard
- Design Uber surge pricingLive spatial pricing: count demand and supply correctly, avoid unstable multipliers, and honor quotes while prices keep changing.Hard
- Design an ETA and live location sharing serviceFresh location streaming and road-aware arrival predictions: noisy GPS, changing traffic, reconnects, and trip-scoped access.Hard
- Design a weather appLocation-based weather reads over changing external data: geographic reuse, late observations, forecast versions, and honest freshness during outages.Medium
- Design a distributed tracing systemWrite-heavy observability pipeline: context propagation, coherent sampling, partial traces, and indexed search without slowing application traffic.Hard
- Design Google PhotosLarge private media objects with small searchable metadata: reliable uploads, asynchronous image processing, library indexing, and revocable album sharing.Hard
- Design an on-call escalation system like PagerDutyReliable human notification: schedule resolution, durable escalation deadlines, acknowledgement races, and uncertain provider delivery.Hard
A good order to practice them
Four questions that together cover most of what the Uber list tests.
- 1Design an ETA and live location sharing serviceTurning noisy GPS into progress a rider can trust, and live updates over bad connections.
- 2Design Uber surge pricingMeasuring demand and supply in small areas, and honoring a quoted price while the market moves.
- 3Design a distributed tracing systemIngesting a huge volume of spans without slowing the application, and sampling that keeps traces whole.
- 4Design an on-call escalation system like PagerDutyNever losing a page: duplicate alerts, acknowledgement races and schedule handoffs.
What these questions test
The concepts that come up across the Uber questions, by how many questions need them.
Where interviewers push
One hard part from each of the other questions: where a strong answer separates from an average one.
- Design a weather app: Location and weather accuracy
- Caching exact GPS coordinates wastes reuse, but careless rounding or choosing the nearest station can produce misleading weather near coastlines, mountains, or coverage boundaries. Provider grids also do not necessarily match a convenient geohash.
- Design a metrics monitoring system like Datadog: Alert correctness when data or workers disappear
- An unhealthy service, a broken collector, and an overloaded query system can all look like missing metrics. Alert state must survive evaluator failures without flapping or repeatedly paging.
- Design Google Photos: Private sharing and timely access revocation
- Media benefits from long-lived caching, but album membership and permissions can change. A cached image URL can outlive the permission that originally justified issuing it.
Questions people ask
What system design questions does Uber ask?
Candidates have reported questions like a metrics monitoring system like Datadog, Uber surge pricing, an ETA and live location sharing service, a weather app, and a distributed tracing system. Questions change and vary by team, so treat this as a sample of what comes up, not a list to memorize.
What level are these Uber questions for?
Of the 7 questions here, 6 are hard. Counting each level a question suits: 1 at mid-level, 7 at senior, 7 at staff+. The same question is asked at several levels; what changes is how deep you are expected to go and how much you drive.
What should I study for a Uber system design interview?
The concepts that come up most across these questions are back-of-the-envelope estimation, caching strategies, database sharding, and sql vs nosql. Learn how each one works and its trade-offs, then practice a few of the questions end to end, out loud, in 45 minutes.