uber logo

Uber Interviews

20 experiences413 reads57 questions35% success rate
Uber interview sde1
uber logo
Uber
SDE I
November 13, 20258 reads

Summary

I interviewed for an SDE1 position at Uber and was challenged with a problem to find the kth smallest square in a sorted array, focusing on optimal time complexity.

Full Experience

I recently had my interview for the SDE1 role at Uber. It was a focused session on problem-solving, and I encountered a specific coding challenge. The interviewer asked me to find the kth smallest square in a given sorted array, with a particular emphasis on achieving a time complexity better than O(k), which made the problem quite interesting.

Interview Questions (1)

Q1
Kth Smallest Square in Sorted Array
Data Structures & Algorithms

Given a sorted array of integers, find the kth smallest square of an element from the array. The solution should aim for a time complexity smaller than O(k).

Uber SDE 3 Phone Screen
uber logo
Uber
SDE 3
November 7, 202526 reads

Summary

I had a phone screen for an SDE 3 role at Uber, which focused on designing an API for scheduling meetings within a fixed set of conference rooms.

Full Experience

I recently had a phone screen for an SDE 3 position at Uber. The interviewer presented a system design problem where I needed to build an API to manage meeting schedules across a predefined set of conference rooms. The core task was to implement a scheduleMeeting(startTime, endTime) method. This method should identify and reserve any available room during the specified time, returning the room's identifier. If no rooms were available for the given time slot, the API should throw an error. The problem statement included several example scenarios using Unix timestamps to demonstrate the expected behavior, such as assigning rooms with overlapping start times, handling fully booked periods, and re-assigning rooms once they become free. The interviewer also specified an expected time complexity of log(meetings) + O(rooms).

Interview Questions (1)

Q1
API Design: Conference Room Meeting Scheduler
System Design

Build an API that can schedule meetings in a predefined set of conference rooms. It should have a method like scheduleMeeting(startTime, endTime) which returns any available room at that time and reserves it or throws an error if no rooms are available.

For example, let's say an Uber building has 3 conference rooms and we start getting requests as follows: scheduleMeeting(1647718624, 1647718731) // assign let’s say room1. scheduleMeeting(1647718624, 1647718931) // same start time, assign room2. scheduleMeeting(1647718624, 1647718431) // assign room3 as same start time. scheduleMeeting(1647718624, 1647768731) // error as no room is available for this time. scheduleMeeting(1647718732, 1647728789) // assign room1 as it became free

We are using Unix timestamps here, for simplicity, we can take integer values as well. Expected Time Complexity: log(meetings) + O(rooms) (since number of rooms are finite). Similar problem: Range Module. There are differences between both problems, but you can take it as a reference.

Uber | SSE | Screening Round | Reject
uber logo
Uber
SDE IIRejected
November 7, 202542 reads

Summary

I recently had a screening round interview with Uber for a Senior Software Engineer role. During the interview, I was presented with a grid-based problem involving robot movement constraints, which ultimately led to a rejection.

Full Experience

I interviewed with Uber for an SSE (Senior Software Engineer) position. It was a screening round, and unfortunately, I was rejected after this stage. The main part of the interview involved solving a coding problem. I had to identify robots in a 2D grid that satisfied specific movement requirements based on a query array. It was an interesting problem that tested my ability to navigate a grid and check conditions efficiently.

Interview Questions (1)

Q1
Robot Movement Constraints in a 2D Grid
Data Structures & Algorithms

You are given a 2D grid (Location Map) and a Query Array. The Location Map contains characters 'O' (robot), 'E' (empty space), and 'X' (blocker).

The Query Array specifies the exact distances a robot must be able to move before hitting a blocker in four directions:

  • Left: query[0] spaces
  • Top: query[1] spaces
  • Bottom: query[2] spaces
  • Right: query[3] spaces

The boundaries of the map are also considered blockers.

Inputs:

| O | E | E | E | X |
| E | O | X | X | X |
| E | E | E | E | E |
| X | E | O | E | E |
| X | E | X | E | X |

Query Array:

[2, 2, 4, 1]

This means a robot must be able to move 2 spaces left, 2 spaces top, 4 spaces bottom, and 1 space right without hitting a blocker.

Task:

Return the coordinates of all robots that meet these exact movement constraints in all four directions.

Uber | SDE 2 Interview Experience
uber logo
Uber
SDE 2Ongoing
November 4, 202542 reads

Summary

I recently had my first coding round for the SDE 2 role at Uber. After successfully solving the Alien Dictionary problem, I received positive feedback and am now moving to the second coding round.

Full Experience

Initial Contact

An Uber recruiter reached out to me on LinkedIn in the second week of September 2025 regarding this opportunity. After completing the OA the next week, I requested some prep time until the end of October 2025, which they kindly agreed to.

Round 1 - Coding Interview

My first coding round happened a couple of days ago. The problem was exactly this one: Alien Dictionary — LeetCode.

Unfortunately, I hadn’t come across this question before since it’s a premium one, but I managed to solve it during the interview. There were a bunch of follow-ups and optimizations which I was able to answer within 1 hour of the interview. The interviewer emphasized time and space complexity, so being prepared to explain my approach clearly and optimize where possible was crucial.

Round 1 - Post-Interview Update

I got a call from the recruiter afterward — she mentioned that the round went really well, and they’d be scheduling the second coding round soon. That’s where things stand for now. I’ll keep this post updated as I progress through the next rounds. 🙌

Interview Questions (1)

Q1
Alien Dictionary
Data Structures & Algorithms

The coding problem presented was exactly the one found at the provided LeetCode link.

Uber Front End Software Engineer II Interview
uber logo
Uber
Front End Software Engineer IIOngoing
November 3, 202528 reads

Summary

I interviewed for a Front End Software Engineer II role at Uber, completing a phone round and four onsite rounds covering DSA, System Design, Behavioral, and Front End specialization. Despite feeling I met minimum bars for most rounds, especially after struggling with a graph problem in Javascript, I'm quite pessimistic about the final outcome.

Full Experience

Phone Round

My phone round involved a straightforward problem: finding the k-th smallest element in an array. I approached this by using a limited size heap, which felt like the most appropriate solution.

On Site Rounds

1. Data Structures & Algorithms (DSA)

This round featured a problem similar to Number of Islands II. Initially, I mistook it for Number of Islands I, but I quickly realized that the matrix would change and be queried multiple times, which pointed towards the 'II' version. Thankfully, I was familiar with the proper solution using Union Find and managed to implement it correctly just in the nick of time. I'm hoping this was a Strong Hire.

2. System Design

