I applied through a recruiter. I interviewed at Uber (San Francisco, CA) in Dec 2020
Interview
Uber's interview process can be confusing. It starts with a take home assignment. If you clear this, it should be an onsite with a specific team. But it's in the hands of the recruiter to decide your next steps.
In my case, the recruiter came back to me a week later saying that my profile is not right for a backend role. When I mentioned that I am a backend engineer, she said I need to change my resume to show that. I changed the resume (added 4 words and changed my title to say backend) and suddenly this was a profile that managers liked - or so I was told. I think my resume was not shown to an engineering manager initially and once I added the word backend, it was shown. Then I had an onsite - 2 technical, 1 design, 1 bar raiser and 1 manager round. Design round seemed to concentrate highly on DB - which DB within NoSQL - trade offs, etc.
Overall the engineers seemed decent. But the recruiters were pretty inconsiderate with rude remarks like - your profile is a junior profile, we don't consider internships (I have no internship exp but 8+ years of full time exp), we only want backend engineers, etc. They basically look for keywords in your resume highlighted and bolded. If not present, they do as they please.
Interview questions [1]
Question 1
Leetcode for technical rounds should be enough. For design definitely concentrate on DB. They go into a lot of details.
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.