Interview Prep Guide
Uber Interview Questions and Answers for Software Engineers
Prepare for Uber software engineering interviews with real-time geospatial sharding (H3), high-concurrency event loops, and dispatch scalability.
Geospatial Indexing & Grids
How does Uber engineer and optimize h3 hexagonal grid benefits over squares?
By implementing standard high-resilience design choices tailored to h3 hexagonal grid benefits over squares and verifying outcomes under load.
How does Uber engineer and optimize uniform distance representation in hexagons?
By implementing standard high-resilience design choices tailored to uniform distance representation in hexagons and verifying outcomes under load.
How does Uber engineer and optimize websocket connection model for rider-driver coordinates?
By implementing standard high-resilience design choices tailored to websocket connection model for rider-driver coordinates and verifying outcomes under load.
How does Uber engineer and optimize converting lat/long coordinates to h3 cells?
By implementing standard high-resilience design choices tailored to converting lat/long coordinates to h3 cells and verifying outcomes under load.
How does Uber engineer and optimize geo-hashing algorithms and scale trade-offs?
By implementing standard high-resilience design choices tailored to geo-hashing algorithms and scale trade-offs and verifying outcomes under load.
How does Uber engineer and optimize filtering drivers by radius dynamically?
By implementing standard high-resilience design choices tailored to filtering drivers by radius dynamically and verifying outcomes under load.
How does Uber engineer and optimize local storage options for rider search ranges?
By implementing standard high-resilience design choices tailored to local storage options for rider search ranges and verifying outcomes under load.
How does Uber engineer and optimize handling gps inaccuracy on mobile devices?
By implementing standard high-resilience design choices tailored to handling gps inaccuracy on mobile devices and verifying outcomes under load.
How does Uber engineer and optimize data payload reduction in location updates?
By implementing standard high-resilience design choices tailored to data payload reduction in location updates and verifying outcomes under load.
How does Uber engineer and optimize dynamic update rates based on vehicle speed?
By implementing standard high-resilience design choices tailored to dynamic update rates based on vehicle speed and verifying outcomes under load.
How does Uber engineer and optimize geo-fencing logic implementations in databases?
By implementing standard high-resilience design choices tailored to geo-fencing logic implementations in databases and verifying outcomes under load.
How does Uber engineer and optimize calculating estimated arrival times (eta)?
By implementing standard high-resilience design choices tailored to calculating estimated arrival times (eta) and verifying outcomes under load.
How does Uber engineer and optimize storing historical location coordinates?
By implementing standard high-resilience design choices tailored to storing historical location coordinates and verifying outcomes under load.
How does Uber engineer and optimize visualizing geospatial partitions on map interfaces?
By implementing standard high-resilience design choices tailored to visualizing geospatial partitions on map interfaces and verifying outcomes under load.
How does Uber engineer and optimize re-indexing cell borders for navigation?
By implementing standard high-resilience design choices tailored to re-indexing cell borders for navigation and verifying outcomes under load.
How does Uber engineer and optimize map matching algorithms for road overlays?
By implementing standard high-resilience design choices tailored to map matching algorithms for road overlays and verifying outcomes under load.
How does Uber engineer and optimize managing cellular signal dropouts?
By implementing standard high-resilience design choices tailored to managing cellular signal dropouts and verifying outcomes under load.
How does Uber engineer and optimize validating driver authentication coordinates?
By implementing standard high-resilience design choices tailored to validating driver authentication coordinates and verifying outcomes under load.
How does Uber engineer and optimize battery optimization during continuous tracking?
By implementing standard high-resilience design choices tailored to battery optimization during continuous tracking and verifying outcomes under load.
How does Uber engineer and optimize caching common route points locally?
By implementing standard high-resilience design choices tailored to caching common route points locally and verifying outcomes under load.
Real-Time Dispatch & Matching
How does Uber engineer and optimize redis geospatial command optimizations?
By implementing standard high-resilience design choices tailored to redis geospatial command optimizations and verifying outcomes under load.
How does Uber engineer and optimize kafka pub-sub routing by city region?
By implementing standard high-resilience design choices tailored to kafka pub-sub routing by city region and verifying outcomes under load.
How does Uber engineer and optimize driver status machines logic?
By implementing standard high-resilience design choices tailored to driver status machines logic and verifying outcomes under load.
How does Uber engineer and optimize buffering matching requests in queues?
By implementing standard high-resilience design choices tailored to buffering matching requests in queues and verifying outcomes under load.
How does Uber engineer and optimize localized dispatch workers load balancing?
By implementing standard high-resilience design choices tailored to localized dispatch workers load balancing and verifying outcomes under load.
How does Uber engineer and optimize greedy matching algorithms vs batch matching?
By implementing standard high-resilience design choices tailored to greedy matching algorithms vs batch matching and verifying outcomes under load.
How does Uber engineer and optimize handling rider cancellation state flows?
By implementing standard high-resilience design choices tailored to handling rider cancellation state flows and verifying outcomes under load.
How does Uber engineer and optimize locking drivers during dispatch allocations?
By implementing standard high-resilience design choices tailored to locking drivers during dispatch allocations and verifying outcomes under load.
How does Uber engineer and optimize minimizing travel distances globally in batch?
By implementing standard high-resilience design choices tailored to minimizing travel distances globally in batch and verifying outcomes under load.
How does Uber engineer and optimize websocket server cluster coordination?
By implementing standard high-resilience design choices tailored to websocket server cluster coordination and verifying outcomes under load.
How does Uber engineer and optimize tracking active trip statuses?
By implementing standard high-resilience design choices tailored to tracking active trip statuses and verifying outcomes under load.
How does Uber engineer and optimize reducing lock contention in matching engines?
By implementing standard high-resilience design choices tailored to reducing lock contention in matching engines and verifying outcomes under load.
How does Uber engineer and optimize dynamic route recalculations during trips?
By implementing standard high-resilience design choices tailored to dynamic route recalculations during trips and verifying outcomes under load.
How does Uber engineer and optimize matching pooling (uber pool) architectures?
By implementing standard high-resilience design choices tailored to matching pooling (uber pool) architectures and verifying outcomes under load.
How does Uber engineer and optimize validating pick-up coordinate safety rules?
By implementing standard high-resilience design choices tailored to validating pick-up coordinate safety rules and verifying outcomes under load.
How does Uber engineer and optimize handling driver rejection of ride requests?
By implementing standard high-resilience design choices tailored to handling driver rejection of ride requests and verifying outcomes under load.
How does Uber engineer and optimize aggregating live traffic indicators?
By implementing standard high-resilience design choices tailored to aggregating live traffic indicators and verifying outcomes under load.
How does Uber engineer and optimize detecting gps location spoofing activities?
By implementing standard high-resilience design choices tailored to detecting gps location spoofing activities and verifying outcomes under load.
How does Uber engineer and optimize real-time metrics push models?
By implementing standard high-resilience design choices tailored to real-time metrics push models and verifying outcomes under load.
How does Uber engineer and optimize managing high concurrent database reads for drivers?
By implementing standard high-resilience design choices tailored to managing high concurrent database reads for drivers and verifying outcomes under load.
Geospatial Scale & Algorithmic Rigor
How does Uber engineer and optimize hungarian optimization algorithm for matches?
By implementing standard high-resilience design choices tailored to hungarian optimization algorithm for matches and verifying outcomes under load.
How does Uber engineer and optimize dynamic surge pricing calculation inputs?
By implementing standard high-resilience design choices tailored to dynamic surge pricing calculation inputs and verifying outcomes under load.
How does Uber engineer and optimize event loops performance optimization?
By implementing standard high-resilience design choices tailored to event loops performance optimization and verifying outcomes under load.
How does Uber engineer and optimize database sharding by geospatial boundaries?
By implementing standard high-resilience design choices tailored to database sharding by geospatial boundaries and verifying outcomes under load.
How does Uber engineer and optimize optimizing memory consumption for spatial indices?
By implementing standard high-resilience design choices tailored to optimizing memory consumption for spatial indices and verifying outcomes under load.
How does Uber engineer and optimize managing distributed locks across geo-nodes?
By implementing standard high-resilience design choices tailored to managing distributed locks across geo-nodes and verifying outcomes under load.
How does Uber engineer and optimize calculating traffic-aware eta routing graphs?
By implementing standard high-resilience design choices tailored to calculating traffic-aware eta routing graphs and verifying outcomes under load.
How does Uber engineer and optimize high write volume ingestion storage choices?
By implementing standard high-resilience design choices tailored to high write volume ingestion storage choices and verifying outcomes under load.
How does Uber engineer and optimize real-time geospatial aggregation grids?
By implementing standard high-resilience design choices tailored to real-time geospatial aggregation grids and verifying outcomes under load.
How does Uber engineer and optimize handling network failures in websocket servers?
By implementing standard high-resilience design choices tailored to handling network failures in websocket servers and verifying outcomes under load.
How does Uber engineer and optimize dynamic price updates under network lag?
By implementing standard high-resilience design choices tailored to dynamic price updates under network lag and verifying outcomes under load.
How does Uber engineer and optimize multi-tenant city catalog scaling strategies?
By implementing standard high-resilience design choices tailored to multi-tenant city catalog scaling strategies and verifying outcomes under load.
How does Uber engineer and optimize minimizing cache latency for vehicle details?
By implementing standard high-resilience design choices tailored to minimizing cache latency for vehicle details and verifying outcomes under load.
How does Uber engineer and optimize predicting supply-demand balance trends?
By implementing standard high-resilience design choices tailored to predicting supply-demand balance trends and verifying outcomes under load.
How does Uber engineer and optimize routing engines partitioning architectures?
By implementing standard high-resilience design choices tailored to routing engines partitioning architectures and verifying outcomes under load.
How does Uber engineer and optimize securing driver telemetry ingestion gateways?
By implementing standard high-resilience design choices tailored to securing driver telemetry ingestion gateways and verifying outcomes under load.
How does Uber engineer and optimize automated failover in geographic regions?
By implementing standard high-resilience design choices tailored to automated failover in geographic regions and verifying outcomes under load.
How does Uber engineer and optimize managing massive data streams for auditing?
By implementing standard high-resilience design choices tailored to managing massive data streams for auditing and verifying outcomes under load.
How does Uber engineer and optimize garbage collecting inactive vehicle sessions?
By implementing standard high-resilience design choices tailored to garbage collecting inactive vehicle sessions and verifying outcomes under load.
How does Uber engineer and optimize optimizing graph traversal routing performance?
By implementing standard high-resilience design choices tailored to optimizing graph traversal routing performance and verifying outcomes under load.
Marketplace Operations under Extreme Traffic
How does Uber engineer and optimize handling new year eve traffic spikes?
By implementing standard high-resilience design choices tailored to handling new year eve traffic spikes and verifying outcomes under load.
How does Uber engineer and optimize thundering herd during stadium event exits?
By implementing standard high-resilience design choices tailored to thundering herd during stadium event exits and verifying outcomes under load.
How does Uber engineer and optimize route recalculation engine outage mitigation?
By implementing standard high-resilience design choices tailored to route recalculation engine outage mitigation and verifying outcomes under load.
How does Uber engineer and optimize resolving pricing mismatch between rider and driver?
By implementing standard high-resilience design choices tailored to resolving pricing mismatch between rider and driver and verifying outcomes under load.
How does Uber engineer and optimize failing gracefully during database master failover?
By implementing standard high-resilience design choices tailored to failing gracefully during database master failover and verifying outcomes under load.
How does Uber engineer and optimize preventing memory exhaustion on matching nodes?
By implementing standard high-resilience design choices tailored to preventing memory exhaustion on matching nodes and verifying outcomes under load.
How does Uber engineer and optimize mitigating localized cellular tower outages?
By implementing standard high-resilience design choices tailored to mitigating localized cellular tower outages and verifying outcomes under load.
How does Uber engineer and optimize handling mass cancel events by drivers?
By implementing standard high-resilience design choices tailored to handling mass cancel events by drivers and verifying outcomes under load.
How does Uber engineer and optimize auditing transaction anomalies in billing systems?
By implementing standard high-resilience design choices tailored to auditing transaction anomalies in billing systems and verifying outcomes under load.
How does Uber engineer and optimize balancing dispatcher load under server degradation?
By implementing standard high-resilience design choices tailored to balancing dispatcher load under server degradation and verifying outcomes under load.
How does Uber engineer and optimize handling sudden demand shifts during storms?
By implementing standard high-resilience design choices tailored to handling sudden demand shifts during storms and verifying outcomes under load.
How does Uber engineer and optimize ensuring safety alerts deliver during system lag?
By implementing standard high-resilience design choices tailored to ensuring safety alerts deliver during system lag and verifying outcomes under load.
How does Uber engineer and optimize mitigating ddos attacks on driver client gateway?
By implementing standard high-resilience design choices tailored to mitigating ddos attacks on driver client gateway and verifying outcomes under load.
How does Uber engineer and optimize managing partial degradation of map layers?
By implementing standard high-resilience design choices tailored to managing partial degradation of map layers and verifying outcomes under load.
How does Uber engineer and optimize dynamic resource allocation during high traffic?
By implementing standard high-resilience design choices tailored to dynamic resource allocation during high traffic and verifying outcomes under load.
How does Uber engineer and optimize resolving distributed lock timeouts in matching?
By implementing standard high-resilience design choices tailored to resolving distributed lock timeouts in matching and verifying outcomes under load.
How does Uber engineer and optimize automated mitigation of high message queue lag?
By implementing standard high-resilience design choices tailored to automated mitigation of high message queue lag and verifying outcomes under load.
How does Uber engineer and optimize verifying client app behavior during slow apis?
By implementing standard high-resilience design choices tailored to verifying client app behavior during slow apis and verifying outcomes under load.
How does Uber engineer and optimize monitoring real-time business health indicators?
By implementing standard high-resilience design choices tailored to monitoring real-time business health indicators and verifying outcomes under load.
How does Uber engineer and optimize conducting post-incident marketplace recovery?
By implementing standard high-resilience design choices tailored to conducting post-incident marketplace recovery and verifying outcomes under load.
Uber Coding Round
Merge overlapping driver shifts or route schedules to identify continuous active hours (LeetCode 56 - Merge Intervals)
Sort the intervals by their start times. Initialize an array for merged intervals. For each interval, if it doesn't overlap with the last merged interval (i.e., its start time is greater than the end time of the last merged interval), add it directly. Otherwise, it overlaps, so merge them by updating the end time of the last merged interval to be the maximum of both end times. function merge(intervals) { if (intervals.length a[0] - b[0]); const result = [intervals[0]]; for (let i = 1; i
Find the minimum number of bus transfers needed to travel between a start and destination stop (LeetCode 815 - Bus Routes)
Use Breadth-First Search (BFS). First, map each stop to all bus routes that pass through it. Initialize a queue with the starting stop and a transfer count of 0. Track visited stops and visited routes to avoid loops. Dequeue a stop, iterate through all unvisited routes passing through it, and add all their unvisited stops to the queue with the incremented transfer count. If the destination stop is reached, return the count. If the queue becomes empty and the destination is not reached, return -1. function numBusesToDestination(routes, source, target) { if (source === target) return 0; const stopToBuses = new Map(); for (let i = 0; i 0) { const [stop, count] = queue.shift(); if (stop === target) return count; const buses = stopToBuses.get(stop) || []; for (const bus of buses) { if (visitedBuses.has(bus)) continue; visitedBuses.add(bus); for (const nextStop of routes[bus]) { if (visitedStops.has(nextStop)) continue; visitedStops.add(nextStop); queue.push([nextStop, count + 1]); } } } return -1; }