Round 1 (DSA):
Disjoint Set Union based question
https://leetcode.com/problems/making-a-large-island/description/
Round 2 (DSA):
Closest Palindrome
https://leetcode.com/problems/find-the-closest-palindrome/description/
Round 3 (System Design, LLD):
Design Hit Counter
https://leetcode.com/problems/design-hit-counter/description/
All three questions are leetcode Uber tagged.
Round 4 (System Design, HLD):
HeatMap of drivers
Round 4 wasnt very good for me.
My Basic Design Idea
Introduced an API Gateway and Location Tracking / Ingestion Service
Stored driver updates in a database with fields like:
(driverId, latitude, longitude, status, timestamp)
Added an index on timestamp
Redis for Aggregation
To improve performance:
Proposed using Redis for fast access
stored (lat, long) in redis instance and got geohash computed by redis.So basically stored all driver locations in redis.
Maintain per-minute aggregates in separate redis instance
(minute + geohash + precision → driver count)
Handling High Update Frequency
Since drivers may send frequent location updates:
When asked about batching triggers, I proposed:
Wasnt very confident and took a lot of time. So what are the chances of being selected. Dont have much hope after this round.
Verdict: Rejected