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.
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.
Design a photo sharing application like instagram
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.
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.