Uber onsite

Position: SE2
Location: Palo Alto, CA

There were 5 on-sites interviews: 2 coding, 1 design, and 2 behavioral. In all the coding rounds (including technical phone screen), I was asked to login into hackerrank. The interviewers had a list of test cases against to compile and pass.

Technical phone screening (1 hour)
Right side view of binary tree
Lowest common ancestor of a binary search tree


Round 1

This round was with hiring manager.

First part of round was about introductions: he introduced himself and told about the team he is responsible for, future plans for the team, details about the position I’m interviewing for, tech-stack being used etc. Then, he asked about my experiences, why I’m interested in Uber, technologies I’ve worked on etc.

For next 15-20 mins, there were behavioral questions around conflict resolution, taking ownership and more responsibility, mentoring new engineers, qualities of a great engineer and a few more. For every question, I was asked to provide an example from my experiences.

In the last 15 mins or so, he gave me a distributed systems problem and asked me to design it. The problem was about maintaining the count of rides a driver has completed. I think he was just looking to see if I knew fundamentals of distributed systems. We had discussion around distributed hash tables, network failure, eventual consistency, queueing systems etc.

Round 2
Design a photo sharing application like instagram
Round 3
Design a meeting scheduler system like we’ve in outlook.
I think interviewer wanted me to design the data structures for the problem but I went to system and OOP design. Follow-up: How will you deal with recurring meetings?
A coding question around the above meeting scheduler system. Given start and end times of all meetings for a user on a given day, find the total count of conflicts amongst all those meetings.
Round 4

This round was mostly behavioral and kind of like Amazon’s bar raiser. Interviewer asked behavioral questions for first 35-40 minutes. After that, he asked me to explain the current project I’m working on. Last 5 minutes involved discussion about different teams and work culture at Uber. I can’t recall a lot of questions from that round but here a few which I still remember:
Tell me about a time when you had hard time working with someone in your team. How did you handle it?
Tell me about a challenging customer issue you dealt with.
Tell me about a time when you pushed for an idea but it was opposed by others.
Discussion on current project: end-to-end flow, what part you are responsible for, most challenging part for you etc.

Round 5
Given a 9 x 9 sudoku board, check if it is valid or not.
Given a partially filled valid sudoku board, write code to solve it.