The system design problem was to design Google Calendar. I had prepared for this, but it felt like some of my planned points weren't entirely relevant, so the interviewer took more control, asking specific questions like "how to do A?" and "how to do B?". I was able to answer all their questions successfully, but I felt like I lost an opportunity to go above and beyond. Uber seems to have this interview style where you can either do well or extra well. I believe this was at least a Hire; the interviewer even mentioned they had "everything they needed," which I took as a positive sign.

3. Behavioral

This round is always hard to gauge. I believe I responded effectively to all questions based on my past work experiences. I have no reason to think it was anything less than a Hire.

4. Specialization - Front End

I consider this the most challenging round because it could be either a UI-building task or a LeetCode-style Javascript question. Despite having four years of React experience, I'm not accustomed to solving LeetCode problems in Javascript, which was a mistake in my preparation. I had prepared primarily for a UI question, but was surprised by a Javascript question involving graphs and async jobs. I struggled quite a bit, as I'm not used to implementing graph algorithms or using Sets in Javascript. The interviewer allowed me to use Google, but that definitely eats into precious time. Nevertheless, I managed to solve the problem, again, just in the nick of time, though I did have one minor loose end which I later corrected and emailed to the interviewer. Once more, the interviewer stated they had "everything they needed," leading me to believe I passed the minimum bar for a Hire.

Based on my performance (Strong Hire, Hire, Hire, Hire), I believe it should be sufficient, but you never truly know with Uber. I've noticed their evaluation process can extend further, with reviewers scrutinizing interviewers' feedback, which explains why some candidates get surprising rejections even after positive interviewer interactions.

Honestly, I'm quite pessimistic and anticipate a rejection. When you're not absolutely perfect, anything can hinder your evaluation. I fear the evaluations might be lower, like Lean Hire, Hire, Hire, Lean Hire, which might not be enough for an offer.

Interview Questions (4)

Q1
Find Kth Smallest Element in Array
Data Structures & Algorithms

Given an array, the task was to find the k-th smallest element. This is a common problem in data structures and algorithms.

Q2
Number of Islands II
Data Structures & AlgorithmsHard

The problem was Number of Islands II, where you're given an empty 2D binary grid and a list of operations. Each operation adds a land cell (1) to the grid. After each operation, you must return the number of islands. I initially confused it with the simpler Number of Islands I.

Q3
Design Google Calendar
System Design

The system design question involved designing a comprehensive system like Google Calendar. This included considerations for scheduling events, managing notifications, handling user synchronization, and ensuring scalability and reliability.

Q4
Javascript Graph Problem with Async Jobs
Data Structures & Algorithms

This was a Javascript-specific programming problem that involved working with graphs and managing asynchronous jobs. It required knowledge of graph traversal algorithms and handling async operations within a Javascript environment.

Preparation Tips

My preparation primarily focused on UI-building questions for the specialization round, as I have significant React experience. However, I was caught off guard by a Javascript question involving graphs and async jobs. In hindsight, practicing LeetCode-style problems specifically in Javascript is a critical area I should have focused on for frontend interviews.

Uber | SSE | Technical Phone Round
uber logo
Uber
SSE (L5-A) backend positionRejected
October 30, 202515 reads

Summary

Applied for Uber's SSE (L5-A) backend position. The interview process included a technical phone round with two questions. The first was a LeetCode problem on water and jug problem, which required an optimized solution. The second was a system design problem involving managing a hierarchy of employees with specific functions. Both interviews resulted in rejection.

Full Experience

Appeared for SSE (L5-A) backend position

  1. https://leetcode.com/problems/water-and-jug-problem/
    Interviewer won't help at all. He pasted the question and then turned off his audio video. Optimized working solution is expected. [Rejected]
  2. I again appeared for different job ID for same SSE position
    1. You are given a list of edges [[a,b], [b,c], [d,f], [f,g]]. Here a,b means a is manager of b. You have to implement 3 functions:
        a. Return total number of employees under a manager (both direct and indirect)
        b. Change the manager of an employee. If that employee has some reportees then those will also be affected.
        c. Add new employees. Eg: [c,d] needs to be added.

      Input format was not hardcoded. You have to write the main function on how input will be given to these apis.

      Basically if you create a tree structure you would be able to solve this question. The key was to have optimized solution such that (a) part should have TC - O(1)

      I couldn't come up with optimized solution in the given time.
      [Rejected]

Interview Questions (2)

Q1
Water and Jug Problem
Data Structures & AlgorithmsMedium

Water and Jug Problem - Determine if it is possible to measure exactly z liters using two jugs with capacities x and y liters.

Q2
Employee Hierarchy Management
Data Structures & Algorithms

You are given a list of edges representing a hierarchy where each edge [a,b] indicates a is the manager of b. Implement three functions:
  a. Return total number of employees under a manager (direct and indirect)
  b. Change the manager of an employee, propagating changes to reportees
  c. Add new employees to the hierarchy.

Input format is not hardcoded; you must define how input will be provided to the APIs. The key challenge is to design an optimized solution with O(1) time complexity for part (a).

Uber | Software Engineer II (SE-2) | Bangalore | Interview Experience
uber logo
Uber
Software Engineer II (SE-2)BangaloreOffer
October 25, 202528 reads

Summary

I successfully navigated through multiple technical and design rounds for a Software Engineer II role at Uber in Bangalore, ultimately receiving and accepting an offer.

Full Experience

A few months ago, I applied for a Software Engineer II position at Uber through a referral. My interview process began with a CodeSignal test where I successfully solved both coding questions.

Technical Screening

This round focused on Data Structures & Algorithms, specifically a dynamic programming question which I solved successfully.

Coding Round 1 (Algorithms & Data Structures)

I faced two coding questions in this round, with a strong emphasis on Time Complexity and Space Complexity. The problems were:

  1. Cheapest Flights Within K Stops
  2. Maximum Points You Can Obtain from Cards

Coding Round 2 (Depth in Specialization - Low-Level Design)

This round involved implementing file system APIs: mkdir, pwd, and cd. The mkdir and pwd functionalities were straightforward, but cd presented a challenge due to a wildcard * which needed to match '.', '..', or any child directory.

Design & Architecture (High-Level Design)

I was asked to design a backend system for an e-commerce website, specifically for the browsing experience and excluding the purchase process. The system needed to use popularity data to highlight top items. Additionally, I had to design an event processor for various product-related events ('Product added to Cart,' 'Product viewed,' etc.), discussing data storage and prioritizing consistency versus availability. I also had to elaborate on the data structure for product catalog storage.

Collaboration & Leadership

This round was scheduled but later canceled.

After completing these rounds, I received an offer from Uber and happily accepted it!

Interview Questions (5)

