I applied through a recruiter. The process took 3 months.
The onsite process consisted of multiple rounds covering algorithms, machine learning coding, system design, a deep dive on past projects, and behavioral/leadership. Overall, the process was well-structured, and interviewers were engaged. The system design and behavioral rounds focused on real-world ML systems, product thinking, and cross-functional collaboration. The ML-focused discussions emphasized modeling choices, feature design, and architecture at scale. The algorithms and ML coding rounds placed a strong emphasis on correctness, problem framing, and clear communication. In particular, interviewers looked for candidates to validate assumptions, handle edge cases, and fully execute solutions rather than just outline approaches. For ML coding, there was an expectation to translate ideas into working implementations and reason through mathematical details where relevant. The previously solved problem round focused on depth over breadth. While discussing prior work, interviewers probed for detailed trade-offs, design decisions, and reasoning rather than high-level overviews.
Takeaways:
Overall, the interview bar felt high, particularly around execution and depth of understanding. The recruiting team did not follow up regularly.
The following metrics were computed from 1 interview experience for the Uber Staff Machine Learning Engineer role in San Francisco, California.
Uber's interview process for their Staff Machine Learning Engineer roles in San Francisco, California is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Uber's Staff Machine Learning Engineer interview process in San Francisco, California.