[USA] Uber SWE II, Backend Interview

Had interview for SWE II (Backend) role at Uber for Grocery org (apparently 2nd biggest vertical by gross revenue for Uber after Rideshare)

Ended up getting an offer

Process

  1. OA: Codesignal style. It was pretty much GCA. First two easy, Q3 tricky and confusing, but Q4 algorithmic

  2. Recruiter Phone Screen: Pretty chill and vibe check call. Do read the job posting and understand company mission. Sound interested in the role

  3. Coding 1 Onsite: 60 mins DSA round, but no obscure leetcode. You have a 2D MxN array. Each cell represents the number of open restaurants in the spot (r, c). You need to implement this interface:

  • openRestaurant(r, c): Open a restaurant at location (r, c)
  • countOpenRestaurants(r, c): Number of open restaurants at location (r, c)
  • hasOpenRestaurant(r, c): Are there open restaurants at location (r, c)
  • countDeliveryZones(): The meaty question. A delivery zone is defined as a clustering of open restaurants where directionally (up, down, left, right), you have open restaurants. I got a working solution using DFS/BFS, but interviewer wanted a more optimal solution. Turns out Uber really likes to ask about Union-Find and interviewer was super uncooperative and didn't want to offer any hint like you would in the real world
  1. Coding 2 Onsite: 60 mins DSA round. You have a set of rooms in your office and you need to implement scheduleMeeting(startTime, endTime) and return the room for your meeting. The implementation was not too bad, but the followups were interesting:
  • What would happen if we had 10000 concurrent requets to scheduleMeeting. What would the bottleneck be? How would you solve for the bottleneck?
  • Your solution is currently O(M*N) where M = number of rooms and N = number of bookings. COuld you improve the time complexity? Hint: what if bookings are sorted --> maybe use binary search to get logarithmic time complexity and smartly check the likely intervals for overlap
  1. System Design: Design Cart Management System (like in context of grocery delivery order)
  2. Behavioral Interview: Hiring Manager convo was great and it wasn't too bad. This was the best part of the interview

Overall Thoughts

  • Recruiter and Hiring Manager were nice
  • Interviewers were mid imo. Uber does like asking problems disguised as Union Find, so knowing how to implement it would be to your best interest
  • Some of the interviewers I had were unfortunately not the most collaborative people. These interviewers don't really like giving hint just like you would bounce ideas off of a coworker which left a sour taste
  • Uber didn't really want to budge on the base salary even if you have a competing. All the recruiter said Uber could do is "bump the sign on bonus". Uber also upsells you on the fact that you can get an annual cash bonus if you "meet the bar"
Comments (4)