Q1
Minimum Appends for Subsequence
Data Structures & Algorithms

Given two strings, s and t, consisting only of lowercase English characters. Determine the minimum number of times s must be appended to itself for t to be a subsequence of the resulting string.

Example: s: boy t: oyb

Answer: 2, because "boyboy" contains "oyb" as a subsequence.

Q2
Cheapest Flights Within K Stops
Data Structures & Algorithms

Standard problem about finding the cheapest path between two nodes in a graph with a limit on the number of stops.

Q3
Maximum Points You Can Obtain from Cards
Data Structures & Algorithms

Standard problem about maximizing points by picking cards from the ends of a row.

Q4
Implement File System APIs
Data Structures & AlgorithmsHard

Implement basic file system APIs:

  1. mkdir
  2. pwd
  3. cd

The cd command must support a wildcard * that can match any of '.', '..', or any child directory.

Q5
E-commerce Product Browsing System Design
System DesignHard

Design a backend system for an e-commerce website that displays merchandise. The system's scope is limited to the browsing experience, specifically excluding the purchase process. Popularity data should be used to select and highlight the top items. I was also asked to design an event processor that would handle vast amounts of events, such as 'Product added to Cart,' 'Product viewed,' 'Product wishlisted,' and 'Product purchased.' Key questions posed to me were: 'Where should this data be stored?' and 'What should be prioritized: consistency or availability?' The interviewer also asked for an example of data that would be stored in MongoDB.

Uber System Design Round
uber logo
Uber
October 21, 202519 reads

Summary

I had a system design round with Uber where I was asked to design a chat application similar to Facebook Messenger, focusing on key features like 1:1 and group conversations, offline user handling, and message history.

Full Experience

I recently interviewed with Uber and was presented with a system design challenge. The interviewer asked me to design a chat application similar to Facebook Messenger, focusing on several core features. I had to describe the overall system architecture, including server-side storage, APIs, and how various components would interact. Key aspects I needed to address included 1:1 and group conversations, handling offline users, delivery and read receipts, message history, and group management functionalities like adding or removing users.

Interview Questions (1)

Q1
Design a Chat Application (e.g., Facebook Messenger)
System DesignHard

Design a chat application like Facebook Messenger. Describe the system architecture, server-side storage, the API, components, data models. Explain how they would work together. Core features to focus on:

  • 1:1 conversation (P0)
  • Group conversation (P0)
  • Offline users
  • Delivery/Read / Delivery Receipt
  • Message history
  • Group management (add/remove user)

Uber Interview Experience | L4 | Frontend #uber
uber logo
Uber
Frontend Engineer, L44.5 yearsOngoing
October 16, 202534 reads

Summary

I recently went through the interview process for an L4 Frontend position at Uber, which included a screening round, two coding rounds focusing on DSA and UI, a UI system design round, and a manager discussion. The questions spanned from implementing interactive UI components to designing a concurrent task queue and a full-fledged calendar application.

Full Experience

I interviewed for an L4 Frontend role at Uber, bringing 4.5 years of experience. The interview process was comprehensive, covering various aspects of frontend development and problem-solving.

Screening Round

My screening round involved a UI component design and implementation task. I was asked to build a voting poll UI. The requirements were quite specific:

  • Display four voting options with buttons.
  • Dynamically update vote counts and percentage distribution upon a click.
  • Show a colored progress bar for each option, reflecting its current percentage, with smooth, real-time updates.

Optional features included distinct colors, animations, and total vote counters.

Loop Interviews

Coding 1 (DSA)

This round focused on Data Structures & Algorithms, specifically involving concurrency. I was tasked with designing and implementing a task queue in TypeScript. The queue needed to support controlled concurrency, executing up to K tasks in parallel, and queuing additional tasks until slots became available. Each task required a unique ID and support for success and error callbacks. An interesting design constraint was allowing a custom executor for logging, retries, or rate limiting.

Coding 2 (UI Coding)

The second coding round was another UI implementation challenge. I had to design and implement a modal component using any UI framework. The modal needed several features:

  • Primary and secondary action buttons (e.g., “Save” and “Cancel”).
  • An optional close icon ('X').
  • Configurable priority levels to manage modal stacking.
  • A mechanism to automatically close all other open modals when a new, higher-priority modal opens.

UI System Design

This was a more extensive design round where I had to design a calendar application similar to Google Calendar. Key features to cover included:

  • User authentication (sign up, log in, log out).
  • Event management (create, edit, delete, accept invitations), with events having title, time, date, participants, and description.
  • Multiple calendar views (Month, Week, Day) with seamless switching.

Manager Round (Zoom Collaboration)

The final round was with a manager, where we discussed leadership and collaboration. The questions were primarily behavioral, drawing from my past experiences to assess my approach to teamwork and leadership.

Interview Questions (4)

Q1
Voting Poll UI Component Design and Implementation
OtherMedium

Design and implement a voting poll UI component using any front-end framework (e.g., React, Vue, or Angular).

  1. The poll should display four voting options, each represented by a button.
  2. When a user clicks on a button, the corresponding option’s vote count increases, and the percentage distribution across all options updates dynamically.
  3. Each option should display a colored progress bar that visually represents its current percentage of total votes.
  4. The bars should update smoothly and in real time as users vote.

You may also include additional features such as:

  1. Distinct colors for each option’s bar.
  2. Animations or transitions for visual appeal.
  3. A total votes counter or percentage labels.
Q2
Task Queue with Controlled Concurrency in TypeScript
Data Structures & AlgorithmsHard

Design and implement a task queue in TypeScript that supports controlled concurrency. The queue should allow executing up to K tasks in parallel, while additional tasks are queued until slots become available.

Each task should have a unique task ID and support success and error callbacks. The design should also allow setting a custom executor to define how tasks are executed (for example, to add logging, retries, or rate limiting).

Q3
Modal Component Design and Implementation
OtherMedium

Design and implement a modal component using any UI framework of your choice (e.g., React, Vue, or Angular).

The modal should support the following features:

  1. Primary and secondary action buttons (e.g., “Save” and “Cancel”).
  2. An optional close icon (X) for dismissing the modal.
  3. A configurable priority level to control modal stacking or importance.
  4. A mechanism to close all other open modals automatically when a new modal with higher priority is opened.
Q4
Calendar Application System Design
System DesignHard

Design and implement a calendar application (similar to Google Calendar) using any front-end framework of your choice (e.g., React, Vue, or Angular).

The application should support the following core features:

  1. Authentication: Allow users to sign up, log in, and log out securely.
  2. Event Management: Users should be able to create, edit, delete, and accept event invitations. Each event should include details such as title, time, date, participants, and description.
  3. Calendar Views: Display events in multiple views: Month, Week, and Day. Enable switching between views seamlessly.
