Uber L4 interview experience | Accepted

uber logo
uber
SDE II5.5 yearsOffer
November 29, 2025106 reads

Summary

I interviewed for an L4 position at Uber and was ultimately accepted after multiple rounds covering coding, system design, and behavioral aspects.

Full Experience

I had my interview experience for an L4 role at Uber with 5.5 years of experience. The process involved several rounds: Screening, DSA, LLD, HLD, and a Hiring Manager round.

Screening Round

This round focused on a LeetCode problem. I was given the 'Find The Closest Palindrome' problem and I was able to solve it successfully.

DSA Round

The main problem involved a grid with police stations, a thief, and a bank. Police stations patrolled within a 'k' Manhattan distance, and I had to determine if the thief could reach the bank without encountering police. My initial approach combined multi-source BFS to identify safe zones and then DFS to find a path. The interviewer then presented a follow-up: what if each police station had a different 'k' value? For this, I proposed using Dijkstra's algorithm. I was able to quickly code both approaches, which impressed the interviewer.

LLD Round

I was asked to design a data structure with time-to-live (TTL) functionality, receiving (key, timestamp) pairs in increasing order. The requirements included counting all active keys, active keys for a specific key, and standard CRUD operations. My initial idea was to use a Map<String, Queue<Timestamp>> and clean expired keys on each function call. The interviewer suggested an optimization using a global Queue<Pair> (where Pair = (timestamp, key)) to poll expired elements more efficiently, updating counts with a Map<String, Integer> and a global total counter. This improved the average-case complexity.

HLD Round

This round was about designing a recommendation system for the Amazon homepage. I framed it as a Top-K problem, explaining how I'd track metrics like item view and buy counts using Flink, maintain sorted sets, and use them for real-time recommendations. I realized afterward that I struggled with scale estimations, didn't provide enough diverse metrics (beyond views/buys, I only briefly mentioned comments/ratings), overlooked the need for country-specific recommendation sets, and my Redis cache approach for different metrics lacked extensibility.

Hiring Manager (HM) Round

This round consisted of generic behavioral questions, covering my past experiences and how I would handle various hypothetical situations.

Overall, I received a 'Strong Hire' for DSA and HM, 'Lean Hire' for LLD, and 'Hire' for HLD, which led to an offer.

Interview Questions (6)

Q1
Find The Closest Palindrome
Data Structures & AlgorithmsHard

Given a string n representing an integer, find the closest integer (not including itself), which is a palindrome. If there is a tie, return the smaller one.

Q2
Thief and Police in Grid (Manhattan Distance)
Data Structures & Algorithms

There is a grid with police stations, 1 thief, and 1 bank. Every police station can patrol within k Manhattan distance. You need to determine if there is any path for the thief to reach the bank without encountering the police.

Q3
Thief and Police in Grid (Varying Manhattan Distance)
Data Structures & Algorithms

Follow-up: What if the value of k is different for every police station?

Q4
Design a Time-to-Live (TTL) Data Structure
System Design

Design a data structure with time-to-live (TTL) where you receive (key, timestamp) pairs (in increasing order). You need to provide: a) Count of all active keys b) Count of active keys for a particular key c) CRUD functions

Q5
Design an Amazon Homepage Recommendation System
System Design

Design a recommendation system for the Amazon homepage.

Q6
Behavioral Questions on Past Experiences
Behavioral

Generic behavioral questions on past experiences and some hypothetical situations.

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!