Interview Experience | SDE2 | Uber | 2026
Round 1: Screening (DSA + System Design)
DSA Topic: Dynamic Programming on Trees.
Problem: A variation of the Optimal Binary Search Tree problem.
Experience: 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.
Experience: 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: * 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: * Focus on the Graph Edge Optimization problem (minimizing the number of transactions among a group).
Database schema design and handling concurrent expense entries.
Scaling for large groups and global consistency.
Round 5: Managerial Round
Focus: Deep dive into professional history and behavioral traits.
Preparation: I spent two days prior creating a "Work Document" detailing my past projects using the STAR method.
Final Verdict: Selected!
General Advice
Preparation is Key: Don't wing the managerial round. Having a pre-written document of your achievements makes a massive difference in how confidently you speak.
Code Quality: In machine coding, getting to a "running state" quickly allows you time to fix bugs and refactor, which interviewers love to see.
All of the rounds were on Hackerrank. I got a link for practice prior to the interviews. I used it extensively to get used to it.