[USA] Uber SWE II, Backend Interview
uber logo
Uber
SWE II, BackendUSAOffer
October 13, 202517 reads

Summary

I successfully interviewed for a SWE II Backend role at Uber for their Grocery organization in the USA and received an offer. The interview process included an Online Assessment, two technical coding rounds, a system design interview for a cart management system, and a behavioral chat with the hiring manager.

Full Experience

My interview journey for the SWE II Backend role at Uber's Grocery organization, which is apparently their second largest vertical by gross revenue after Rideshare, was quite comprehensive. It started with an Online Assessment, which was similar to Codesignal GCA, featuring two easy questions, one tricky and confusing, and one algorithmic.

After passing a pretty chill recruiter phone screen that mostly served as a vibe check and confirmed my interest, I proceeded to the onsite rounds.

The first coding onsite was a 60-minute DSA round. It involved implementing an interface for a 2D MxN array of restaurants, specifically openRestaurant(r, c), countOpenRestaurants(r, c), and hasOpenRestaurant(r, c). The core challenge was countDeliveryZones(), which required finding connected components of open restaurants based on directional adjacency (up, down, left, right). I initially developed a working solution using DFS/BFS, but the interviewer indicated that Uber seems to highly favor Union-Find for such problems and was looking for a more optimal solution. The interviewer was unfortunately uncooperative and didn't offer hints like a coworker would.

The second 60-minute DSA round focused on implementing scheduleMeeting(startTime, endTime) to assign rooms within an office. The implementation itself wasn't too bad, but the follow-ups were quite insightful:

  • What would happen if we had 10,000 concurrent requests to scheduleMeeting? What would be the bottleneck, and how would you solve it?
  • My solution was initially O(M*N) where M is the number of rooms and N is the number of bookings. How could this be improved? A hint was given: what if bookings are sorted? Perhaps use binary search to achieve logarithmic time complexity by smartly checking likely intervals for overlap.

Next was the System Design interview, where I designed a Cart Management System, specifically in the context of a grocery delivery order application.

Finally, I had a great behavioral interview with the Hiring Manager, which was a pleasant conversation and the best part of the interview process. Overall, the recruiter and hiring manager were nice, but some of the technical interviewers were unfortunately not the most collaborative people. Uber also didn't really want to budge on the base salary, even with a competing offer, only offering to bump the sign-on bonus.

Interview Questions (3)

Q1
Restaurant Grid: Count Delivery Zones
Data Structures & AlgorithmsMedium

Given a 2D MxN array where each cell (r, c) represents the number of open restaurants. Implement an interface with the following functions:

  • openRestaurant(r, c): Open a restaurant at location (r, c).
  • countOpenRestaurants(r, c): Number of open restaurants at location (r, c).
  • hasOpenRestaurant(r, c): Are there open restaurants at location (r, c).

The main problem is countDeliveryZones(), where a delivery zone is defined as a clustering of open restaurants connected directionally (up, down, left, right). The task is to count these distinct delivery zones.

Q2
Meeting Room Scheduler with Concurrency & Optimization
Data Structures & AlgorithmsMedium

You have a set of rooms in your office. Implement a function scheduleMeeting(startTime, endTime) which should return an available room for the meeting.

Follow-up 1: What would happen if we had 10,000 concurrent requests to scheduleMeeting? What would be the bottleneck, and how would you solve for the bottleneck?

Follow-up 2: My solution is currently O(M*N) where M = number of rooms and N = number of bookings. Could you improve the time complexity? Hint: what if bookings are sorted? Maybe use binary search to get logarithmic time complexity and smartly check the likely intervals for overlap.

Q3
Design Cart Management System
System DesignHard

Design a Cart Management System, specifically in the context of a grocery delivery order application.

Preparation Tips

Based on my experience, Uber seems to particularly like problems disguised as Union-Find, so knowing how to implement it thoroughly would be to your best interest. Also, for the recruiter phone screen, it's essential to read the job posting and understand the company's mission to sound genuinely interested. For coding rounds, be prepared not just for the initial solution but also for significant follow-ups involving concurrency and time complexity optimizations. System design should cover common e-commerce or delivery-related systems like cart management.

Uber Frontend
uber logo
Uber
Frontend
October 7, 202511 reads

Summary

I recently interviewed for a Frontend position at Uber where I was tasked with implementing a custom Promise function.

Full Experience

During my interview process for a Frontend role at Uber, I was presented with a coding challenge focused on core JavaScript concepts. Specifically, I had to implement my own version of the Promise function, demonstrating an understanding of its asynchronous behavior and state transitions.

Interview Questions (1)

Q1
Implement Custom Promise
Data Structures & Algorithms

Implement your own Promise function. This involves understanding the Promise A+ specification, including handling then, catch, resolve, and reject mechanisms, and managing state transitions.

Uber | SSE | Bangalore | L5-A
uber logo
Uber
SDE IIbangalore5 yearsRejected
September 26, 202515 reads

Summary

I interviewed for an SSE role at Uber in Bangalore. I successfully cleared the BPS and DSA rounds, but likely failed the LLD/MC round due to an issue with meeting all requirements for a vending machine design problem, leading to an anticipated rejection.

Full Experience

I applied for the SSE L5-A role at Uber in Bangalore without a referral. My experience is 5 years.

BPS Round

In this round, I was presented with a grid problem:

  • You have an n x n grid.
  • Each cell (i, j) has a direction (U, D, L, R).
  • If you move in the same direction as indicated, cost = 0.
  • If you move in a different direction, cost = 1.
  • Find minimum cost to go from (0, 0) to (n-1, n-1).

I solved this problem using a 0/1 BFS approach and successfully cleared the round.

Onsite

DSA Round

  1. The first question was a variation of LeetCode 1438: Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit.
  2. The second question was: Given an integer N, find the smallest palindromic number greater than N.

I managed to solve both questions. For the second question, I had a bug in one test case, but I clearly explained my thought process and how I would resolve it, which satisfied the interviewer.

LLD/MC Round

I was asked to design a vending machine with several specific and somewhat unusual requirements. Unfortunately, I missed one crucial requirement during my implementation, and due to time constraints, I couldn't rewrite my solution to incorporate it. It felt like a very extensive implementation for a 1-hour round.

I am fairly certain that I won't be moving forward to the subsequent HLD and Hiring Manager rounds. It appears this is the end of my interview journey with Uber this time.

Interview Questions (4)

Q1
Minimum Cost Path in a Directed Grid
Data Structures & AlgorithmsMedium

