Uber interview prep · updated Oct 2026

Uber Data Analyst Interview Questions

Data Analyst 8 questions

Analysis for a ride and delivery marketplace always has two sides: people asking for a ride or a meal, and drivers and couriers offering their time. A number that looks good for one side can hurt the other. Prepare to define marketplace health for a city, describe queries over trips and requests in words, and explain why ordinary tests mislead here. What to show here: numbers read from both sides of the marketplace, city by city. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.

Behavioral

1. Tell me about an analysis where the result was good for customers and bad for the people providing the service, or the other way round. How did you present it?

What they are checking
Checks whether you look for the other side of a result and present a trade-off fairly.
Answer frame
  1. Describe the question you were asked.
  2. Explain the result for each side.
  3. Share how you presented the trade-off.
  4. Say what was decided.
Sample spoken answer

“I was asked whether a faster delivery promise would raise orders. The data said yes, customers ordered more. But I also looked at the delivery staff, which nobody had asked for. With the faster promise, they had more late deliveries counted against them and more of them stopped working with us. I put both findings on one page, side by side, with the same weight. I did not recommend for or against. I showed what each option would cost and who would pay. The team chose a middle promise for busy hours. The outcome was your result.”

Red flag to avoid

Weak answers answer only the question asked and never check the effect on the other side.

Behavioral

2. Describe a time an average across many cities or regions hid what was really going on in some of them.

What they are checking
Checks whether you break totals down before trusting them and can explain why they mislead.
Answer frame
  1. Describe the overall number and what people believed.
  2. Explain what made you look deeper.
  3. Share what the breakdown showed.
  4. Say how reporting changed.
Sample spoken answer

“Our overall waiting time looked stable for months and the team was satisfied. I noticed complaints rising in a few smaller regions, so I split the number by region. Waiting time had improved in the two largest regions and become clearly worse in several small ones. Because the large regions had most of the volume, the average did not move. I showed the team a chart with one line per region instead of one total. We changed the weekly report to list the regions that got worse, next to the overall number. The result was your result.”

Red flag to avoid

Weak answers trust the overall figure, or cannot explain how a stable average can hide a decline.

Metrics

3. How would you measure whether the marketplace in one city is healthy on a given evening, for both riders and drivers?

What they are checking
Checks whether you can choose a small set of metrics that covers both sides and how they balance.
Answer frame
  1. Rider side: share of requests that become completed trips, and waiting time.
  2. Driver side: share of online time spent on trips.
  3. Balance: requests compared with available drivers, by area and hour.
  4. Read them together.
Sample spoken answer

“For riders I would track the share of requests that end in a completed trip, and the time from request to pickup. For drivers I would track how much of their online time is spent with a passenger, since waiting and driving to pickups bring them nothing. Then a balance measure: requests against available drivers, by area and hour. These have to be read together. Very short waits may simply mean too many idle drivers. Busy drivers may mean riders cannot get a car. Health is when both sides are reasonably served, so I would show them on one page.”

Red flag to avoid

Weak answers give trip count as the only measure, or describe only the rider's side.

SQL

4. In words, how would you compute, for each city and each hour, how ride requests ended: completed, cancelled by the rider, cancelled by the driver, or no driver found?

What they are checking
Checks whether you can plan a grouped query with conditional counts and handle time zones and repeat requests.
Answer frame
  1. Start from one row per request with its final outcome.
  2. Convert the request time to the city's local hour.
  3. Group by city and hour with a count per outcome.
  4. Divide by all requests and check the shares add up.
Sample spoken answer

“I would start from the requests table, with one row per request and its final outcome. If outcomes are in a status history table, I first take the last status per request. The request time is converted to the local time of its city, because hour of day only makes sense locally. Then I group by city and local hour. Inside each group I count requests per outcome with conditional sums, and divide each by the total. I would check that the four shares add up to one. I would also decide how to treat a rider who requests again right after no driver was found.”

Red flag to avoid

Weak answers group by server time, or count status rows instead of requests.

Metrics

5. You want to test a new way of matching riders with drivers. Why might splitting riders randomly into two groups give a wrong answer, and what would you do instead?

What they are checking
Checks whether you understand that test groups affect each other when they share the same drivers.
Answer frame
  1. Explain how the two groups compete for the same drivers.
  2. Describe how this distorts the comparison.
  3. Propose splitting by city or by blocks of time.
  4. Name the costs of that design.
Sample spoken answer

“In a normal test, the two groups do not affect each other. Here they share one pool of drivers. If the new matching gets drivers to its riders faster, those drivers are taken from riders in the old group, whose wait grows. The difference then looks bigger than it would be if everyone had the new method. I would split by something that keeps the pool separate: whole cities, or blocks of time within a city that switch between old and new in random order. That needs more time for a clear answer, and I must account for differences between hours and days.”

Red flag to avoid

Weak answers run an ordinary split by rider and trust the result.

SQL

6. Describe how you would find drivers who were online for long stretches yesterday without receiving a single trip, using a table of status changes.

What they are checking
Checks whether you can build periods from a log of events with window functions and join them to another table.
Answer frame
  1. Pair each online event with the next offline event per driver.
  2. Compute the length of each online period.
  3. Count trips that began inside each period.
  4. Keep long periods with zero trips.
Sample spoken answer

“The status table has one row per change, so first I need periods. For each driver, ordered by time, I use a window function to take the time of the next row. A row with status online, paired with the next change, gives one online period with start and end. Periods still open at the end of the day are cut at midnight. Then I left join trips on driver and on the trip start falling inside the period, and count trips per period. I keep periods longer than the chosen length with a count of zero. I would check a few drivers by hand.”

Red flag to avoid

Weak answers subtract the first time of the day from the last, which ignores breaks and gives wrong periods.

Scenario

7. After an update of the rider app, cancellations by riders in one city rise noticeably. Other cities look normal. How do you investigate?

What they are checking
Checks a structured way to explain a local change, separating the app update from other causes.
Answer frame
  1. Split cancellations by app version, old and new.
  2. Find at which step riders cancel.
  3. Check what else changed in that city.
  4. Share findings with a confidence level.
Sample spoken answer

“First I would compare riders in that city on the new app version with those still on the old one. If both cancel more, the update is probably not the cause. Then I look at when riders cancel: right after seeing the price, while waiting for a match, or while the driver is on the way. Each stage suggests a different cause. I would also check what else changed in that city that week: fewer drivers, longer waits, weather, a local event. If only the new version is affected and only in that city, I would look for something local, such as a language or payment option.”

Red flag to avoid

Weak answers blame the update at once, or never check at which stage riders cancel.

Why this company

8. Why do you want to work with data at Uber, where each row is a trip that someone took or a request nobody answered?

What they are checking
Checks whether the two-sided, local nature of this data is what interests you.
Answer frame
  1. Say what is special about marketplace data.
  2. Link it to your own analysis work.
  3. Name what you want to learn.
  4. Keep it about the work.
Sample spoken answer

“What I like is that the data describes a balance, not a single customer. Every number has two readings, one for the person asking and one for the person providing, and a decision that ignores either will fail. It is also very local. A city is its own small economy with its own rush hour and weather. In your project I learned how much an average can hide, and I became careful about breaking numbers down. I want to learn how to design tests when groups affect each other, which I have only read about so far.”

Red flag to avoid

Weak answers speak of big data in general and never mention drivers, riders or cities.

Salary questions come last

No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.

For the call itself

The questions above are the prep. On the real call, ClapAssist helps with the ones you did not practice.

ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.

Download with 10 free minutes
Mac and Windows · Stays out of screen share · No card