Uber Freight SWE3 Interview Experience
Summary
I interviewed for the Uber Freight SWE 3 role and completed three rounds: an O(N) DSA problem, a low‑level design of a basic file system, and a system design for a distributed URL shortener.
Full Experience
Uber Freight SWE 3 Interview Experience
Here’s my interview experience for the Uber Freight SWE 3 role.
Round 1 — DSA
We were given a car and N riders.
For every rider, we have two values:
L[i]— minimum number of other riders this rider is willing to travel with.H[i]— maximum number of other riders this rider is willing to travel with.
If we select k riders, then every selected rider must satisfy:
L[i] <= k - 1 <= H[i]
The goal is to maximize the number of riders that can travel together.
Example:
N = 5
L = [0, 1, 1, 2, 2]
H = [1, 2, 2, 4, 4]
Answer = 3
The expected solution was O(N).
The main challenge was identifying the right way to think about the constraints and avoid checking every possible k.
Round 2 — LLD
Design a basic file system supporting operations such as:
mkdirls
The interviewer was mainly interested in the design and approach, rather than implementation.
We discussed:
- File and directory entities
- Directory hierarchy
- How to represent parent-child relationships
- How
mkdirwould create a directory - How
lswould traverse/list the contents - Entity/class relationships
We were expected to draw the entity/class diagram and explain the design.
Working code was not expected.
Round 3 — System Design
Design a distributed URL shortener.
The discussion covered the overall distributed architecture and how the system would work at scale.
Important areas to consider:
- URL shortening API
- Redirect API
- Unique short-code generation
- Database/storage
- Caching
- Distributed ID generation
- Read/write scalability
- Handling very high redirect traffic
- Availability and fault tolerance
- Expiration of URLs
- Collision handling
- Database partitioning/sharding
Overall, the rounds were a mix of DSA → LLD → HLD, with increasing emphasis on design depth and scalability.
Difficulty: DSA was mainly about finding the optimal observation, LLD focused on clean object modeling, and the final round tested distributed-system fundamentals and scalability.
I wanted to discuss on compensation part, do you guys any idea of how much they offer?
Interview Questions (3)
Maximum Riders with Constraints
We are given N riders. For each rider i we have two values:
L[i]– minimum number of other riders this rider is willing to travel with.H[i]– maximum number of other riders this rider is willing to travel with.
If we select k riders, every selected rider must satisfy L[i] <= k - 1 <= H[i]. The goal is to maximize the number of riders that can travel together.
Example:
N = 5
L = [0, 1, 1, 2, 2]
H = [1, 2, 2, 4, 4]
Answer = 3
Expected solution runs in O(N).
Basic File System Design
Design a basic file system that supports operations such as mkdir and ls. Discuss file and directory entities, hierarchy, parent‑child relationships, how mkdir creates a directory, how ls lists contents, and the overall class diagram.
Distributed URL Shortener Design
Design a distributed URL shortener system. Consider API for shortening URLs and redirecting, unique short‑code generation, storage, caching, distributed ID generation, read/write scalability, handling high redirect traffic, availability, fault tolerance, URL expiration, collision handling, and database sharding/partitioning.