Uber Routing Algorithm Engineer Interview: Route Planning, Capacity Scheduling, and Real-Time Decision

Operations ResearchAuthor: BeautyResume Team

2 years of OR optimization experience interviewing at Uber Routing. Round 1: OR + optimization theory, Round 2: route planning + scheduling algorithms, Round 3: project deep dive + system design, with question summary and prep tips.

Uber Routing Algorithm Engineer Interview: Route Planning, Capacity Scheduling, and Real-Time Decision

My honest impression: Uber's routing algorithm interview was the most "grounded" algorithm interview I've ever had. There were no pure mathematical derivation problems — every question was tied to a real delivery scenario. How do you assign riders? How do you plan routes? How do you handle timeouts? The interviewer even said "look at this scenario in our app" and asked me to analyze it on the spot. This interview style felt incredibly authentic and genuinely challenging.

Background: 2 Years of Operations Research Experience, Uber Routing

I studied Operations Research for my master's degree, then spent 2 years doing OR optimization algorithm development at a logistics tech company. I mainly worked on Vehicle Routing Problems (VRP) and scheduling optimization, using Python + Gurobi + OR-Tools. Although it wasn't a big tech company, the optimization problems in logistics are actually very similar to delivery, so I could draw on real experience for many interview questions.

I applied to Uber Routing because I wanted to transition from logistics to on-demand delivery — the former optimizes for cost, the latter for timeliness, which is a completely different challenge. I received an interview notification about 3 days after submitting my resume.

1. Interview Process Recap

Round 1: Operations Research + Optimization Theory (About 60 Minutes)

Round 1 was with a senior engineer working on scheduling algorithms, starting with a few OR warm-up questions.

"What's the dual problem of linear programming? What's the practical use of duality theory?" I started with the definition of duality, then covered shadow prices and sensitivity analysis applications. The interviewer followed up: "If your model has thousands of constraints, how do you do sensitivity analysis?" I explained the classification of basic and non-basic variables, and the simplification of only doing sensitivity analysis on non-basic variable coefficients.

Then integer programming: "Why is VRP NP-Hard? What are the common solution methods?" I explained that VRP can be reduced to TSP, which is NP-Hard. For solution methods, I covered two categories: exact algorithms (branch and bound, cutting planes) and heuristics (genetic algorithms, tabu search, ALNS). The interviewer followed up: "In real projects, would you choose exact algorithms or heuristics? Why?" I explained it depends on problem scale — exact solutions for small-scale, heuristics for large-scale, and for medium-scale, using heuristics to find an initial solution then refining with exact methods.

Round 1 also included a modeling question: "Model the rider assignment problem for food delivery as a mathematical program." I defined decision variables (whether rider i is assigned order j), objective function (minimize total delivery time), and constraints (each order assigned to exactly one rider, rider capacity constraints, time window constraints). The interviewer probed the distinction between hard and soft time windows — I explained hard time windows (must be satisfied) vs. soft time windows (violations allowed with penalties) and their respective use cases.

Round 2: Route Planning + Scheduling Algorithms (About 70 Minutes)

Round 2 was with a more senior algorithm expert, with questions more focused on practical scenarios.

"How does Uber divide delivery zones? How are riders scheduled within a zone?" I explained zone division based on geofencing, and dynamic scheduling strategies within zones — when a new order arrives, first estimate delivery time, then match based on the rider's current location, number of in-progress orders, and estimated completion time. The interviewer followed up: "What if a zone suddenly gets a surge of orders?" I covered cross-zone dispatch, dynamic capacity expansion, and delayed order assignment strategies.

Then route planning: "When a rider is delivering multiple orders simultaneously, how do you plan the route? How is this different from traditional VRP?" I explained the unique aspects of delivery scenarios: different pickup points, different drop-off points, time window constraints, and limited rider capacity. The interviewer followed up: "If a rider has already picked up 2 orders and is delivering them, and a new order comes in, how do you decide whether to accept it?" I described a dynamic insertion heuristic based on estimated completion time — calculate the incremental time after inserting the new order, and accept if it doesn't exceed a threshold.

Round 2 also included a very practical question: "How do you estimate delivery ETA (Estimated Time of Arrival)?" I covered statistics-based methods using historical data (quantile regression) and machine learning methods using real-time features (XGBoost/LightGBM), plus a fusion approach. The interviewer probed feature engineering, and I covered temporal features (time of day, day of week), spatial features (distance, zone), merchant features (food preparation time), and rider features (historical speed).

Then a design question: "Design a real-time scheduling system that responds in seconds and supports dynamic order and rider state changes." I described an event-driven architecture — order events trigger rescheduling, rider state changes trigger rematching. The core is incremental scheduling rather than global rescheduling, adjusting only affected riders and orders each time. The interviewer probed the trade-off between system latency and scheduling quality, and I described a tiered scheduling strategy — coarse scheduling (second-level) + fine scheduling (minute-level).

