The phone screen lasted about 30 minutes and began with general questions about my background before diving into technical topics. I was asked to solve a DSA question on finding the top K frequent elements, discussing both the min-heap and bucket-sort approaches. Surprisingly, I had recently practiced a similar problem on the algorithm section of PracHub, which helped me articulate my thought process clearly. The interview continued with an onsite where I tackled system design and behavioral questions, and overall, the experience was straightforward and positive, leading to an offer that I happily accepted.
Top K Frequent Elements: given an integer array and integer k, return the k most frequent elements. Walk through both the min-heap approach (O(n log k) time) and the bucket-sort approach (O(n) time), then discuss the trade-offs in time and space, and which one you'd pick for a streaming variant where new numbers keep arriving.
The following metrics were computed from 131 interview experiences for the Uber Senior Software Engineer role.
Uber's interview process for their Senior Software Engineer roles is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Uber's Senior Software Engineer interview process.