
Synthesized from 52 candidate submissions for ALL.
Uber maintains a structured, multi-stage interview process that balances rigorous technical assessments with comprehensive behavioral evaluations. Candidates can expect a standardized approach where engineering roles focus on system design and algorithms, while data-oriented roles prioritize statistical theory and SQL proficiency.
The interview process for an L5A role at Uber consisted of 5 rounds: Coding BPS (elimination round), Algorithms and Data Structures, Depth in Specialization (production-ready code), Design and Architecture (Greenfield problem), and Collaboration and Leadership (behavioral + previously solved design). The process concluded with feedback and an offer from the recruiting coordinator.
An elimination round consisting of a single Leetcode Medium-level coding question. Focus areas included core Data Structures and Algorithms (DSA) knowledge, modular code structure, and adherence to good naming conventions and coding practices.
A core software engineering round focused on Algorithms and Data Structures. The round included a 5-minute introduction, 50 minutes for solving coding problems, and a 5-minute Q&A. Three questions were asked: one Dynamic Programming problem (Leetcode Medium) with a follow-up, and a third problem where only an approach explanation was required.
A coding round emphasizing production-ready code. Evaluation criteria included adherence to the Single Responsibility Principle (SRP), object-oriented programming practices, code readability, and proper use of data structures. The round concluded with a 10-minute Q&A.
A system design round testing senior software engineering capabilities. The problem was a Greenfield design requiring clarification of requirements, resource estimation, high-level and low-level design (including API and database design), and addressing bottlenecks, failure points, and scalability solutions.
A 1-hour 15-minute round combining behavioral questions and a discussion on previously designed systems. The first 45 minutes focused on past projects, design decisions, learnings, and potential improvements. The remaining 30 minutes covered leadership challenges, conflict resolution, collaboration, and team culture practices.
The candidate was rejected due to weak performance in the Low-Level Design (LLD) and Hiring Manager (HM) rounds.
Preliminary round included coding and SQL problems. Candidates solved a LeetCode problem (Move Zeroes) and answered SQL questions involving Manager-Employee tables. Basic concepts about Spark, data skewness, and data partitioning were also discussed.
Solve LeetCode problem: Move Zeroes
SQL questions on Manager & Employee tables
Basic questions on Spark, data skewness, and data partitioning
Round 1 focused on SQL and coding problems. Candidates worked with tables like fact_trip and driver_signup to solve queries involving trip details, driver activity, and city-based trip rankings. A coding problem involved finding occurrences of a target element in a sorted array. Spark optimization questions were also asked.
Find driver_ids who have not taken a trip in the first 7 days of their signup
Find top 3 cities each month based on the number of trips
Find total time spent by each driver each day (handling multi-day spans)
Given a sorted array, find the number of occurrences of a target element
Spark optimization questions
Round 2 involved designing a system to generate top 10 movies by category within a time frame for a streaming platform like Netflix. Candidates designed algorithms, data models, ETL strategies, and wrote SQL queries to meet specific criteria for view counts and watch time.
Design a system to generate Top 10 movies by category by time frame
Design an algorithm for finding view counts of movies using the users_viewership table
Design a data model for source and warehousing tables
Design an ETL strategy for generating daily reports
Write SQL queries to generate the final reporting table
Round 3 involved designing a data pipeline for Netflix source clickstream events. Candidates were asked to design a system to build a dashboard with hourly frequency, showing top trending movies by location based on full movie watch criteria.
Design a data pipeline for Netflix source clickstream events
Build a dashboard with hourly frequency for each location showing top trending movies
Round 4 consisted of generic behavioral questions.