Uber Freight SWE III Interview Experience
Summary
I shared my interview experience for the Uber Freight SWE 3 position, which included DSA, low‑level design, and high‑level design rounds.
Full Experience
Uber Freight SWE 3 Interview Experience
Sharing my recent interview experience for the Uber Freight SWE 3 position.
Round 1 - DSA
The problem was based on a car and a group of riders.
There are N riders, and for each rider we are given two values, L[i] and H[i].
If k riders are selected, then every selected rider should satisfy:
L[i] <= k - 1 <= H[i]
Here, k - 1 represents the number of other riders traveling with that particular rider.
The objective is to maximize the number of riders who can travel together while satisfying the condition for every selected rider.
Example:
N = 5
L = [0, 1, 1, 2, 2]
H = [1, 2, 2, 4, 4]
Answer = 3
The expected time complexity was O(N).
Round 2 - LLD
The question was to design a basic file system supporting operations such as:
mkdirls
The interviewer was primarily interested in the design rather than the implementation.
We discussed the entities/classes required, their relationships, and how the operations would work.
We were expected to:
- Identify the main entities
- Define the relationships between files/directories
- Explain how
mkdirwould create a directory - Explain how
lswould retrieve the contents - Draw the corresponding entity/class diagram
No working code was required.
Round 3 - HLD
The final round was a distributed URL shortener design.
The discussion focused on designing the system to work reliably at large scale.
Some of the areas discussed were:
- URL shortening and redirect APIs
- Generating unique short URLs
- ID/code generation
- Database selection
- Caching
- Handling high read traffic
- Database partitioning/sharding
- Collision handling
- Expiration of shortened URLs
- Fault tolerance and availability
- Scaling the system horizontally
Overall, the interview process covered DSA, LLD, and HLD, with each round testing a different aspect of problem‑solving and system design.
Interview Questions (3)
Maximum Riders Selection
Given N riders, each with a lower bound L[i] and an upper bound H[i]. Select a subset of riders of size k such that for every selected rider i, the condition L[i] <= k - 1 <= H[i] holds (where k - 1 is the number of other selected riders). Return the maximum possible k. Expected time complexity: O(N).
Basic File System Design
Design a basic file system that supports mkdir and ls operations. Identify the main entities/classes (e.g., File, Directory), define their relationships, and explain how mkdir creates a directory and how ls lists directory contents. A class diagram is expected, but no working code is required.
Distributed URL Shortener System Design
Design a distributed URL shortener service that can handle large scale traffic. Discuss API design for shortening and redirecting URLs, unique short URL generation, ID/code generation strategies, database selection, caching, handling high read traffic, sharding/partitioning, collision handling, expiration of URLs, fault tolerance, availability, and horizontal scaling.