Uber | SDE3 Frontend Interview
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)
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
Implement Topological Sort using Kahn’s Algorithm.
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.