Round 3: Project Deep Dive + System Design (About 50 Minutes)

Round 3 was with the department head, asking more macro-level questions.

"What's the most challenging optimization project you've worked on?" I described a cold chain logistics route optimization project with many constraints (temperature control, time sensitivity, vehicle types), making the model very hard to solve. The interviewer probed the specific technical approach, and I covered column generation + branch-and-price for exact methods, and ALNS heuristics for large-scale instances.

Then a system design question: "Design a delivery algorithm platform that supports A/B testing and grayscale deployment of multiple scheduling strategies." I covered the strategy abstraction layer (unified interface), experiment framework (traffic splitting, metric collection, significance testing), and grayscale deployment (gradual rollout by zone/time period). The interviewer probed the metrics system, and I covered timeliness metrics (on-time rate, average delivery time), cost metrics (per-order delivery cost), and experience metrics (complaint rate).

Finally, career plans and perspectives on on-demand delivery. I said on-demand delivery is one of the best application domains for OR optimization because of high decision frequency, rich data, and quantifiable results. The interviewer strongly agreed, saying Uber makes billions of scheduling decisions daily, and every percentage point improvement in algorithms translates to enormous business value.

2. Interview Questions Summary

1. Dual problem of linear programming? Practical applications of duality theory?

2. Why is VRP NP-Hard? Exact algorithms vs. heuristics?

3. Model rider assignment as a mathematical program?

4. How to divide delivery zones? How to schedule riders within a zone?

5. What to do during order surges? Cross-zone dispatch strategies?

6. Route planning for multi-order delivery? Dynamic insertion of new orders?

7. How to estimate delivery ETA? Feature engineering?

8. Design a real-time scheduling system? Incremental vs. global rescheduling?

9. Most challenging optimization project? Column generation + branch-and-price?

10. Design a delivery algorithm platform? A/B testing and grayscale deployment?

11. Metrics system for scheduling strategies?

3. Key Takeaways

1. OR fundamentals must be solid, but modeling ability matters more. There aren't many pure theory questions — most are "model this problem as a mathematical program." Practice modeling skills so you can quickly define variables, objectives, and constraints for any problem.

2. Heuristic algorithms are the focus. Real-world problems are large-scale, and exact algorithms are rarely used. Genetic algorithms, tabu search, ALNS — you should be able to explain their principles and use cases, ideally with real tuning experience.

3. Scenario understanding is crucial. Uber's delivery interview particularly values your understanding of the delivery scenario. Before the interview, try using the Uber Eats delivery flow and think about optimization opportunities at each step. When the interviewer asks "What do you think could be optimized in this scenario?", specific observations and ideas will really stand out.

4. System design must account for real-time requirements. Delivery scheduling is a real-time system, not offline optimization. Always emphasize real-time constraints in interviews — second-level response, incremental scheduling, event-driven architecture.

5. Prepare business metrics. The interviewer will ask "How do you measure algorithm effectiveness?" If you can name specific business metrics (on-time rate, per-order cost, rider utilization), it shows strong business acumen.

4. FAQ

Q: How important are programming skills for delivery algorithm interviews?

Moderate. Unlike backend development, they don't test algorithm problems, but they do test modeling and implementation ability. I recommend being familiar with Python optimization libraries (Gurobi, OR-Tools, PuLP) and being able to quickly implement an optimization model.

Q: Can I interview for delivery algorithms without an OR background?

Yes, but you need to build the foundation. Core OR knowledge (linear programming, integer programming, graph theory) isn't complex — 1-2 months of study is enough to get started. The key is understanding optimization thinking — how to transform business problems into mathematical problems.

Q: How does Uber's delivery interview style differ from other big tech companies?

More grounded. Other companies might lean more theoretical, while Uber's delivery interviews are more scenario-focused. Interviewers tie questions to real business and might even open the app to show you specific scenarios. I recommend familiarizing yourself with Uber's delivery business before the interview.

Q: How do you measure the impact of delivery algorithms?

Primarily across three dimensions: timeliness (on-time rate, average delivery time), cost (per-order delivery cost, rider utilization), and experience (complaint rate, cancellation rate). Algorithm optimization typically ensures timeliness first, then optimizes cost, and finally improves experience.

Q: What are the career prospects for OR optimization?

Excellent. On-demand delivery, ride-hailing, shared mobility, and supply chain management all need OR talent. Especially with AI development, "AI + OR" hybrid approaches are increasingly valued — AI for prediction, OR for decision-making.

#Operations Research#Delivery Routing#Path Planning#Scheduling Algorithm#VRP#Operations Research#Route Planning#Interview Experience