Uber logo

Uber Software Engineer Interview Questions
& Process

Real candidates share what happened, how many rounds they had,
and how the experience turned out.

Based on 1,171 interview experiences · FREE TO READ

2.6 Rounds average
22.7 Day average
Average Typical difficulty
53.6% Positive experience

Candidate interview experiences

First-hand accounts from people who interviewed at Uber.

Showing 3 of 1,171
Uber logo
Uber

Software Engineer

Engineering · Sydney · nearly a year ago

Mid Difficult Neutral experience No offer 7 rounds
Interview process
Recruiter call Technical screen Technical screen Phone screen Onsite Offer
Interview formats
Behavioral Technical Coding System Design

The Uber Software Engineer interview usually runs 4–6 weeks and starts with a recruiter screen focused on your background, motivation, and fit for the role, then an online coding test or live coding screen with one or two algorithm questions that check correctness, efficiency, and how you communicate. If you pass that, you’ll move on to a technical phone interview where you solve a medium-to-hard coding problem and talk through its complexity, and then a virtual onsite loop with about four to five one-hour sessions: a data-structures/algorithms coding interview, a machine-coding or low-level design round where you build a small system with clean, runnable code, a system design interview on large-scale distributed systems (often Uber-style scenarios like ride dispatch or surge pricing), and a behavioral interview looking at ownership, teamwork, and decision-making. For senior roles there may also be a deep dive into one of your projects, and after all interviews a hiring committee reviews feedback before team matching and a final offer, with Uber consistently assessing problem solving, engineering fundamentals, system thinking, communication, and real-world impact throughout the entire process.

Confirmed questions1 question
  • Tell me about a time when you fully owned a problem and drove the solution from start to finish.
Uber logo
Uber

Software Engineer

Engineering · São Paulo, São Paulo · nearly a year ago

Senior Very difficult Positive experience No offer 5 rounds
Interview process
Recruiter call Technical screen Technical screen Onsite Offer
Interview formats
Behavioral Technical Coding System Design Other

RH - checagem de experiência, background e informação de salário - Tech Challenge - Coding e perguntas - System Design - desenhar um serviço de streaming e perguntas Stakeholder - cultural Proposing

Confirmed questions4 questions
  • 7. Qual é a desvantagem de usar segmentos (chunks) bem curtos no HLS?
  • 8. Por qual motivo usar UDP (via QUIC ou WebRTC) ao invés de TCP para aplicações em tempo real?
  • 9. Qual é o papel do Apache Kafka dentro de um pipeline de ingestão?
Uber logo
Uber

Software Engineer

Engineering · San Francisco, CA · nearly a year ago

Intern Average Neutral experience Decline offer 3 rounds
Interview process
Technical screen Technical screen Offer
Interview formats
Technical Coding

Interview was 2 day back to back interview. First interviewer was from Canada, english wasn't super good and questions asked were kind of unclear. Still passed it in under 20 minutes and had some time for follow up. Next interview day was a graph question, took 30 minutes and I walked through time complexity. Call with recruiter for offer is next week.

Confirmed questions1 question
  • time complexity, how I would optimize from my original solution.

Uber Software Engineer Interview Questions

Quoted word for word from Uber interview reports.

“find the next smallest palindrome number for a given number, like for 2001 -> 2002, for 1999 -> 2001, for 2003 -> 2112”

Read reports →

“Given two lists of strings we have to find the maximum length list where the strings are continuously common in both lists.”

Read reports →

“Build a basic calculator: given a string that holds a math expression, return the evaluated result of that expression.”

Read reports →

“Find the max of all the minimums of windows (each of size M) in an array of integers.”

Read reports →

“Given an array of integers, find and return the indices of the two elements that sum up to a given target value.”

Read report →

“Implement memoize as a function that takes one argument, asynchronousFunction: function memoize(asynchronousFunction) { }, where asynchronousFunction accepts n arguments and the last one is a callback like function callback(error, result).”

Read report →

“Find the shortest path between the given and starting node such that all nodes are prime numbers and you can jump only by two numbers which are prime and differ by 1 digit.”

Read report →

“how to merge 2 array in to a single sorted array without using extra space”

Read report →

“Given a 2D grid made of robots, empties, and blockers, and a query [a, b, c, d] that means the right, left, top, and bottom distances to the closest blocker, find the robot that matches this query.”

Read report →

Formats, difficulty and experience

Across all 1,171 Uber interview reports.

Interview formats

Technical 33.8%
Coding 30.8%
Behavioral 20.1%
System Design 10.1%
Other 4.8%

Interview difficulty

Easy 10.5%
Average 53.9%
Difficult 35.6%

Candidate experience

Neutral 23.2%
Positive 53.6%
Negative 23.1%