I was contacted by a recruiter via email to schedule a technical phone interview. The recruiter also sent me a list of Software Engineering positions that were available and a description of the languages/technologies I would need to know. This was helpful in preparing for the interview.
The interviewer contacted me on time. It started with an introduction and a couple questions about my resume. Then the coding portion of the interview began. I had about 20 minutes to complete it. It was a fairly challenging question that tested your knowledge of OOP principles. I struggled a bit, but the interviewer kindly walked me through the parts where I was making mistakes.
Overall, it was a great experience. Although my interview process with Uber ended at this point, I learned a lot and I'll be able to use this experience to improve.
The interview process started with a recruiter screen where they covered my background and the role's expectations. Next, I had a phone screen focused on technical skills where I faced a DSA question on frequent elements in an array. I had practiced similar problems on prachub.com beforehand, which helped me tackle it effectively. The technical rounds consisted of coding and system design questions, including rate limiting. Finally, I had a behavioral interview where they assessed cultural fit. Overall, the experience was average, but I received and accepted an offer.
I interviewed at Uber (San Francisco, CA) in Apr 2026
Interview
Recruiter screen then there was a hiring manager round which felt more like a mix of product sense + execution - mostly a mix of OOP algorithms in Python or Java and some high-level system design. The onsite was 5 back to back rounds covering data structures, database management (heavy on SQL and data lifecycles), deep sys design, and behavioral. The sys design round was the real test where I had to walk through building a scalable real-time gaming leaderboard, discussing tradeoffs ofcourse in architecture, APIs, and data flow. The coding rounds was around things like linked lists and tree traversals, while the behavioral part focused heavily on ownership of my code and handling feedback. When you prep, make sure you can go a level deeper on database management and object oriented patterns instead of just grinding LC I’d say. I did grind LC though but ensure you understand the depth behind everything you solve. I also did a few mocks with uber swe on prepfully specifically for the sys design and database rounds and that honestly helped me catch some blind spots in my architecture knowledge and practice explaining my tradeoffs clearly. I’d say get a mock or two from anywhere if you can - helped me a lot!
3
Top companies for "Compensation and Benefits" near you