I applied through a recruiter. The process took 1 day. I interviewed at Uber (San Francisco, CA) in Mar 2015
Interview
Got contacted by a recruiter through email (didn't know how they got my email). Did a phone interview (coding on codepad) and they go ahead schedule an onsite with me.
The onsite is a half day process, with 4~5 round of interviews. It starts in the early morning and end at the lunch time. I am a pretty senior software engineer, but the interview questions I got didn't seem to be targeted for senior people. Got a few coding questions and one design question. In the last round some engineer manager just chatted with me for the whole session. For some of the coding questions I need to write on whiteboard, but for some other I get to code on my own laptop. I always hate coding on whiteboard. At the end of the interview I thought I will have to take care of the lunch myself, but recruiter brought me to the kitchen for some free lunch. The food is not so good though.
They provide free Uber rides coming into and from the Uber offices, which is a nice thing to have. But the way the promotion code was confusing.
I like that it only took half day. I took a Uber ride back to my town and can still work for the remaining half of the day.
Interview questions [1]
Question 1
How to recognize whether it is a banana or apple in a image.
Implement a short URL server
Design a real-time service architecture
Some other question that I don't remember now
The questions were not hard. I think they value more about my background and passion.
The phone screen lasted about 30 minutes and began with general questions about my background before diving into technical topics. I was asked to solve a DSA question on finding the top K frequent elements, discussing both the min-heap and bucket-sort approaches. Surprisingly, I had recently practiced a similar problem on the algorithm section of PracHub, which helped me articulate my thought process clearly. The interview continued with an onsite where I tackled system design and behavioral questions, and overall, the experience was straightforward and positive, leading to an offer that I happily accepted.
Interview questions [1]
Question 1
Top K Frequent Elements: given an integer array and integer k, return the k most frequent elements. Walk through both the min-heap approach (O(n log k) time) and the bucket-sort approach (O(n) time), then discuss the trade-offs in time, space, and which one you'd pick for a streaming variant where new numbers keep arriving.
Surprisingly, the interview felt quite straightforward, especially for a senior role. I started with a technical screen, where I was asked to design an Uber Eats cart service. It caught me off guard initially, but then I remembered a specific mock I had practiced on PracHub that was nearly spot-on with this scenario. The final round included some behavioral questions, and although I received an offer, I ultimately decided to decline. Overall, it was a positive experience.
I applied online. I interviewed at Uber (Bengaluru)
Interview
Round 1 - Coding
Question: Count Rectangle-Line Intersections. Given a set of rectangles and a set of vertical line segments, count how many places the vertical lines intersect the rectangle edges (ignoring edge-on-edge overlaps).
Interview questions [1]
Question 1
Count Rectangle-Line Intersections. Given a set of rectangles and a set of vertical line segments, count how many places the vertical lines intersect the rectangle edges.