You have an n x n grid. Each cell (i, j) has a direction (U, D, L, R). If you move in the same direction as indicated, cost = 0. If you move in a different direction, cost = 1. Find minimum cost to go from (0, 0) to (n-1, n-1).

Q2
Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit (Variation)
Data Structures & AlgorithmsMedium

A variation of LeetCode 1438, which is 'Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit'.

Q3
Smallest Palindromic Number Greater Than N
Data Structures & AlgorithmsMedium

You are given an integer N. Find the smallest palindromic number greater than N.

Q4
Vending Machine Design
System Design

I was asked to design a vending machine with specific requirements.

Uber L4 Interview Experience | US - OFFER
uber logo
Uber
SDE IIus2.5 yearsOffer
September 23, 202516 reads

Summary

I successfully navigated the L4 interview process at Uber in the US, securing an offer after several rounds including coding, behavioral, and system design challenges. The overall experience was positive, and I found the interviewers to be very friendly and supportive.

Full Experience

Overall Experience

I had a very positive interview experience at Uber for an L4 role in the US. Everyone I interacted with was friendly and genuinely seemed to want me to succeed. The interviewers were also very diverse, which was great to see. The difficulty felt reasonable overall, and I was fortunate with some of the problems I encountered.

OA Round

My journey began with a CodeSignal Online Assessment. I managed to solve problems 1, 2, and 4, though I couldn't crack problem 3. This was sufficient to pass and move on to the next stage.

Phone Screen

The phone screen involved a LeetCode Hard problem, LC 269 (Alien Dictionary). I was able to solve it, and I received an invitation for the on-site rounds within two days.

On-Site Interviews

I. Bar Raiser DSA

This round focused heavily on Data Structures & Algorithms. I was given LC 564 (Find the Closest Palindrome), which I successfully solved. I thoroughly explained my solution, and the interviewer continued to ask follow-up questions until the very end, seemingly pushing to find my limits, but I managed to hold my ground.

II. Hiring Manager Round

This round was with a TPM and focused on behavioral aspects. I was asked to share negative experience stories from my current company, which I structured using the CARL framework. There was a strong emphasis on collaboration, and the interviewer asked questions to understand how I work with a team and ensure I am a team player. They also inquired about how I handle team overburn and stay resilient during stressful periods.

III. Low-Level Design (LLD) / DSA

I had anticipated a Machine Coding round and had prepared extensively with Java patterns and template problems like a parking lot design. However, it turned out to be another Data Structures round. I was given a question similar to LC 230 (Kth Smallest Element in a BST). I was able to solve it, and the interviewer was very supportive. It felt like they wanted me to pass, as they gave me what seemed like an easy problem with a reasonable medium follow-up. I definitely felt lucky in this round.

IV. High-Level Design (HLD)

This round was conducted by a very knowledgeable backend Tech Lead. The main problem was to design a restaurant recommendation system based on user location. The initial requirements were quite straightforward, allowing me to sketch out a design in less than 10 minutes. However, things became much more interesting when the latency requirements were significantly decreased. After developing a high-level design with optimizations for various regions, caching strategies, and sharding, I was asked to explain geohashing to someone without prior knowledge. I then discussed quad trees, geohashing, database indexing, and the various tradeoffs involved.

Outcome & Negotiation

The recruiter contacted me within three days, immediately after the interview panel meeting concluded, confirming a strong 'hire' recommendation from all interviewers. I initially received an offer package of TC $310k for Year 1 and $270k for Year 2. After a week of negotiation, I finalized an improved offer of TC $335k for Year 1 and $310k for Year 2.

Overall, it was a smooth process, and I'm very happy with the outcome!

Interview Questions (6)

Q1
Alien Dictionary
Data Structures & AlgorithmsHard

You are given a list of words that are sorted lexicographically by the rules of an alien language. You need to find the order of its letters. For example, given ['wrt', 'wrf', 'er', 'ett', 'rftt'], return 'wertf'.

Q2
Find the Closest Palindrome
Data Structures & AlgorithmsHard

Given an integer n, find the closest integer (not including itself) which is a palindrome. The 'closest' is defined as the absolute difference minimized. For example, if n = "123", the closest palindrome is "121".

Q3
Behavioral Questions (Collaboration & Stress Management)
Behavioral

The interviewer focused on collaboration and stress management. I was asked to share negative experience stories from my current company using the CARL framework, and also how I ensure I'm a team player and handle overburn and stress within my team.

Q4
Kth Smallest Element in BST (Variation)
Data Structures & AlgorithmsMedium

During the LLD round, I was given a Data Structures problem that was similar to finding the Kth Smallest Element in a Binary Search Tree. I solved the initial problem and then tackled a medium-difficulty follow-up question.

Q5
Design Restaurant Recommendation System
System DesignHard

Design a system that recommends restaurants based on a user's location. The requirements initially were basic but evolved to include stringent low-latency requirements. The discussion covered high-level design, regional optimizations, caching strategies, and sharding.

Q6
Explain Geohashing
System DesignMedium

As a follow-up to the system design, I was asked to explain geohashing to someone unfamiliar with the concept. This included discussing quad trees, database indexing, and various tradeoffs associated with these techniques.

Preparation Tips

My preparation for the coding rounds involved practicing LeetCode problems. For the LLD round, I studied various Java patterns and template problems, although the actual problem turned out to be more DSA-focused. For the HLD round, I extensively watched 'HelloInterview' and 'Jordan has no life' videos, focusing specifically on concepts like geohashing and database indexing strategies. I also practiced for the CodeSignal OA by solving similar problems.

[Passed] Uber L5A Frontend
uber logo
Uber
Frontend Engineer L5A7.5 yearsOffer
September 23, 202520 reads

Summary

I successfully navigated through a multi-stage interview process for a Frontend Engineer L5A position at Uber. The process, which spanned three weeks, included coding, system design, and behavioral rounds, ultimately resulting in an offer.

Full Experience

Background

I am a Frontend engineer with 7.5 years of experience, currently working in Big Tech.

Interview Process

Business Phone Screen [1 hour]

This round involved implementing a JavaScript memoization utility to cache responses from a callback-based async function, along with follow-up questions.

Coding 1 [1 hour]

I was presented with a problem similar to LeetCode 764, "Largest Plus Sign". The interviewer also asked follow-up questions on how to handle the problem efficiently in a sparse matrix.

Coding 2: Depth in Specialization [1 hour]

This was a React-based coding challenge where I had to build a Drag and Drop interface, similar to a Jira Board. I was allowed to reference MDN documentation during this round.

Design [Bar Raiser] [1 hour]

The design round focused on the end-to-end design of a configurable UI widget builder, including its client-side integration.

