uber logo
Uber· SDE-2 Frontend

SDE-2 Frontend Interview Uber

Posted
17 Jul 2025
353 reads

Summary

I interviewed for an SDE-2 Frontend role at Uber, undergoing multiple coding rounds, Low-Level Design, High-Level Design, and a Hiring Manager discussion, but was ultimately rejected.

How it went

Ubers Interview:-

Coding 1:-

Question 1:-

#Uber's trip history system has encountered a malfunction ing a passenger's journey to be fragmented into multiple unordered segments. Each segment cares a portion of the trip sequence, but the correct chronological order of these segments is unknow

Lily, a data engineer at Uber, has been assigned the tas of restoring the complete trip history. She must analyze the given segments, identify overlapping metails, and piece them together in the correct order to reconstruct the original journey.

Solve jt in js #Your task is to design an efficient algorithm to ass sequence from the unordered segments.

Its n*m aarray

Question 2:-

"Consider you are in an IPL auction for selection of players and there are few (even number of players) left over players (displayed on the screen in a row) who needs to be picked between 2 teams. Each player has a respective score number assigned which suggests how good that player is. Each team selector gets alternating turns. In each turn, a selector have to select either ist or last player from the screen.
Determine the maximum possible score you can win if we move first. P.S Opponent selector is as clever as you" "Sample 1
Input Surya kumar- 5, Ashwini 3, Pandiya-7, Virat 10:: (5, 3, 7,10) Output: 5+10 = 15

Sample 2 Input Surya kumar- 8, Ashwini - 15, Pandiya-3, Vrat- 7 :: (8, 15, 3, 7}

Coding Round 2:-

Create a queue that allows concurrent processing of async tasks up until a limit. Tasks can be added to it after creation at any time. The queue has the following signature: /* type Task any; type Queue = (ProcessorFn, OnCompleteFn, concurrency: number) => QueueObject I type QueueObject = { drain: (error?: Error) => void push: (Task or Array, CallbackFn) => void error: (error?: Error, Task) => void unshift: (Task or Array, CallbackFn) => void
} type ProcessorFn = (Task, CallbackFn) => void type OnCompleteFn = (data: any, error: Error, Task) => void type CallbackFn = (error?: Error) => void

LLD:-

Render C shape squares (25px) a row. A square would have a border black and bg color white. Keep space of 10px between ares Clicking on a square will ange its color to green.
An unwinding process would start once all 3 squares are green. It will turn them back to white in the reverse order of click. Unwinding should decolor boxes one by one with a delay of 1 second between them

HLD:-

Design Google Calender

HM:- Genral Discussions on previous projects and normal HM questions.

Verdict:- Rejected

Questions asked (5)

  1. 01

    Reconstruct Trip History from Fragmented Segments

    Data Structures & Algorithms

    #Uber's trip history system has encountered a malfunction ing a passenger's journey to be fragmented into multiple unordered segments. Each segment cares a portion of the trip sequence, but the correct chronological order of these segments is unknow # Lily, a data engineer at Uber, has been assigned the tas of restoring the complete trip history. She must analyze the given segments, identify overlapping metails, and piece them together in the correct order to reconstruct the original journey. Solve jt in js #Your task is to design an efficient algorithm to ass sequence from the unordered segments. Its n*m aarray

  2. 02

    Maximize Score in IPL Auction Game

    Data Structures & Algorithms

    "Consider you are in an IPL auction for selection of players and there are few (even number of players) left over players (displayed on the screen in a row) who needs to be picked between 2 teams. Each player has a respective score number assigned which suggests how good that player is. Each team selector gets alternating turns. In each turn, a selector have to select either ist or last player from the screen. Determine the maximum possible score you can win if we move first. P.S Opponent selector is as clever as you" "Sample 1 Input Surya kumar- 5, Ashwini 3, Pandiya-7, Virat 10:: (5, 3, 7,10) Output: 5+10 = 15 Sample 2 Input Surya kumar- 8, Ashwini - 15, Pandiya-3, Vrat- 7 :: (8, 15, 3, 7}

  3. 03

    Concurrent Async Task Queue

    System Design

    Create a queue that allows concurrent processing of async tasks up until a limit. Tasks can be added to it after creation at any time. The queue has the following signature: /* type Task any; type Queue = (ProcessorFn, OnCompleteFn, concurrency: number) => QueueObject I type QueueObject = { drain: (error?: Error) => void push: (Task or Array, CallbackFn) => void error: (error?: Error, Task) => void unshift: (Task or Array, CallbackFn) => void } type ProcessorFn = (Task, CallbackFn) => void type OnCompleteFn = (data: any, error: Error, Task) => void type CallbackFn = (error?: Error) => void

  4. 04

    Interactive C-Shape Squares UI

    System Design

    Render C shape squares (25px) a row. A square would have a border black and bg color white. Keep space of 10px between ares Clicking on a square will ange its color to green. An unwinding process would start once all 3 squares are green. It will turn them back to white in the reverse order of click. Unwinding should decolor boxes one by one with a delay of 1 second between them

  5. 05

    Design Google Calendar

    System Design

    Design Google Calender

Know someone preparing? Send it to them:WhatsAppLinkedInX

Interviewed at Uber recently?

Write up your rounds while you still remember the questions. It helps the next person more than you would think.

Share your experience
Discussion 0

Questions for the author, or how your own interview compared.

Join the discussion

Sign in with Google to comment or ask the author a question.

No comments yet

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