The process began with a 90-minute OA, which consisted of two medium-to-hard algorithm questions. The format was close to what I had seen while practicing on Hack2Hire, so that platform proved quite helpful for simulation-style preparation.
I also regularly practiced DSA using LeetCode and followed curated guides like NeetCode to brush up on core patterns.
After the OA, I was invited to a technical phone screen with one engineer. The interviewer shared a coding problem on a collaborative editor. We spent most of the time on the solution, going over edge cases, optimization ideas, and time complexity analysis. The environment was friendly but fast-paced, so thinking out loud and communicating clearly helped.
For company-specific preparation, I searched recent Uber interview questions using Hack2Hire, LeetCode Discussion, and 1point3acres. These resources were great for spotting trends in problem types and interview focus areas.
Implement a function that tracks the minimum number of platforms needed at a train station, given arrival and departure times.
After solving it, we discussed edge cases like overlapping intervals, and I was asked to explain the time and space complexity of my approach.
The following metrics were computed from 18 interview experiences for the Uber Software Engineer role in Canada.
Uber's interview process for their Software Engineer roles in Canada is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Uber's Software Engineer interview process in Canada.