Hiring Manager (HM) [1 hour 45 mins]

This final round was split into two parts: a series of behavioral questions and a discussion/walkthrough of my previous projects.

The entire process took approximately 3 weeks.

Interview Questions (4)

Q1
JS Async Function Memoization Utility
Data Structures & Algorithms

Implement a JavaScript memoization utility that caches the response of a callback-based async function, with follow-up questions.

Q2
Largest Plus Sign with Sparse Matrix Follow-ups
Data Structures & Algorithms

A problem similar to LeetCode 764 (Largest Plus Sign). Follow-up questions included how to handle this problem efficiently in a sparse matrix.

Q3
React Drag and Drop (Jira Board Style)
Other

A React-based coding challenge to build a Drag and Drop interface, similar to a Jira Board. I was informed that I could reference MDN documentation.

Q4
Design Configurable UI Widget Builder
System Design

End-to-end design of a configurable UI widget builder and its client-side integration.

Uber L4 Interview Experience Ongoing
uber logo
Uber
Software Engineer L44.8 yearsOngoing
September 16, 202517 reads

Summary

I interviewed with Uber for an L4 Software Engineer position, navigating through several rounds including Data Structures & Algorithms, Machine Coding, and System Design. While my DSA round was strong, the machine coding round proved challenging due to an emphasis on HLD over LLD under tight time constraints. I later faced a system design challenge for Uber Eats for train travelers, which I approached structurally. The process is ongoing, pending a final decision after some scheduling delays and an upcoming Bar-Raiser round.

Full Experience

My interview journey at Uber for an L4 Software Engineer role began with a BPS round, which focused on data structures and algorithms. I successfully tackled the 'Alien Dictionary' problem, covering all edge cases, and my solution ran perfectly on the first try within 20 minutes.

The first official DSA round, which had been postponed multiple times, presented two problems. One involved reversing every 'k' nodes in a linked list, leaving the remaining nodes untouched if fewer than 'k' were left (e.g., A->B->C->D->E, k=2 becomes B->A->D->C->E). The other problem was similar to the 'Bus Routes' problem, though I don't recall the exact details.

My second round, the Machine Coding round, turned out to be my most challenging interview experience in 4.8 years. After some initial scheduling hiccups where the interviewer asked me to rejoin after 30 minutes, I was given only 40 minutes for the entire session. A significant portion of this time (15-20 minutes) was spent discussing my past experience in detail. The problem itself was similar to a job scheduler. The interviewer, a Staff Engineer, emphasized that the expectation for this round was both Low-Level Design (LLD) and High-Level Design (HLD). I quickly outlined an HLD, but as I only had about 10 minutes left, I intended to move to LLD. However, he kept interjecting with questions about push vs. pull flows, which further consumed my time. Despite explaining various patterns and their rationale, I barely had 5 minutes left and couldn't write or run much code, only managing to sketch out structures and explain my approach.

Following this, although the machine coding round was difficult, the strong performance in my first round led HR to push me forward to a Bar-Raiser + Hiring Manager stage. Unfortunately, I fell ill after these interviews were scheduled, leading to the Bar-Raiser round being postponed and the Hiring Manager round being canceled.

The third round, the HLD/Bar Raiser round, was a system design challenge: 'Design the Uber Eats home page for customers traveling on a train, taking PNR as input and allowing food ordering based on the delivery station.' This time, I made sure to follow a structured approach. I started by detailing Functional Requirements (FR) and Non-Functional Requirements (NFRs), including capabilities and scalability. I then defined core entities, presented my High-Level Design, discussed database and caching strategies, and delved into specific components. The interviewer posed many questions, which I answered, and in some instances, he provided corrections. I am currently unsure about the outcome of this round. The overall process is still awaiting feedback; based on the Bar-Raiser verdict, they will decide whether to proceed to the Hiring Manager round or drop my application.

Interview Questions (3)

Q1
Alien Dictionary
Data Structures & AlgorithmsHard

Given a sorted list of words in an alien language, find the order of characters in this language.

Q2
Reverse Nodes in k-Group
Data Structures & AlgorithmsHard

In a linked list, reverse every k nodes in the list. If the number of nodes is less than k for the last group, leave them as they are. For example, given A->B->C->D->E and k=2, the output should be B->A->D->C->E.

Q3
Design Uber Eats Home Page for Train Travelers
System DesignHard

Design the Uber Eats home page experience for customers traveling on a train. The system should take PNR as input and allow ordering food based on the station where it needs to be delivered.

Uber SDE-2 Interview Experience || L4 || Bangalore
uber logo
Uber
SDE-2Bangalore3 yearsOffer
September 12, 202513 reads

Summary

I successfully interviewed for the Uber SDE-2 position in Bangalore, which involved 5 rounds including a coding elimination, DSA, Low-Level Design, High-Level Design, and a Managerial discussion, ultimately leading to an offer.

Full Experience

I went through a comprehensive interview process for the SDE-2 (L4) role at Uber in Bangalore, initiated through a referral. With 3 years of experience as an SDE-1, I faced a total of 5 challenging rounds.

📌 Round 0 – Elimination Coding Round

This round featured a problem statement: Given an array of integers nums and an integer limit, return the size of the longest non-empty subarray such that the absolute difference between any two elements of this subarray is ≤ limit. This was similar to LeetCode 1438 and framed in a driver-cab domain context. I explained four distinct approaches step by step:

  • Brute force (4 loops) to generate all subarrays and check conditions.
  • An improved brute force (3 loops) to avoid redundant calculations.
  • Further optimization (2 loops) by tracking min/max with sliding windows.
  • The optimal solution (Deque + Sliding Window, O(n)) using two deques to maintain min/max.

The interviewer was very particular about base cases and required me to explain the time and space complexity for each approach. I successfully cleared this round.

📌 Round 1 – DSA + DSU Problem

I was given logs in the format UserA-Shared-UserB-timestamp, indicating that UserA and UserB shared a cab. The problem had two versions:

  • For each log, return how many cabs are currently running.
  • For a given set of logs, return the timestamp when all users get into one cab.

I initially started discussing DFS/BFS for connected components, but then shifted to a more optimal Disjoint Set Union (DSU) approach for handling the problem. I implemented DSU from scratch, explaining path compression and union by rank/size, and also detailed the time and space complexity for my solution. This round was also successful.

📌 Round 2 – Low-Level Design (LLD)

