Uber L4 interview experience | Accepted
- Result
- Offer
- Experience
- 5.5 years
- Posted
- 29 Nov 2025
Summary
I interviewed for an L4 position at Uber and was ultimately accepted after multiple rounds covering coding, system design, and behavioral aspects.
How it went
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.
Questions asked (6)
- 01
Find The Closest Palindrome
Data Structures & Algorithms · Hard
Open the problemGiven 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.
- 02
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.
- 03
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?
- 04
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
- 05
Design an Amazon Homepage Recommendation System
System Design
Design a recommendation system for the Amazon homepage.
- 06
Behavioral Questions on Past Experiences
Behavioral
Generic behavioral questions on past experiences and some hypothetical situations.