Uber SDE II Interview experience
Summary
I went through five interview rounds for an SDE II position at Uber, received mixed feedback, and was ultimately rejected after a hiring freeze.
Full Experience
Current: Product based company YOE - 3yrs
Interview rounds:
Round 1: BPS (Screening Round) $$Question Asked$$ - Parking lot design $$Difficulty$$ - Medium $$Expectatioin$$ - Started with just a design assuming a lot of black box and only certain methods to be written, later shifted to fully executable code. $$Area Of Focus$$ - Choice of Data Strcuture, Code Quality, Optimisation $$Verdict$$ - Hire
Round 2: DSA $$Question Asked$$ - Similar to Leetcode 871 $$Difficulty$$ - Hard $$Expectation$$ - Most optimal solution $$Area Of Focus$$ - Choice of DS, Time Complexity, Code Quality $$Verdict$$ - Lean Hire (Despite solving it most optimally, probably because I took more time than expected)
Round 3: LLD $$Question Asked$$ - Uber Ride Hailing design $$Difficulty$$ - Hard $$Expectation$$ - Fully functional code, optimal design, Accurate design patterns, HLD blur, Concurrency handling $$Area Of Focus$$ - Hard to determine as the interviewer initially agreed with the expectation I set in the begining while requirement gathering, then later flipped multiple times. Expectations kept changing and I could not complete my code because of constant annoying poking questions by the interviewer which were supposed to be mentioned in the beginning of the session while requirement gathering. The HLD blur expectations on questions like what if the system fails to push in kafka which cannot happen in an LLD setting. I did answer with a DLQ being skeptic it that's what the interviewer is looking for, but cold and no response. $$Verdict$$ - No Hire
Round 4: HLD $$Question Asked$$ - Design a stock broking alert system $$Difficulty$$ - Very Hard $$Expectation$$ - Designing a stock broking system's altering system. A lot to assumed black box. The broker get's update from exchange every second and a user can subscribe to get alerted with a price jump of a stock by X% in a rolling window of their choice (minute, hour, day, week, month, year, but can only be configured to 1 unit, like 1 day, 1 month, etc.). The rolling window means, the 1 week is not Mon to Sun or something, it is 1 week prior of the current timestamp, hence it keep rolling. A subscription is moved out of the system if triggered once or is expired (not triggered in 1 month). The question itself was very confusing, but I slowly got the hang of it, and eventually designed a not so optimal solution with whatever I could throw at it. $$Area Of Focus$$ - Architectural choices (A big focus on why this, and why not this), non functional requirements like storage size, latency, etc. The interviewer had to give me a lot of hints to be honest $$Verdict$$ - Lean Hire (I was surprised because I got lean hire despite a good DSA round, so I was expecting a no, PS - They allow 1 no hire as pass, more than that and no further rounds).
Round 5: Hiring Manager $$Question Asked$$ - Standard EM questions (All of them actually nothing left uncovered) $$Expectation$$ - Hands on experience with owning a component end to end, Leadership quality, Conflict resolution strategies, How do i go beyond expectations $$Area Of Focus$$ - My past projects and work history $$Verdict$$ - Strong Hire
I had very mixed option about the overall feedback that might be. But I was put on hold as the hiring froze for like a month. I checked saying that if I'm rejected I don't mind you saying that. But the recruiter specifically said that I'm on hold. But recently I got the rejection mail finally (They probably found someone with lesser mixed signals, even my yoe was discussion as I was nearly 3yoe, and they wanted 3+).
Overall, apart from my LLD round I think I liked the challenges the intrviewers threw at me because it was interesting and they communicated clearly, what they were looking for. I had prepared a lot for this and the entire process went on for about 2 months, and the rejection came 2 more months later. I definitely learned a lot from this experience and I feel anything that I face after this has been easy for me.
Interview Questions (4)
Parking Lot Design
Design a parking lot system. The candidate started with a high‑level design assuming many components as black boxes and only a few methods to be written, then shifted to a fully executable implementation.
Minimum Number of Refueling Stops
Given a target distance, a start fuel amount, and a list of gas stations (each with a position and fuel amount), compute the minimum number of refueling stops required to reach the target. If it is impossible, return -1.
Uber Ride Hailing Design
Design an Uber‑like ride‑hailing system. The solution should include a fully functional code implementation, optimal design, appropriate design patterns, high‑level architecture, and concurrency handling. The interview expectations shifted during the session, making it difficult to complete the code.
Stock Broking Alert System Design
Design a stock‑broking alert system. Brokers receive updates from an exchange every second. Users can subscribe to be alerted when a stock price changes by a certain percentage within a rolling time window (e.g., minute, hour, day, week, month, year). The rolling window is defined as the period preceding the current timestamp. Subscriptions are removed after a trigger or after expiring (e.g., no trigger for one month). The design should address architectural choices, storage size, latency, and other non‑functional requirements.