The problem statement was to design a Train-Platform Management System with functionalities to: assign trains to platforms based on input, query which train is at a given platform at a specific time, and query which platform a train is at for a specific time. I was expected to write runnable code in Java, explain design patterns, and walkthrough every step while coding. I designed core classes such as Train, Platform, Scheduler, and Schedule Manager. I coded using a minHeap strategy and then explained a random assigning strategy, focusing on writing extensible code. My primary focus was on implementing time-based queries and accurately mapping train schedules. The interviewer continuously cross-questioned my design choices and pushed me to deliver a clean design with working code within the 60–75 minute timeframe.

📌 Round 3 – High-Level Design (HLD)

This round involved designing the Uber Eats Homepage. I focused on several key areas:

  • Location-based search, using concepts like GeoHashing and GeoIndexing.
  • Designing APIs for the homepage and search results.
  • Schema design for Restaurants, Dishes, and Orders.
  • Choosing between SQL and NoSQL databases and justifying my choice.
  • Implementing caching strategies for performance.

I also discussed how to capture metrics such as the most ordered restaurant, most ordered dish, and orders per restaurant. I utilized HackerRank’s design whiteboard/drawing tool to illustrate my architectural design. The interviewer was very friendly, listened attentively, and supported my approaches while also providing constructive feedback on my explanations.

📌 Round 4 – Managerial + Behavioural

This round was a discussion centered around my past work experience. We covered topics such as the good coding practices I followed, my specific roles in previous projects, and the ownership and impact of the work I delivered. Towards the end, the manager gave me approximately 15 minutes to ask questions about the team, the role, and available growth opportunities at Uber.

✅ Outcome

I am delighted to share that I finally received an offer for the Uber SDE-2 position in Bangalore! 🎉

Interview Questions (5)

Q1
Longest Continuous Subarray With Absolute Diff ≤ Limit
Data Structures & AlgorithmsMedium

Given an array of integers nums and an integer limit, return the size of the longest non-empty subarray such that the absolute difference between any two elements of this subarray is ≤ limit.

Q2
Cab Sharing Logs Analysis (DSU)
Data Structures & Algorithms

We were given logs in the format UserA-Shared-UserB-timestamp, meaning UserA and UserB share a cab. Version 1: For each log, return how many cabs are currently running. Version 2: For a given set of logs, return the timestamp when all users get into one cab.

Q3
Design Train-Platform Management System
System Design

Design a Train-Platform Management System with functionalities to:

  • Assign trains to platforms based on input.
  • Query which train is at a given platform at a specific time.
  • Query which platform a train is at, at a specific time.
I was expected to write runnable code (in Java), explain design patterns, and walk through every step while coding.

Q4
Design Uber Eats Homepage
System Design

Design the Uber Eats Homepage. Focus areas included:

  • Location-based search (GeoHashing & GeoIndexing).
  • API design for homepage and search results.
  • Schema design for Restaurants, Dishes, Orders.
  • Choice of database (SQL vs NoSQL) and justification.
  • Use of caching for performance.
Metrics to capture: most ordered restaurant, most ordered dish, orders per restaurant. I used HackerRank’s design whiteboard/drawing tool to illustrate the architecture.

Q5
Managerial and Behavioral Discussion
Behavioral

This round involved a discussion around my past work experience. Topics included good coding practices I followed, my specific role in previous projects, and the ownership and impact of my delivered work. I was also given about 15 minutes to ask questions about the team, the role, and growth opportunities.

Uber SDE 2 - Phone Screen Experience
uber logo
Uber
SDE 2Rejected
September 11, 202522 reads

Summary

I was rejected after a phone screen for an SDE 2 role at Uber. I tackled a problem similar to LeetCode 305 but faced significant interruptions and time constraints from the interviewer, which hampered my performance and debugging.

Full Experience

I recently had my phone screen interview for an SDE 2 role at Uber. My interviewer was based in Canada, and while they mentioned their camera wasn't working, we proceeded with the interview. The main coding question I received was very similar to LeetCode 305, 'Number of Islands II', with only minor differences. Having solved this problem before, I felt quite confident in my ability to tackle it. I proceeded to explain two potential approaches: one utilizing Depth-First Search (DFS) and another employing the Union Find data structure. After discussing both, I received approval to implement the Union Find solution. However, as I was coding and verbalizing my thought process, the interviewer interrupted me several times to question my choices. Each interruption broke my concentration, and I had to re-explain my logic, sometimes even reading my code aloud for clarity. These frequent interruptions, occurring about three or four times, severely impacted my time management and disrupted my problem-solving flow. Towards the end of the almost hour-long session, I identified a bug—a 'return' statement in a loop that should have been a 'continue'. Despite my explanation, the interviewer insisted the bug was elsewhere and, due to time constraints, did not allow me to debug it further. I'm feeling quite disheartened by the outcome, but I hope sharing this experience offers some insight into the interview process at Uber and the types of questions they might ask.

Interview Questions (1)

Q1
Number of Islands II (Variation)
Data Structures & AlgorithmsHard

I was asked a problem that was a variation of LeetCode 305, 'Number of Islands II'. The core concept involved tracking the number of distinct islands in a 2D grid after a series of 'add land' operations. Each operation turns a water cell into land, and I needed to report the number of islands after each operation.

Uber India L5 (SSE) Interview experience
uber logo
Uber
Staff Software Engineer L5Bengaluru, IndiaOffer
September 7, 202520 reads

Summary

I successfully navigated a multi-round interview process at Uber India for an L5 Staff Software Engineer role, which spanned approximately two months, ultimately resulting in an offer.

Full Experience

My interview journey for the Staff Software Engineer L5 position at Uber India consisted of five comprehensive rounds, stretching over roughly two months.

Round 1: Data Structures & Algorithms

This round focused on a complex DSA problem involving a binary tree. The problem description itself was quite detailed and involved player interactions and point calculations based on node visitation order and timing.

Round 2: Data Structures & Algorithms

The second DSA round presented a problem where I had to process a 2D location map and a query array. The goal was to identify robots that could satisfy specific movement conditions based on distances to blockers, including map boundaries.

Round 3: High-Level Design

In this round, the discussion revolved around designing a system for real-time aggregated metrics for Uber Eats restaurants. The key requirements were to calculate total order values and top K food items over various time intervals, emphasizing real-time updates.

Round 4: Low-Level Design

This round required me to implement a meeting room booking system with fixed room numbers and varying sizes. I needed to handle booking availability, maintain history, and abstract different scheduling implementations, with the expectation of delivering fully working code within an hour.

Round 5: Hiring Manager Round

The final round was with the Hiring Manager. It began with standard behavioral questions. Following that, I was asked to deep-dive into the complete architecture of the most complex system I had built previously. The manager posed numerous follow-up questions concerning design trade-offs, challenges, learnings, and my technology stack choices during my explanation.

Interview Questions (5)

