Company Interview Questions · Product & Retail Tech

Uber: Machine Learning Engineer

❓ 6 questions🏢 Uber🆕 Recent reports

Uber: Machine Learning Engineer Interview Process and Questions. Rounds, real reported questions and model answers, compiled from public candidate reports (sources at the end). Practice mode hides every answer: say your answer first, press Show answer, then rate yourself. Use 🔁 Review again to build your revision list and 🎲 Random question for a quick drill.

About this interview

Based on a public Uber MLE interview guide compiled from candidate reports, plus public candidate reviews. The questions are paraphrased, and the model answers are written by EasyLearnSpace.

Role Machine Learning Engineer (Bengaluru, Hyderabad, global)
Rounds Resume screen → recruiter → 1–2 technical screens (coding + ML) → loop of 4–5 × 45–60 minutes: coding and data, applied ML, ML system design, product and collaboration, behavioural → hiring committee
Timeline About 3–6 weeks
Themes Real-time ETA, demand, driver-acceptance prediction, marketplace experiments, drift, safe frequent model updates

01Rounds at a glance

02Questions and model answers

Q1
Design a model to predict whether a driver will accept a ride request.
  • Label: accept/decline (or timeout) per request. Mind the selection bias: only dispatched offers are logged.
  • Features:
  • Pickup distance and ETA; trip length and direction (towards home?).
  • Surge level; time and day.
  • The driver's acceptance history, hours online, earnings so far.
  • Rider rating; pickup area type (airport).
  • Model: gradient boosting (or a two-tower model for driver–request matching), calibrated probabilities.
  • Use: the dispatch optimiser maximises expected matches = Σ P(accept) × value; avoid over-offering to the same drivers.
  • Evaluation: log-loss and AUC offline; online A/B on match rate, pickup ETA, cancellation, driver earnings fairness.
Q2
How do you monitor a newly deployed ETA model?
  • Accuracy: MAE/MAPE against actual trip times (delayed labels arrive after the trip) by city, hour, distance band; the share of trips more than X minutes late.
  • Input drift: distributions of traffic, GPS quality, new road closures; prediction drift against the previous model.
  • System: p99 latency, error rate, fallback rate (to a heuristic), feature staleness.
  • Business: cancellations, rider complaints, driver idle time.
  • Alerts and rollback: shadow first, then canary; automatic rollback if MAE regresses by more than a threshold.
Q3
Why can the same algorithm on the same dataset give different results?
  • Randomness: weight initialisation, data shuffling, dropout, bagging/feature subsampling, train/test split seeds.
  • Non-determinism: GPU kernels (atomic adds), multithreading, floating-point order of operations.
  • Different hyperparameters or library versions; data-order effects with early stopping.
  • Fixes: set seeds, use deterministic flags, pin versions; report mean ± std over several seeds.
Q4
Implement gradient descent from scratch to fit a line.
import numpy as np
def fit_line(x, y, lr=0.01, epochs=2000):
    w = b = 0.0; n = len(x)
    for _ in range(epochs):
        y_hat = w * x + b
        dw = (2 / n) * np.dot(y_hat - y, x); db = (2 / n) * np.sum(y_hat - y)
        w -= lr * dw; b -= lr * db
    return w, b
x = np.array([1, 2, 3, 4.]); y = np.array([3, 5, 7, 9.])
print(fit_line(x, y))   # ≈ (2, 1)
  • Discuss the learning rate choice, feature scaling and convergence checks (when the loss stops improving).
Q5
Design an experimentation framework for a two-sided marketplace.
  • The problem: interference. Treating some riders changes the drivers available to control riders, which biases user-level A/B tests.
  • Designs:
  • Switchback tests: randomise by city-region × time window.
  • Geo/cluster randomisation.
  • Driver-side vs rider-side randomisation depending on the feature.
  • Metrics: marketplace health (match rate, wait time, surge frequency, earnings per hour, cancellations) plus guardrails.
  • Analysis: account for carry-over between windows, use cluster-robust standard errors, run long enough to cover weekly cycles.
Q6
Behavioural: describe a model that caused a production issue and how you handled it.

Answer (STAR):

  • Situation: "A new pricing model inflated fares in one city after a holiday-calendar bug."
  • Action: "I detected it from an alert on fare distribution, rolled back within 20 minutes, quantified the affected trips, worked with ops on refunds, and added a calendar unit test plus a canary gate."
  • Result: "There were no repeat incidents, and the postmortem became the team's release checklist."
  • Show speed, ownership, transparency and prevention.

03How to prepare for Uber

Sources

Created by Ajeetkumar