I took the interview in Jan 2024; so i know this is late and I apologize. Round 1 was just a screening round; asked about compensation, location Round 2) Techinical Screen -> very simiklar to Final Round) Coding Round #1: It was a combination of and binary search.
I did not do well in this; partly because I just did not understand the interviewer's accent. The interviewer also gave no hints, but I guess thats just the market and I need to improve more. Behavioral: Like standard amazon LP questions. Did pretty well in this round System Design: Data Modeling, Design backend of a near real time dashboard for users to see trending dishes in a city.
Read full report
I believe I did well in this. FInal Coding ROund: 2 SQL questions I got rejected but I hope this would help people. Onto the next!!
Uber Data Engineer Interview Guide
Uber's loop is unusually infrastructure- and real-time-focused: streaming is the default framing, not the exception. System design centers on real-time architectures such as surge pricing computation, ETA prediction, and marketplace matching, and questions probe whether you can reason about hybrid on-prem plus cloud infrastructure you manage directly rather than only managed services. Geospatial reasoning (H3, spatial joins, per-city partitioning) runs through both design and modeling rounds.
The Uber interview timeline
First contact to offer, stage by stage, with how long each round runs and roughly when it lands.
- 1wk 030 minRecruiter Screen
- 2wk 1-260 minTechnical Phone Screen
- 3wk 34 to 5 hoursOnsite Loop
Uber data engineer interview process
The loop stage by stage, from recruiter call to offer.
- 01
Recruiter Screen
Initial call covering your experience and interest in Uber. The recruiter assesses your background with real-time data systems, large-scale infrastructure, and streaming architectures. Uber operates a massive real-time platform processing millions of rides and deliveries daily, so they look for candidates comfortable with event-driven systems and low-latency requirements.
- ▸Emphasize real-time experience: streaming pipelines, Kafka, Flink, or similar tools
- ▸Uber has open-sourced many data tools (Hudi, AresDB, Cadence); mentioning familiarity shows research
- ▸Ask which team: Marketplace, Maps, Safety, or Data Platform each have different focuses
- 02
Technical Phone Screen
1 to 2 coding problems, typically SQL or Python. Uber phone screens test data manipulation with ride and delivery event data. Expect questions about time-series analysis, geospatial logic, and event processing. The interviewer evaluates both correctness and your ability to reason about scale.
- ▸Be comfortable with geospatial concepts: latitude/longitude distance calculations, geohashing
- ▸Practice time-series SQL: sessionization, gap detection, and event ordering
- ▸Think aloud about how your solution scales to millions of events per minute
- 03
Onsite Loop
4 to 5 rounds covering system design, SQL deep dive, coding, data modeling, and behavioral. System design at Uber focuses on real-time architectures: surge pricing computation, ETA prediction pipelines, and marketplace matching. The data modeling round often involves designing schemas for trip data that support both real-time operations and historical analytics.
- ▸Know the CAP theorem and how it applies to Uber's real-time requirements
- ▸Uber's system design questions involve geographic partitioning and time-sensitive data
- ▸Behavioral questions focus on working under pressure and adapting to rapidly changing requirements
What the Uber loop tests: domains and difficulty
Our prediction of the question mix by domain and difficulty for this company's data engineer loop, from live listings and interview reports.
The domain and difficulty mix we predict for a Uber data engineer loop, across 9 problems. It updates as more Uber data lands.
10 real Uber interview questions
Reported by candidates from real loops, tagged by domain, round, level, and year. Expand for what the round is scoring.
SQLL5 · 2025Write a SQL query to randomly select a driver using weighted probabilities: given a table with a weighting column, each driver's selection probability should be proportional to their weight.Onsite · sql+
Schema: drivers(driver_id, driver_name, weight). The weighted random selection requires computing a cumulative weight sum using a window function, then comparing a random number (drawn uniformly between 0 and total_weight) to the cumulative boundaries. Approach: SUM(weight) OVER (ORDER BY driver_id ROWS UNBOUNDED PRECEDING) to get cumulative sums, then filter for the row where the random value falls within the bucket. Tests: window functions, RANDOM(), CTE usage. Used to improve Uber rider-driver matching systems.
SQLL4 · 2023Uber DE phone screen: given 5 related tables, write SQL to aggregate across them; questions are wordy but not tricky; window functions needed for some aggregationsPhone screen · screen sql+
PythonL5 · 2025Given a list of meeting time intervals, find the minimum number of rooms required so no two overlapping meetings share a roomOnsite · python+
Write a function min_rooms(meetings) where each meeting is a tuple (start, end) with start < end. Intervals are half-open: a meeting (0, 30) occupies times [0, 30). A meeting ending at time 10 does NOT conflict with one starting at time 10. Return the minimum number of rooms needed so no two overlapping meetings share a room. Example: meetings = [(0, 30), (5, 10), (15, 20)] Output: 2 (meetings (0,30) and (5,10) overlap) meetings = [(7, 10), (2, 4)] Output: 1 meetings = [(1, 5), (2, 6), (3, 7)] Output: 3 (all three overlap at time 3) meetings = [(0, 5), (5, 10)] Output: 1 (no overlap, second…
PythonL5 · 2025Given a list of named events with start and end times, find all pairs of events that overlapOnsite · python+
Write a function find_overlaps(events) where each event is a tuple (name, start, end). Return a list of tuples containing the names of all pairs of events that overlap in time. Two events overlap if one starts strictly before the other ends and vice versa. Events that share only a boundary point (one ends exactly when another starts) do NOT overlap. Example: events = [('A', 1, 5), ('B', 3, 7), ('C', 6, 9), ('D', 8, 10)] Output: [('A', 'B'), ('B', 'C'), ('C', 'D')] events = [('X', 1, 2), ('Y', 3, 4)] Output: [] events = [('P', 1, 10), ('Q', 2, 3), ('R', 4, 5)] Output: [('P', 'Q'), ('P', 'R')]…
Data modelingL6 · 2025Design a relational database schema to record rides between riders and drivers, including table structures and how they join togetherOnsite · data modeling+
Design core tables (riders, drivers, vehicles, trips, payments) with well-defined foreign keys. Explain one-to-many relationships (driver to trips, rider to trips), how vehicle assignment works, and how the schema supports both real-time operational queries and historical analytics. Discuss indexing strategy for high-throughput queries.
Data modelingL6 · 2025Design a relational database schema recording rides between riders and drivers, including entities for riders, drivers, vehicles, and trips with appropriate foreign key relationships.Onsite · data modeling+
Data modeling design question from Uber Data Engineer onsite. Candidate must define entities: Riders (rider_id, name, email, signup_date), Drivers (driver_id, name, license_number, rating), Vehicles (vehicle_id, driver_id FK, make, model, year, license_plate), Trips (trip_id, rider_id FK, driver_id FK, vehicle_id FK, pickup_location, dropoff_location, start_time, end_time, fare, status). Key relationships: driver 1:M vehicles, rider 1:M trips, driver 1:M trips.
System designL7 · 2025Design a cost-efficient analytics architecture to ingest, store, and query 600 million daily Kafka clickstream events with a two-year retention periodOnsite · pipeline architecture+
Architect an end-to-end pipeline: Kafka consumers for ingestion, partitioned columnar storage (Parquet/ORC on S3/GCS), tiered storage strategy (hot/warm/cold) for cost efficiency, query engine selection (Presto/Trino/Athena) for ad-hoc analytics. Must handle 600M events/day with 2-year retention while keeping storage costs manageable.
System designL5 · 2025Design an end-to-end data pipeline that ingests daily raw files from multiple sources and prepares clean, reliable datasets for predicting city-wide bicycle rental demand.Onsite · pipeline architecture+
The problem tests end-to-end pipeline design including: source ingestion (daily raw CSV/JSON files from multiple city providers), data quality checks, normalization, feature engineering for ML model (weather, time of day, location features), output format optimized for a prediction model. Expected to discuss orchestration (Airflow/Dagster), storage layers (raw, cleaned, feature), monitoring, and backfill strategy. Interviewer follows up on handling missing source files and schema drift across providers.
System designL5 · 2024Design the backend of a near real-time dashboard showing trending dishes in a cityOnsite · pipeline architecture+
Uber Data Engineer SDE2 final round, Jan 2024. System design question: design backend for a near real-time dashboard showing which dishes are trending in a given city. Expected to discuss data ingestion pipeline, aggregation strategy, storage layer, and serving layer for near-real-time updates. Candidate felt they did well. Part of a final loop including coding rounds (merge intervals + binary search, course schedule graph problems) and behavioral. Candidate rejected overall.
Behavioral / mixedunknown · 2025Uber Data Engineer - SDE 2 rolePhone screen · screen sql+
I took the interview in Jan 2024; so i know this is late and I apologize. Round 1 was just a screening round; asked about compensation, location Round 2) Techinical Screen -> very simiklar to Final Round) Coding Round #1: It was a combination of and binary search. I did not do well in this; partly because I just did not understand the interviewer's accent. The interviewer also gave no hints, but I guess thats just the market and I need to improve more. Behavioral: Like standard amazon LP questions.
How candidates rate the Uber loop
How hard candidates rated the loop and how they felt, summarized across the reports below.
5 rated reports
Recent Uber interview reports
Candidate accounts of the loop, each with its date, level, difficulty, and outcome. Scroll the feed.
5 candidate interview reports
real candidate submissions
Company: Uber Level: L4 Position: SDE 2 [ Data Engineer ] **Preliminary Round:** * * SQL questions on Manager & Employee tables * Basic questions on Spark, Data skewness, Data partitioning etc.., **Round 1:** * SQL questions on fact_trip table ( trip details, driver_id,rider_id,start_time,end_time,city_id ), driver_signup ( driver_id,signup_date etc.., ) 1.
Find driver_ids who have not taken trip in first 7 days of their signup ( Lot of optimizations were discussed based on data volume ) 2. Find top3 cities each month baased on number of trips as criteria 3. Find total_time spent of each driver each day ( start_time and end_time may span across 2 days → can extend to multiple days ) * Given a sorted array of n elements, possibly with duplicates, find the number of occurrences of the target element. ( ) * Several questions on spark optimizations **Round 2 ( LLD ):** * Build a system to generate Top 10 movies by category by time frame in streaming platforms like Netflix.
Read full report
Input Table **users_viewership**: userid,movieid,date,starttime,endtime Top 10 criteria: Number of views & Atleast 80 percent of run time should be watched for each view count. 1.
``` I got 1 coding question: Task: Check if string follows order of characters defined by a pattern Example1 Inputstring = "engineers rock" pattern = "er"; Output: true Example2 Inputstring = "engineers rock" pattern = "gsr"; Output: false ```
This was for the data engineer 2 position at Uber,Bangalore. It was a 90 min Zoom call, with a single machine coding question: Design an In-Memory Pull Based Queue Library: Use Cases to be supported: 1.Multiple queues maintained by the Library 2.Each queue must support multiple publishers and subscribers.
3.Each queue has a maximum retention period beyond which a message in the queue should not reside in memory. 4.Each message inside the queue can have an optional TTL value. Any message with expired TTL should not be consumed by any subscriber and should not reside in the memory as well.
Read full report
5.Each consumer should read all the messages. First 30 minutes were devoted to discussing the implementation approach, next 60 minutes to coding the solution. Looking for ideas for a good solution.
YOE: 13+ Working as Big data architect/Engineer in a startup Honestly I was preparing for DE but I didn't got much help in LC for DE. The SQL questions were below par even the hard ones. I just learnt from google/youtbe and my past exp helped. Can't share exact questions here.
Phone Screen: A recruiter reached me out in linkedin. Asked some basic questions and past experiences and direct onsite. Onsite: 3 Tech rounds, 1 hiring Manager and 1 BR. Onsite 1: Design a CCD type system with facts, dims. Two fairly difficult SQL questions invoving multiple tables and nested relations.
Read full report
One related to percentile and one relatedto weekly summarizing an order fact table.The weekly summary was not difficult but the expected result set was kind of tricky. I did the 1st one and the 2nd one I did partial. Feedback: Design is good but SQL not par. Soft no from recruiter however no red flgs.
Onsite 2: One Sql and One Python. SQL was again Tricky and there was a followup condition needed to do after u solved. Python was very easy: Move zeroes to right kindof.I did LC 200+ qiuestions on DS but this was very easy The stress was on SQL and ETL and Modelling.
Try a Uber-style SQL round
Find every user active on 3 or more CONSECUTIVE days. This gaps-and-islands shape shows up in nearly every DE SQL round. Edit the query and run it against the seed data.
Practice the Uber loop
The problems our model expects in this company's interview, grouped by round. Work the shapes that come up, not the ones that read well on a list.
Common mistakes in Uber DE interviews
The patterns that sink otherwise strong candidates here.
Defaulting to batch when the question requires real-time
Candidates propose nightly Spark jobs for problems that demand sub-second latency. At Uber, surge pricing, driver matching, and ETA updates all require streaming. If the interviewer describes a real-time scenario, your first instinct should be Kafka plus Flink, not Airflow plus Spark.
Ignoring geographic partitioning
Uber data is inherently spatial. Candidates who partition only by date miss the point. Most Uber tables are partitioned by city or H3 hex zone first, then by time. Forgetting this leads to full table scans and shows you have not thought about how Uber's data is actually structured.
Treating all events as if they arrive in order
Mobile clients send events over unreliable networks. GPS pings arrive late. Trip end events sometimes arrive before trip start events. Candidates who assume ordered data get caught when the interviewer asks about late arrivals. Always discuss watermarks, event-time processing, and how to handle out-of-order data.
Designing systems without considering city-level isolation
Uber operates in hundreds of cities with different regulations, currencies, and demand patterns. A system designed as a single global pipeline will not work. Interviewers expect you to discuss per-city or per-region isolation, failover, and how to prevent a problem in one city from affecting another.
Skipping the cost and operational complexity discussion
Uber runs a hybrid on-prem and cloud infrastructure. Candidates who propose expensive fully-managed cloud services without discussing cost tradeoffs miss the mark. Mention compute costs, storage tiering, and how to handle peak vs off-peak workloads efficiently.
Uber-specific preparation tips
Tactical advice for the dimensions this company weighs.
Real-time is the default, not the exception
Most Uber DE questions are framed around real-time or near-real-time requirements. Batch processing is secondary. Know Kafka, Flink, and streaming concepts: watermarks, windowing, exactly-once delivery, and backpressure.
Geospatial data is core to Uber's business
Uber partitions data geographically using H3 hexagonal indexing. Understand geohashing, spatial joins, and how to partition and query location-based data efficiently. This comes up in both system design and data modeling rounds.
Know Uber's open-source contributions
Uber created Apache Hudi (incremental data processing), AresDB (real-time analytics), and Cadence (workflow orchestration). Mentioning these tools and understanding their purpose shows deep familiarity with Uber's data ecosystem.
Scale is measured in events per second
Uber processes millions of events per second across rides, deliveries, and driver locations. When discussing system design, think in terms of throughput (events/sec), latency (p99 in milliseconds), and geographic distribution across hundreds of cities.
SQL is your highest-ROI prep area
SQL accounts for the majority of the Uber DE interview, so spend the bulk of your prep time on it. Focus on ride-sharing schemas (trips, drivers, riders, cities, surge multipliers, ratings) and practice time-based aggregations, window functions (LEAD, LAG, ROW_NUMBER, running sums), self-joins, and optimization discussions. Do a handful of timed SQL problems per day for 2 to 3 weeks.
Prepare behavioral stories about ownership and speed
Uber values engineers who ship fast and own their systems. Prepare stories about shipping under a tight deadline, a pipeline failure you owned end-to-end, a disagreement with a stakeholder, and a project where you simplified a complex system. Keep each story under 3 minutes using STAR.
What Uber is really evaluating
The signals behind the questions. Shape every answer around these.
Hybrid infrastructure
Unlike companies that run entirely on AWS or GCP, Uber operates a hybrid of on-prem data centers and cloud resources. This means DEs must understand bare-metal performance tuning alongside cloud-native patterns. Interview questions often probe whether you can reason about infrastructure you manage directly, not just managed services.
Open-source DNA
Uber has built and open-sourced multiple foundational data tools: Apache Hudi for incremental data lake management, Cadence for workflow orchestration, H3 for geospatial indexing, and AresDB for real-time analytics. Interviewers expect candidates to know these exist and understand the problems they solve.
Multi-sided marketplace complexity
Every Uber transaction involves at least 2 parties (rider and driver, eater and courier) plus the platform. This creates data modeling challenges that single-sided businesses do not have. Supply/demand balancing, dynamic pricing, and matching algorithms all generate complex event streams that DEs must process and serve.
Real-time financial impact
When a data pipeline breaks at Uber, drivers earn less, riders wait longer, and the company loses revenue every minute. This urgency shapes interview expectations. Uber wants DEs who think about monitoring, alerting, SLAs, and graceful degradation as first-class requirements, not afterthoughts.
Uber compensation and culture
The numbers, tech stack, and team structure live on the company overview.
Uber DE interview FAQ
How many rounds are in an Uber DE interview?+
Does Uber test Kafka and Flink in DE interviews?+
What programming languages does Uber DE use?+
How does Uber's interview compare to other ride-sharing companies?+
What is the typical offer timeline after the onsite?+
Does Uber require system design for junior and mid-level candidates?+
How does Uber's equity work?+
Can I negotiate the Uber offer?+
How SQL-heavy is the Uber DE interview?+
What level does Uber hire data engineers at?+
Uber data engineer roles by level
Level-specific pages: the comp, the bar, and what the loop tests at each seniority.
Compare Uber with other data engineering employers
How the role, pay, and loop stack up against peer companies.
Prepare at Uber interview difficulty
- 01
Reading a solution is not the same as writing one
Every engineer who has frozen on a query they had read a dozen times knows the gap. The only preparation that closes it is producing the answer yourself, under time, before the interview does it for you
- 02
76% of hiring managers reject on the coding task, not the resume
From HackerRank's 2024 Developer Skills Report. Candidates who look strong on paper still fail the live screen if they haven't done timed, executable practice
- 03
5 problem shapes cover 80% of data engineer loops
Dedup, sessionization, top-N-per-group, slowly-changing dimensions, partition tricks. Writing the shapes by hand turns the unfamiliar into pattern recognition