I applied through a recruiter. The process took 1 week. I interviewed at Uber (San Francisco, CA) in May 2016
Interview
I was contacted by recruiter in LinkedIn, we scheduled a call and he described the current openings. After a couple of days I had a call from one of tech leads and he described his project and we scheduled a phone coding screen.
The coding screen was very standard, a little discussion about my current role and coding question. The coding question was familiar for me because it's very standard question, I told it's a standard problem and described the solution in deep details and wrote the most optimal solution in time.
After a week of silence I send a message to recruiter and he replied that he forgot to follow up with me and team decided not to move forward. I was a complete surprise for me since I'm sure I performed the screen very well. I'm doing phone screens at work and currently interviewing with other companies, so I have pretty good understanding when the interview was good. As expected the recruiter was completely useless, didn't provide me any details and didn't reply anymore.
I'm not sure what exactly happened, but anyway it's pretty unhealthy recruiting process and it was complete waste of time.
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.