Uber Senior Software Engineer | L5A India | Rejected
- Location
- Bangalore
- Posted
- 26 Oct 2026
Summary
I interviewed for the Senior Software Engineer (L5A) role at Uber in Bangalore, cleared the HR screen, technical phone screen, and two onsite rounds, but was ultimately rejected after the final design interview.
How it went
So back in March I interviewed at Uber for the Senior Software Engineer (L5A) role at the Bangalore location. I was pretty close to cracking the L5A role with only 3 weeks of preparation, mostly relying on previously asked questions. But in the end, as you will find out, luck started to play against me :/
HR from Uber reached out to me over a call as my profile was open to switch on a hiring platform. I had a quick chat with the HR and they scheduled a 30 min intro call.
Round 1 - 30 Min Intro call
This round was with the same HR. I was asked about my experience, the reason I was looking to switch and a few more standard questions. Then she walked me through the interview process and shared the interview deck over WhatsApp. She told me that someone from her team would reach out over email for my availability and schedule the Technical Phone Screen round.
Deck link - https://jobs.uber.com/en/uber-interview-guide/backend-engineering-interview-guide
Preparation Tip
Before almost any interview I give, what I do is prepare a doc of previously asked questions using different forums available online like LeetCode, Glassdoor etc. For practising questions before that interview I rely on this doc itself, as it has helped me almost every time I go into an interview.
Round 2 - Technical Phone Screen
One DSA question was asked. It was similar to LeetCode 149 (Max Points on a Line) (https://leetcode.com/problems/max-points-on-a-line/description/).
I was able to solve the question with time to spare as I have already seen this question on LeetCode.
After 1 or 2 days I received a call from the HR that I had cleared the TPS round and that I would get an email to submit my availability for the first onsite round, i.e. Coding Round 1.
Round 3 - Onsite Round 1 (Algorithms & Data Structures)
Starting this round, my luck (which has mostly been shining since my childhood) started playing its role. Out of the 8-10 DSA questions that I collected I had only solved 3, but I got a question based on DSU from those 3 only.
Question - Earliest moment when everyone becomes connected (similar to LeetCode 1101: The Earliest Moment When Everyone Become Friends)
You are given n entities labeled 0 to n - 1 and a list of connection logs. Each log is [timestamp, x, y] and means x and y became directly connected at timestamp. Connectivity is transitive: if a is connected to b and b is connected to c, then a is connected to c.
Return the earliest timestamp at which every entity is connected to every other, directly or transitively. If that never happens, return -1.
I was able to solve it with time to spare and then the interviewer asked a couple of follow-ups which I don't remember exactly now.
Round 4 - Onsite Round 2 (Depth in Specialisation) (LLD / Machine Coding)
For this round, out of the questions that I collected from the forums, I read the solutions for most of them but practised coding only 1 of them, i.e. "Meeting Scheduler".
Question - Design a Meeting Scheduler
You are given n meeting rooms. Implement a MeetingScheduler class with a method scheduleMeeting(startTime, endTime) that books any available room for the interval [startTime, endTime).
Return the booked room if some room is free for the whole interval. Fail (return -1, or throw an exception) if every room has a conflicting meeting. Two meetings may touch at a boundary: [1,5) and [5,8) can share a room. Requests can arrive in any time order. I implemented the solution, but the interviewer was quite inactive and didn't ask many cross questions. The interview ended after I completed the implementation and ran a few edge cases. I thought something must have gone wrong.
Turnaround -
I received a call from the HR that I had cleared the round and that my availability for the next round would be asked over email.
The HR called me again, like two days before the interview, and told me that I would need to secure a 'Strong Hire' in this round as in the previous two rounds I had a 'Hire' & a 'Lean Hire'.
She then told me about the expectations from the upcoming round. She even went one step further (not sure if this is normal) and told me about the person who was going to take this round of mine. She told me about the question he had asked in a previous interview, and what follow-up questions he asked the candidate. She also asked me to note down the points. The question that the guy had asked in the recent interview he took was "Design food delivery on train".
I had already prepared a doc of previously asked questions at Uber which of course included the question she told me about. I used my mind a bit too much and removed that question from the doc, thinking that he might not repeat the same question in consecutive interviews.
Round 5 - Onsite Round 3 (Design & Architecture)
Question - Design a Food Delivery App for Train Passengers
Design a system that lets passengers on a moving train order food from restaurants near upcoming stations. The food is delivered to the passenger's coach and seat when the train halts at the chosen station.
Of course I was disappointed right from the start that I had not prepared this question, and that feeling might have taken over my emotions so much that I could not even complete the high level design fully before the time ended :/
Hope this was helpful.
I have built a platform around my preparation hacks, i.e. 2daysbeforeinterview.com. I hope it will be helpful for you guys.
Questions asked (4)
- 01
Max Points on a Line
Data Structures & Algorithms · Medium
Open the problemA DSA question similar to LeetCode 149 (Max Points on a Line). The problem asks to find the maximum number of points that lie on the same straight line given a set of points in a 2D plane.
- 02
Earliest Moment When Everyone Becomes Connected
Data Structures & Algorithms · Medium
Open the problemYou are given n entities labeled 0 to n-1 and a list of connection logs. Each log is [timestamp, x, y] and means x and y became directly connected at timestamp. Connectivity is transitive: if a is connected to b and b is connected to c, then a is connected to c. Return the earliest timestamp at which every entity is connected to every other, directly or transitively. If that never happens, return -1.
- 03
Design a Meeting Scheduler
System Design
You are given n meeting rooms. Implement a MeetingScheduler class with a method scheduleMeeting(startTime, endTime) that books any available room for the interval [startTime, endTime). Return the booked room if some room is free for the whole interval. Fail (return -1 or throw an exception) if every room has a conflicting meeting. Two meetings may touch at a boundary: [1,5) and [5,8) can share a room. Requests can arrive in any time order.
- 04
Design a Food Delivery App for Train Passengers
System Design
Design a system that lets passengers on a moving train order food from restaurants near upcoming stations. The food is delivered to the passenger's coach and seat when the train halts at the chosen station.
How they prepared
Before almost any interview I give, what I do is prepare a document of previously asked questions using forums like LeetCode and Glassdoor. I rely on this document for practice, and I also built a platform (2daysbeforeinterview.com) to share my preparation hacks.