Uber | SDE3 Frontend Interview

uber logo
uber
Senior Frontend Engineer
August 13, 20252 reads

Summary

I interviewed for a Senior Frontend Engineer position at Uber, which involved rounds on JavaScript problem solving and Data Structures & Algorithms, including graph problems like Topological Sort and Cycle Detection.

Full Experience

Uber – Senior Frontend Engineer Interview Experience

Round 1 – JavaScript Problem

Uber Driver question: Implement a chainable JS Class (pickup(), drop(), coffeeBreak()) where coffeeBreak() must always execute first.
<br/>new UberDriver()<br/> .pick("Alice", 1)<br/> .drive(5)<br/> .coffeeBreak(3) // always executes first<br/> .pick("Bob", 2)<br/> .status()<br/> .drop()<br/> .rest(2)<br/>

Tested method chaining, promise, and async handling.

Followup Question
Driver can take break anytime but it should execute at beginning only

Round 2 – DSA (Graphs)

Topological Sort (implemented using Kahn’s Algorithm).

Cycle Detection in a Graph (DFS + recursion stack).

Interview Questions (3)

Q1
Chainable JS Class with Priority Method
Other

Implement a chainable JS Class (pickup(), drop(), coffeeBreak()) where coffeeBreak() must always execute first. The example usage is:
<br/>new UberDriver()<br/> .pick("Alice", 1)<br/> .drive(5)<br/> .coffeeBreak(3) // always executes first<br/> .pick("Bob", 2)<br/> .status()<br/> .drop()<br/> .rest(2)<br/>
This tests method chaining, promise, and async handling.

Followup Question
Driver can take break anytime but it should execute at beginning only

Q2
Topological Sort (Kahn's Algorithm)
Data Structures & Algorithms

Implement Topological Sort using Kahn’s Algorithm.

Q3
Cycle Detection in a Graph (DFS)
Data Structures & Algorithms

Implement Cycle Detection in a Graph using DFS with a recursion stack.

Preparation Tips

Uber tests JavaScript design patterns + DSA fundamentals.

Strong graph algorithm knowledge is essential.

Even frontend roles have pure algorithm rounds.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!