THE Uber INTERVIEW

Artboard 5.png

Looking to land a job at Uber but don’t know what the process looks like?

 

Well, you’ve come to the right place. Detailed in this post is a look at the timeline of the interview process, preparation guidelines, and what's different or unique about Uber's interview process as opposed to other tech companies.

 

THE uber INTERVIEW explained

 

BACKGROUND

Uber has one of the most competitive interview processes around, so in order to succeed it’s a good idea to read up on their interview process so you know exactly what to expect, helping you plan accordingly.

 

You will notice some similarities between Uber’s interview process and a lot of the other FAANG companies out there, but they do have a few things different which you’ll want to pay attention to. For example, they have a bar raiser round which is a key differentiator between landing a SDE I, SDE II or SDE III. 

 

Note that this is the interview process for a SDE II.

 

Let’s dive in!

 

 

BEFORE THE INTERVIEW

interview.png

update your RESUME

Make sure you’ve updated your resume and in particular your LinkedIn profile; use deliverables and metrics when you can as they are concrete examples of what you’ve accomplished. Make sure to be as specific as possible.

 

PREPARATION

Here is our guide on how to prepare for the coding interview with a 12-week plan. Your preparation should include three key components: preparing to talk about yourself, reviewing computer science fundamentals, and working on practice problems.

 

CHOOSING YOUR LANGUAGE

Uber does not require that you know any specific programming language before interviewing for a tech position. However, you should be familiar with the syntax of your preferred language such as Java, Python, C#, C/C++. You should also know some of the languages’ nuances, such as how memory management works, or the most commonly used collections, libraries, etc. Choose one you’re most comfortable with and stick to it.

 

 

Prescreen with recruiter 

After submitting an application on their careers page, a recruiter will review your résumé and reach out to you to schedule a short phone call. During this call they will ask you to describe your technical experience and why you are interested in the position you applied for, as well as get a better sense of what you are looking for in a technical role.

 

If the opportunity seems like a good fit for both your career goals and their needs, they will schedule a technical phone screen between you and a software engineer or engineering manager on the team you are applying to.

 

Artboard 6.png
 

Technical phone interview

Artboard 6.png
phone.png

In the technical phone screen you will be asked one question around data structures and algorithms. You can expect a medium difficulty question.

Examples could include:

  • Longest Substring with Maximum K Distinct Characters

  • Copy Linked List with Arbitrary Pointer

  • String Segmentation

To see the most common 15 questions asked in an Uber interview, click below.

 

Your interviewer will most likely ask a follow up question such as: “how well does your solution scale?” When this comes up, you should be prepared to talk about the runtime and memory requirements of the solutions you have worked on in terms of their Big O complexity.

 

Note that the question will be administered through HackerRank, so it’s a good idea to practice using this software so you’re not thrown for any loops when it’s actually time to interview.

 

Artboard 5.png
 

ON-site interview

Artboard 5.png
interview.png
Artboard 5.png

The onsite interview will be 5 rounds which will look like this:

  • 2 Algo + Coding

  • 1 system design

  • 1 Hiring manager

  • 1 bar raiser

Interview 1 and 2: Algorithms and Data Structures

Questions you can expect:

 

Question1:

 

Given a string containing just the characters ‘(‘and’)’, find the length of the longest valid (well formed) parentheses substring.

 

Sample I/O:

 

(() → 2

 

)()()) → 4

 

Question 2:

 

Given a N x N chessboard, find the shortest hops needed by a Knight to reach from (x1, y1) to (x2, y2) on the chessboard.

 

Question 3:

 

Given length N, find the number of valid balanced strings possible.

 

Sample I/O:

 

N = 4 → 2 [ (()), () () ]

For more practice on algorithms and data structures, visit the link below:


 

 

Interview 3: System Design

Here the interviewer will give you an open-ended question like, “How would you design a video streaming platform like YouTube, Twitch, or Netflix?”.

 

For example, here are some things you should keep in mind as you think about designing Instagram:

  • What is Instagram?

  • Requirements and Goals of the System

  • Some Design Considerations

  • Capacity Estimation and Constraints

  • High Level System Design

  • Database Schema

  • Data Size Estimation

  • Component Design

  • Reliability and Redundancy

  • Data Sharding

  • Ranking and News Feed Generation

  • News Feed Creation with Sharded Data

  • Cache and Load balancing

For a lot of engineers, they may have not had the experience to work on designing complex systems, so it's important to train that muscle. For detailed solutions to system design problems, it's recommended to check out the course below.

 

Interview 4: Bar Raiser

In this portion of the interview, Uber interviewers will gather signals on your soft skills: things like teamwork, mentorship, handling conflict, and talking through past projects.

 

They will look for yellow or red flags, which they note down and discuss them in the end. Yellow flags can be things like being defensive, not taking feedback or not good handling of conflict. Red flags could be unacceptable language, hostility towards interviewers, badmouthing all previous employers and others.

 

If someone shows too many signs of not being a team player, that can be a blocker to moving forward. The hiring manager and bar raiser are responsible for hiring people who make the team better and raise the bar of talent we have.

For more information on how to excel in behavioral interviews, check out the free course below.

 

Interview 5: Hiring Manager

This is fairly similar to the bar raiser round. You will be asked technical questions along with behavioral questions so that the hiring manager can get a sense for you work.

Artboard 5.png
Artboard 6.png
 

THE OFFER / NO offer

offer.png

From on-site to offer will take about another week or two. This is so management can either evaluate other candidates or to draft up your offer letter along with other logistics.

 

In the event that you don’t receive an offer, you’ll most likely have to wait six months to a year to re-apply. Don’t expect any feedback after your interview, but you can conclude that you either didn’t have enough experience or that it just wasn’t a fit culturally. 

 

If you do receive a job offer, the hiring manager will call you to discuss salary, start date, etc.

For more information on how to negotiate your salary, click below.

 

Artboard 6.png
 

WHAT'S DIFFERENT

Artboard 6.png
Artboard 6.png

The Bar Raiser

A Bar Raiser is an interviewer at Uber who is brought into the loop to be an objective 3rd party — they’re essentially experts in evaluating you against the leadership principles. Because they’re not directly associated with the team you’re looking to join, they see aspects of a candidate that the direct hiring team might miss. It’s important to mention that the Bar Raiser has the power to approve you for hire.

 

 

map_icon.png

Need help preparing for the interview?

Check out the Definitive Interview Prep Roadmap,

written and reviewed by real hiring managers.