Q1
Binary Tree Path with Parent Pointer and Player Conflict
Data Structures & Algorithms

There is a binary tree with each node having value and also reference to parent pointer. A starts from root Node and B starts from some leaf node. Calculate the maximum points A can collect if A moves downward and B moves up with below condition:

  1. If node is visited by B first, A gets 0 and vice versa
  2. If both visits at the same time, both gets half value
Q2
Robot Movement with Blocker Distances
Data Structures & Algorithms

Given two inputs:

First input is the location map, a 2D array:

| O | E | E | E | X |
| E | O | X | X | X |
| E | E | E | E | E |
| X | E | O | E | E |
| X | E | X | E | X |

O = Robot, E = Empty, X = blocker

Second input is the query array. It’s a 1D array consisting of distance to the closest blocker in the order from left, top, bottom and right:

[2, 2, 4, 1]

This means distance of 2 to the left blocker, 2 to the top blocker, 4 to the bottom blocker and 1 to the right blocker.

Note: The location map boundary is also considered a blocker, meaning if the robot hits the boundary it also means it’s hitting the blocker.

Return the coordinates of all robots who can satisfy the move given by the second input.

Q3
Real-time Aggregated Metrics for Uber Eats Restaurants
System Design

Consider food orders placed from different restaurants via the Uber Eats app. Restaurant owners want to view aggregated metrics related to their orders in real-time:

  1. Total value of all orders placed in their restaurant for various time intervals - last 1 hour, 1 day, 1 week
  2. List of top k food items that were ordered from their restaurant for various time intervals - last 1 hour, 1 day, 1 week

Metrics should be real-time as much as possible.

Q4
Meeting Room Booking System
System Design

There are a fixed number of meeting rooms with various sizes. Given a start time and end time, I needed to book an available meeting room. I also had to maintain past booking history of meeting rooms. The interviewer expected me to abstract different types of implementations for meeting room scheduling. Fully working code was expected within 1 hour.

Q5
Discuss Most Complex System Built
System Design

The interviewer asked me to explain the complete architecture of the most complex system I had built in my past. This was followed by many follow-up questions during my explanation, covering design trade-offs, challenges faced, learnings, and choices of tech stack.

Uber SDE1 Experience
uber logo
Uber
SDE INo Offer
September 2, 20257 reads

Summary

I interviewed for an SDE1 role at Uber, successfully solving two problems fully and one partially, but ultimately did not receive an offer as Uber emphasized 'coding profile strength' and encouraged me to reapply.

Full Experience

I recently had my interview for the SDE1 role at Uber. The interview consisted of three challenging problems, primarily focusing on graph algorithms and array manipulations. I managed to solve two of them completely and the third one partially, achieving a score of 14/15. Despite my performance, Uber shared feedback emphasizing the importance of 'coding profile strength' and encouraged me to reapply for future roles.

Although I didn't receive an offer this time, I consider this a valuable learning experience, particularly in handling complex graph edge cases. The hiring for my specific role later closed, but I received positive feedback and encouragement from the Uber team to reapply.

Interview Questions (3)

Q1
Maze Game with Time Limits
Data Structures & AlgorithmsHard

You are given a weighted undirected graph with n nodes and m edges. Each node i has a time limit t[i] (or -1 if unlimited).

You start at node 1 with time 0. You can only visit a node if the current time is strictly less than its time limit.

Find the minimum time to reach every node, or -1 if it’s unreachable.

Q2
Count Valid Subarrays with Allergic Pairs
Data Structures & AlgorithmsMedium

You are given n bacteria samples arranged in a row. Some pairs (a, b) are allergic/poisonous and cannot appear in the same subarray.

Count the number of valid subarrays.

Q3
Reachable Nodes in Subdivided Graph
Data Structures & AlgorithmsHard

You are given a graph with n nodes, edges, and a number of subdivisions for each edge.

You can start from node 0 and can use at most maxMoves.

Return the number of nodes reachable (including subdivided ones).

Preparation Tips

My preparation mainly revolved around practicing various LeetCode problems, with a specific emphasis on graph algorithms, which proved very helpful given the interview questions. I also utilized tools like GPT to structure my explanations and improve the clarity of my solutions during my post-interview reflection, though all core coding solutions presented were my own.

Uber SDE 2 Interview Experience (Verdict: Positive)
uber logo
Uber
SDE 2Ongoing
June 24, 202513 reads

Summary

I successfully interviewed for an SDE 2 position at Uber, clearing several rounds including coding, object-oriented design, distributed system design, and behavioral discussions. I received positive feedback and am currently moving forward in the offer process.

Full Experience

I recently had the opportunity to interview for an SDE 2 position at Uber, and I'm pleased to share a breakdown of my experience across all rounds.

1. Recruiter Connect:

After a brief profile discussion with an Uber recruiter, I received an invitation for an interview.

2. Online Screening Round:

This round primarily focused on graph-based problems, which were at a LeetCode medium level. I was able to solve both questions within the given time, employing optimized approaches, and all test cases passed successfully.

3. Loop Rounds:

✅ DSA/Coding Round

The questions in this round covered Strings, Graphs, and Topological Sorting. I approached them using multiple methods, discussing the trade-offs of each with the interviewer. All the interviewer's test cases passed successfully.

✅ Code Design Round

I was asked to design an Employee & Team Directory Management System. This involved implementing functionalities like adding employees, assigning managers, adding employees to teams, providing a hierarchical view from any employee, and calculating employee and team CTC. I managed to implement the core logic and run it against the provided test cases. Due to time constraints, I couldn’t add all the validations and edge-case handling.

✅ System Design Round

This round required me to design a system similar to Omegle. The key requirements included one-to-one user matching, limited chat messages, and ensuring real-time connections. I proposed a design utilizing SSE, WebSockets, Redis, PostgreSQL, and Queue Managers, carefully addressing aspects like scalability, chat restrictions, and the matching logic.

✅ Behavioral Round

The behavioral discussion revolved around my previous projects, demonstrating ownership, and how I approached conflict resolution. The interviewer focused on real work situations and inquired about my handling of them.

Verdict:

I received positive feedback following these rounds and am now moving forward in the offer process.

Interview Questions (2)

Q1
Employee & Team Directory Management System Design
Other

Design an Employee & Team Directory Management System with the following functionalities:

  • Add employee
  • Assign manager
  • Add to team
  • Hierarchical view from any employee
  • Calculate employee and team CTC

Q2
Omegle-like Real-time Matching & Chat System Design
System Design

Design a system similar to Omegle with the following features:

  • One-to-one user match
  • Limited chat messages
  • Real-time connection

Have a Uber Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Uber.