Uber L4 Interview Experience | US - OFFER

uber logo
uber
SDE IIus2.5 yearsOffer
September 23, 202516 reads

Summary

I successfully navigated the L4 interview process at Uber in the US, securing an offer after several rounds including coding, behavioral, and system design challenges. The overall experience was positive, and I found the interviewers to be very friendly and supportive.

Full Experience

Overall Experience

I had a very positive interview experience at Uber for an L4 role in the US. Everyone I interacted with was friendly and genuinely seemed to want me to succeed. The interviewers were also very diverse, which was great to see. The difficulty felt reasonable overall, and I was fortunate with some of the problems I encountered.

OA Round

My journey began with a CodeSignal Online Assessment. I managed to solve problems 1, 2, and 4, though I couldn't crack problem 3. This was sufficient to pass and move on to the next stage.

Phone Screen

The phone screen involved a LeetCode Hard problem, LC 269 (Alien Dictionary). I was able to solve it, and I received an invitation for the on-site rounds within two days.

On-Site Interviews

I. Bar Raiser DSA

This round focused heavily on Data Structures & Algorithms. I was given LC 564 (Find the Closest Palindrome), which I successfully solved. I thoroughly explained my solution, and the interviewer continued to ask follow-up questions until the very end, seemingly pushing to find my limits, but I managed to hold my ground.

II. Hiring Manager Round

This round was with a TPM and focused on behavioral aspects. I was asked to share negative experience stories from my current company, which I structured using the CARL framework. There was a strong emphasis on collaboration, and the interviewer asked questions to understand how I work with a team and ensure I am a team player. They also inquired about how I handle team overburn and stay resilient during stressful periods.

III. Low-Level Design (LLD) / DSA

I had anticipated a Machine Coding round and had prepared extensively with Java patterns and template problems like a parking lot design. However, it turned out to be another Data Structures round. I was given a question similar to LC 230 (Kth Smallest Element in a BST). I was able to solve it, and the interviewer was very supportive. It felt like they wanted me to pass, as they gave me what seemed like an easy problem with a reasonable medium follow-up. I definitely felt lucky in this round.

IV. High-Level Design (HLD)

This round was conducted by a very knowledgeable backend Tech Lead. The main problem was to design a restaurant recommendation system based on user location. The initial requirements were quite straightforward, allowing me to sketch out a design in less than 10 minutes. However, things became much more interesting when the latency requirements were significantly decreased. After developing a high-level design with optimizations for various regions, caching strategies, and sharding, I was asked to explain geohashing to someone without prior knowledge. I then discussed quad trees, geohashing, database indexing, and the various tradeoffs involved.

Outcome & Negotiation

The recruiter contacted me within three days, immediately after the interview panel meeting concluded, confirming a strong 'hire' recommendation from all interviewers. I initially received an offer package of TC $310k for Year 1 and $270k for Year 2. After a week of negotiation, I finalized an improved offer of TC $335k for Year 1 and $310k for Year 2.

Overall, it was a smooth process, and I'm very happy with the outcome!

Interview Questions (6)

Q1
Alien Dictionary
Data Structures & AlgorithmsHard

You are given a list of words that are sorted lexicographically by the rules of an alien language. You need to find the order of its letters. For example, given ['wrt', 'wrf', 'er', 'ett', 'rftt'], return 'wertf'.

Q2
Find the Closest Palindrome
Data Structures & AlgorithmsHard

Given an integer n, find the closest integer (not including itself) which is a palindrome. The 'closest' is defined as the absolute difference minimized. For example, if n = "123", the closest palindrome is "121".

Q3
Behavioral Questions (Collaboration & Stress Management)
Behavioral

The interviewer focused on collaboration and stress management. I was asked to share negative experience stories from my current company using the CARL framework, and also how I ensure I'm a team player and handle overburn and stress within my team.

Q4
Kth Smallest Element in BST (Variation)
Data Structures & AlgorithmsMedium

During the LLD round, I was given a Data Structures problem that was similar to finding the Kth Smallest Element in a Binary Search Tree. I solved the initial problem and then tackled a medium-difficulty follow-up question.

Q5
Design Restaurant Recommendation System
System DesignHard

Design a system that recommends restaurants based on a user's location. The requirements initially were basic but evolved to include stringent low-latency requirements. The discussion covered high-level design, regional optimizations, caching strategies, and sharding.

Q6
Explain Geohashing
System DesignMedium

As a follow-up to the system design, I was asked to explain geohashing to someone unfamiliar with the concept. This included discussing quad trees, database indexing, and various tradeoffs associated with these techniques.

Preparation Tips

My preparation for the coding rounds involved practicing LeetCode problems. For the LLD round, I studied various Java patterns and template problems, although the actual problem turned out to be more DSA-focused. For the HLD round, I extensively watched 'HelloInterview' and 'Jordan has no life' videos, focusing specifically on concepts like geohashing and database indexing strategies. I also practiced for the CodeSignal OA by solving similar problems.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!