Uber interview prep · updated Oct 2026

Uber DevOps Engineer Interview Questions

DevOps Engineer 8 questions

Operating the systems behind a ride and delivery app means load that follows city life: rush hours, rain, the end of a concert. Apps on phones cannot be pulled back once installed, so servers must keep serving old versions. Prepare to discuss capacity for peaks you can predict, keeping one city's trouble away from another, and watching a stream of locations for delay. What to show here: steady systems through every rush hour and rainy evening. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.

Behavioral

1. Tell me about a time you had to do risky maintenance on a system that had no quiet hours. How did you plan it?

What they are checking
Checks how you plan change on a system that is always in use: small steps, a way back, and clear communication.
Answer frame
  1. Describe the system and the maintenance needed.
  2. Explain why no quiet window existed.
  3. Share how you split the work into safe steps.
  4. Give the result and what you would repeat.
Sample spoken answer

“We had to upgrade a database that served users in many time zones, so there was always someone busy. I split the work. First we added a copy running the new version and let it follow the old one. We sent a small share of read traffic to it and compared answers. When that looked good, we chose the hour with the lowest traffic across all regions, switched writes over, and kept the old database ready. I wrote each step and its way back in a shared document and told support in advance. The result was your result.”

Red flag to avoid

Weak answers take the system down at night in their own time zone and forget users elsewhere.

Behavioral

2. Describe an incident review you led. How did you get people to say openly what they did, without fear of blame?

What they are checking
Checks whether you can run a review that finds causes in the system and leads to real changes.
Answer frame
  1. Describe the incident briefly.
  2. Explain how you set the tone for the review.
  3. Share the causes found beyond one person's mistake.
  4. List the changes and how you tracked them.
Sample spoken answer

“An engineer ran a command on production that was meant for a test system, and part of our service went down. In the review I began by saying we were there to learn why the system allowed it. I asked the engineer to walk us through what they saw on screen at each step. It turned out that both environments looked the same in the terminal, and the command asked for no confirmation. We added clear labels, a confirmation step, and tighter access. I followed each action until it was done. The outcome was your result.”

Red flag to avoid

Weak answers end with a person being told to be more careful and nothing in the system changed.

Technical

3. Demand for rides jumps on Friday nights, in heavy rain, and when a big event ends. How would you plan capacity for peaks like these?

What they are checking
Checks whether you separate peaks you can predict from sudden ones and prepare for each.
Answer frame
  1. Learn the weekly pattern per city from past data.
  2. Scale ahead of time for known peaks and events.
  3. Keep spare room and fast scaling for sudden peaks.
  4. Decide what to switch off if capacity runs out.
Sample spoken answer

“I would treat the two kinds of peak differently. Friday night is known, so capacity can be raised on a schedule before it begins, using past traffic for that city and hour. Large events can go on a calendar. Rain is sudden. For that I keep spare capacity at all times and set automatic scaling to react to request rate, which rises early, not to processor load, which rises late. New servers must start quickly, so images are kept small and ready. I would also have a list of features to switch off under pressure, so that booking a ride keeps working.”

Red flag to avoid

Weak answers rely on reactive scaling alone, or keep huge spare capacity everywhere without looking at patterns.

Technical

4. A phone app that people installed months ago cannot be rolled back or force updated at once. How does that change the way you release backend changes?

What they are checking
Checks understanding of backward compatibility and of separating release from deployment.
Answer frame
  1. Know which app versions are still in use.
  2. Make backend changes that old versions can live with.
  3. Test against old versions in the pipeline.
  4. Control new behaviour with server-side switches.
Sample spoken answer

“With phone apps, many versions are in use at once and I cannot fix an old one quickly. So the backend must always stay compatible with them. I would track which app versions still send traffic. Changes to an interface add new fields and never remove or rename what old apps read. The pipeline runs recorded requests from old versions against each new build. New behaviour ships in the app switched off, and is turned on from the server for a small share of users. If something breaks, I turn the switch off, which takes seconds and needs no app release.”

