UBER L4 Interview experience
Anonymous User
2726

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:

  • Suggested client-side throttling (avoid sending updates if stationary)
  • Suggested batching on server

When asked about batching triggers, I proposed:

  • Sending events to Kafka
  • Consumer processes events:
  • Compute geohash
  • Update Redis aggregates
  • Persist to DB asynchronously

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

Comments (9)