Interview Experience | SDE2 | Uber | Nov 2025

uber logo
uber
· SDE II
March 20, 2026 · 1 reads

Summary

I interviewed for an SDE2 position at Uber in November 2025, navigating five rounds that included DSA, System Design, Machine Coding, HLD, and a Managerial round, ultimately resulting in a job offer.

Full Experience

Round 1: Screening (DSA + System Design)

DSA Topic: Dynamic Programming on Trees. Problem: A variation of the Optimal Binary Search Tree problem.

This was my toughest round. Time management was a challenge, leaving no room for the System Design portion. However, I managed to provide a working, memoized solution for the DSA problem.

Key Takeaway: Even if you feel a round didn't go perfectly, keep your head up—functional code often carries more weight than you think.

Round 2: DSA Round

Topic: DP on Game Theory. Problem: Variation of the Optimal Strategy for a Game (Minimax principle). Two players will play the game and they are allowed to pick only only the corner values at each turn.

This round went much smoother. I successfully implemented a memoization-based solution. The interviewer was looking for clear logic on how to maximize the player's value while assuming the opponent plays optimally.

Round 3: Machine Coding + LLD

Task: Implement core Linux File System commands (e.g., mkdir, cd, ls, pwd).

Duration: ~45 minutes.

Performance: I wrote the core logic and class structure in about 35 minutes. Spent the remaining 10 minutes debugging and fixing edge cases.

Focus: The interviewer looked for clean code, appropriate use of data structures (likely a N-ary Tree for the folder hierarchy), and error handling.

Round 4: High-Level Design (HLD)

Task: Design Splitwise.

Interviewer: Staff Software Engineer.

Key Discussions: My focus was on the Graph Edge Optimization problem (minimizing the number of transactions among a group), database schema design and handling concurrent expense entries, and scaling for large groups and global consistency.

Round 5: Managerial Round

Focus: Deep dive into professional history and behavioral traits.

Final Verdict: Selected! 🎉

All of the rounds were on Hackerrank. I got a link for practice prior to the interviews and used it extensively to get used to it.

Interview Questions (4)

1.

Optimal Binary Search Tree Variation

Data Structures & Algorithms

A variation of the Optimal Binary Search Tree problem. Time management was a challenge, leaving no room for the System Design portion. However, I managed to provide a working, memoized solution for the DSA problem.

2.

Optimal Strategy for a Game (Minimax) - Corner Picks

Data Structures & Algorithms

Variation of the Optimal Strategy for a Game (Minimax principle). Two players will play the game and they are allowed to pick only the corner values at each turn. I successfully implemented a memoization-based solution. The interviewer was looking for clear logic on how to maximize the player's value while assuming the opponent plays optimally.

3.

Implement Linux File System Commands (mkdir, cd, ls, pwd)

System Design

Implement core Linux File System commands such as mkdir, cd, ls, and pwd. The interviewer looked for clean code, appropriate use of data structures (likely a N-ary Tree for the folder hierarchy), and error handling. I wrote the core logic and class structure in about 35 minutes and spent the remaining 10 minutes debugging and fixing edge cases.

4.

Design Splitwise

System Design

Design Splitwise. Key Discussions focused on the Graph Edge Optimization problem (minimizing the number of transactions among a group), database schema design and handling concurrent expense entries, and scaling for large groups and global consistency.

Preparation Tips

I spent two days prior creating a "Work Document" detailing my past projects using the STAR method, which proved invaluable for the managerial round. Don't wing the managerial round; having a pre-written document of your achievements makes a massive difference in how confidently you speak.

For machine coding, getting to a "running state" quickly allowed me time to fix bugs and refactor, which interviewers appreciate.

I extensively used the Hackerrank practice link provided prior to the interviews to get used to the platform.

📣 Found this helpful? Please share it with friends who are preparing for interviews!

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

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