Red flag to avoid

Weak answers assume everyone updates quickly, or remove fields as soon as the newest app stops using them.

System Design

5. Design your infrastructure so that a fault in the services for one city cannot stop rides in another city.

What they are checking
Checks how you limit the reach of a failure through isolation, and what you do with shared parts.
Answer frame
  1. Group cities into independent units with their own services and data.
  2. Route each user to their unit at the edge.
  3. Keep shared services few and strongly protected.
  4. Release changes one unit at a time.
Sample spoken answer

“A ride is local. It needs drivers, riders and maps of one city. So I would run the core services in separate units, each serving a group of cities, with their own servers, queues and data stores. A thin routing layer sends each request to the right unit. If one unit fails from a bad release or an overloaded database, the others continue. Some things are shared, such as login and payments, so those get extra protection, and each unit should tolerate them being slow. Releases go to one small unit first, then the next, so a mistake reaches only a few cities.”

Red flag to avoid

Weak answers run one shared cluster and database for every city, or forget the shared services all units depend on.

Technical

6. Drivers' phones send a stream of positions through a message queue to the matching service. How would you know the stream is running late before riders notice?

What they are checking
Checks whether you monitor the freshness of data from end to end, not only whether machines are up.
Answer frame
  1. Measure the age of each position when it is used.
  2. Track the backlog waiting in the queue.
  3. Alert on rising age or backlog per city.
  4. Send test positions through the whole path.
Sample spoken answer

“Healthy servers can still deliver old data, so I would measure freshness directly. Each position carries the time it was created on the phone. When the matching service reads it, it records the age, and I watch the high end of those ages per city, not the average. Second, I track how many messages wait in the queue and whether that number grows. A growing backlog means readers are slower than writers. Alerts fire when age or backlog passes a limit for a few minutes. I would also send test positions from a fake driver through the full path and time them.”

Red flag to avoid

Weak answers watch only machine health, or look at average delay, which hides the slowest part.

Scenario

7. An outside mapping service that you call for routes becomes very slow. Ride requests begin to time out. What do you do in the first minutes?

What they are checking
Checks how you stop one slow dependency from taking down the main flow, and what fallback you accept.
Answer frame
  1. Confirm the slow calls from traces and dashboards.
  2. Cut waiting with short time limits and a circuit breaker.
  3. Switch to a fallback such as cached or simpler estimates.
  4. Inform teams and contact the provider.
Sample spoken answer

“From traces I would confirm that time is being spent waiting for the mapping service. The first danger is that our servers fill up with waiting requests and everything fails. So I would shorten the time limit on those calls and turn on the circuit breaker, so we fail fast. Then the fallback: recent routes from cache, or a simpler estimate from straight distance and average speed in that area. The arrival time will be less exact, but riders can still book. I would announce the degraded mode to support and contact the provider. Afterwards I would ask why this was not automatic.”

Red flag to avoid

Weak answers wait for the provider to recover, or raise the time limits, which makes the pile-up worse.

Why this company

8. Why do you want to run infrastructure at Uber, where traffic on your servers rises and falls with traffic on the roads?

What they are checking
Checks whether the operational challenge of a real-time marketplace is what attracts you.
Answer frame
  1. Say what makes this operations work interesting.
  2. Connect it to your experience.
  3. Name what you want to learn.
  4. Keep it about the work.
Sample spoken answer

“I like that the load here has a human rhythm. You can see a city wake up, go to work and go out in the evening in the request graphs, and a storm shows within minutes. That makes capacity and reliability work concrete. When a system fails, someone is standing outside waiting, and a driver is missing work. In my role on your project I learned to plan for peaks and to limit how far a failure spreads. I want to practice that at the scale of many cities, and learn how to keep each one independent of the others.”

Red flag to avoid

Weak answers list tools and cloud products without any link to rides, cities or reliability.

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