We helped write the sequel to "Cracking the Coding Interview". Read 9 chapters for free

Uber’s Interview Process & Questions

Published:

Uber's Interview Process for Software Engineers: 3 Steps

Mid to senior-level engineers interviewing at Uber can expect the following process:

  • Recruiter call (30 minutes)
  • Technical Phone Screen (1 hour)
  • Onsite (4-5.5 hours)
Uber’s interview process: Recruiter call, Technical Phone Screen, Onsite

Uber’s interview process was centralized in the past but is in the process of becoming decentralized because they tend to only hire for specific roles in the current market. Right now, it looks to be a hybrid, and practically speaking, that means if you were to apply today, you might be matched with a specific team at the outset or you might do team matching at the end. We’ve seen both, and it appears to be a function of how niche your skills are (e.g., if you’re an ML engineer, you’ll likely be matched with a specific team at the outset).

That said, your interviewing panel will likely all be from the same org and use a company-wide, internal question bank. Candidates tend to interview for only one role, and though the process is somewhat standardized, the hiring manager will have a say in what the process will look like as well, so expect a little bit of variance.

General tips:

  • LeetCode practice will help a lot with the coding portion. The system design interviews are pretty standard as well.
  • They want you to write code that runs during coding rounds.
  • Referrals will help; you may even be able to skip the technical phone screen with one.
  • Be prepared to be grilled on your past experience and projects, particularly during the Collaboration and Leadership and Bar Raiser rounds.
  • If you go through team matching, it may take a while (weeks to months).

The entire process takes about 4-6 weeks but possibly longer if you end up having to do team matching.

Step 1: Recruiter Call

Uber’s recruiter call lasts 30 minutes, and it’s pretty standard fare – they’ll speak about the role and team you are interviewing for, discuss salary, location, and level expectations, and ask about your interest in Uber.

It’s really important, at this stage, to not reveal your salary expectations or where you are in the process with other companies. We’ve written a detailed post about salary negotiation that lays out exactly what to say if recruiters pressure you to name the first number.

Step 2: Technical Phone Screen

Although we heard from one engineer that they were able to skip this stage with a referral, most senior engineers will get a pretty standard technical screen here. It will be conducted in CodeSignal, and there may be one or two questions. The questions themselves will be algorithmic. They have an internal bank of questions that most interviewers use, some of which are versions of real problems that Uber has had to solve in the past, and some of which are standard algorithmic questions with some Uber-isms papered over the top, but there does seem to be some variance. Either way, expect LeetCode medium in terms of difficulty.

It’s important to write fully compilable code here, i.e., code that runs. You should also run test cases.

One engineer, familiar with the process told us:

You might get slightly harder questions first, and it’s OK to ask for help. If you do solve it without help, it’s a definite pass, but you can still pass with help assuming your communication skills etc. are good.

Step 3: Onsite

This will vary slightly by role but most engineers can expect something like this:

  • Coding (1 hour). This interview will be conducted in CodeSignal. For more detail about the kinds of questions to expect, see the Coding section below.
  • Second coding (depth in specialization) (1 hour). This interview will be conducted in CodeSignal. For more detail about the kinds of questions to expect, see the Coding section below.
  • System design (1 hour). This interview will be conducted in CodeSignal. For more detail about the kinds of questions to expect, see the System Design section below.
  • Collaboration and Leadership (75 mins). This is with the hiring manager for the role. For more info about what questions to expect, see the Collaboration and Leadership section below.
  • Bar raiser (1 hour) This is with a special bar raiser interviewer. For more infor about what questions to expect, the Bar Raiser section below.

Types of Interview Questions to Expect at Uber

Coding

This round will be just like the technical phone screen – they have an internal bank of questions that most interviewers use, some of which are versions of real problems that Uber has had to solve in the past, and some of which are standard algorithmic questions with some Uber-isms papered over the top. If you get LeetCode-style questions, they’ll be of medium difficulty or slightly harder. Note that you may get two questions, but if you do, they’ll likely be mediums.

You should get in the habit of running test cases, if it’s not something you do by default already..

Below are the technical topics you’re likely to encounter in Uber interviews. To compile this list, we did two things. First, we spoke to some current and former Uber engineers. Then we cross-referenced all the anecdotes we heard with Glassdoor data AND our own data-set of mock interviews:

Second Coding (Depth of Specialization)

We’ve heard from multiple engineers that this round is sometimes just another LeetCode-style coding round but sometimes it’s not an algorithmic question at all. This round is meant to be more reflective of the role you are interviewing for and may include some design aspects.

One engineer we spoke with said:

This round is supposed to be more focused on [a mix of code and] designing… where you might have to build a mobile game like Snake, but in reality it’s very similar to the first coding round, and interviewers often use something from the internal question bank.

Note that your recruiter may not be prepared to set expectations for this round, as there seems to be a lot of variability in how it’s run, possibly at the request of the hiring manager. Ask as much as you can about the round beforehand, but be prepared for a possible curveball.

System Design

Most of the people we interviewed told us to expect a very standard system design round, so you shouldn’t expect many surprises here. That said, they have an internal bank of questions that are based on old problems they had to solve at Uber so you might be asked to solve one of those. You might be asked to design a map that shows every Uber driver in the world. It won’t be a typical distributed systems question (like design a chat app), and you will need to focus on scale. Think about Uber in the early days and the problems they had to solve.

You’ll see other, more standard, questions such as:

  • Design Dropbox
  • Design Facebook Messenger
  • Design a ride-sharing app (surprise!)
  • Design a card game
  • Design an industrial system

Check out our guide to system design interviews to help you prepare.

Collaboration and Leadership

This interview will be conducted by the hiring manager for the role you are interviewing for, or in some cases, a hiring manager from the same org.

There seem to be two distinct styles used:

  • You will be asked to go through past projects and how they were delivered
  • You will be asked how you would deliver potential projects

The hiring manager can take this in any direction they see fit,but they are looking to test your ability to work on a team, your ability to deal with failures, and your leadership skills. Have your past projects ready to discuss in detail, they might drill down into one specific project if it seems interesting. Be able to quantify both your impact and the impact of the project.

If the role is a speciality role, they might ask you questions that are relevant to it, e.g., if the role includes some frontend aspects, be prepared for some frontend questions.

Bar Raiser

Ok, this is where things get serious. If you’ve made it this far, it’s a good sign. We only spoke to one Uber engineer who did not get a bar raiser round and got hired. Everyone else told us that you need to pass one to get hired and that they sometimes won’t schedule it if the rest of your onsite hasn’t gone well.

Similar to Amazon, which is known for this type of interview, the bar raiser interviewer will be a specialty interviewer from across the company. They won’t be part of the team you are interviewing for. They will choose the focus on the interview. We’ve heard it’s usually a reverse system design / project introspection style of interview, but if you weren’t strong in one of the other onsite rounds, it might be a repeat of that.

If it is a reverse system design / project introspection interview, they will likely ask you to discuss one past project in deep detail. They will ask questions around:

  • The technical complexity of the project
  • The project’s impact
  • The high level architecture decisions and the pros and cons associated
  • The time it took to complete the project and/or reach each milestone
  • Any failures

Be prepared to quantify the project’s impact where possible. The project discussed should match the level of seniority you are interviewing for in terms of scale and scope. A staff engineer will need to talk about a project that spans at least 2 or 3 quarters of work for example, but a senior engineer can use something a little less complex. They are looking for your depth of knowledge here and this round is used for leveling. It’s probably the most important round you will have.

How Uber Makes Hiring Decisions

The entire interview panel meets, and the decision should be unanimous. If there is a mixed signal, people on the panel can try to convince others until they achieve consensus. Typically, one soft no-hire can be turned around, but one strong no-hire will be enough to reject you. In rare cases, the Bar Raiser interviewer can also overturn a hire decision.

Uber Interview Replays

Want to know if you're ready to interview at Uber? Do anonymous interviews with interviewers from top companies, and see exactly where you stack up.

See available times

See something inaccurate? Please fill out this form, and tell us about it.

About interviewing.io

interviewing.io is a mock interview practice platform. We've hosted over 100K mock interviews, conducted by senior engineers from FAANG & other top companies. We've drawn on data from these interviews to bring you the best interview prep resource on the web.

We know exactly what to do and say to get the company, title, and salary you want.

Interview prep and job hunting are chaos and pain. We can help. Really.