Machine codingDispatch systemsConcurrency

Uber India-Style Machine Coding Round: Format, Tips & Practice Problems

Written and reviewed by Sahil Srivastav

Dispatch services combine real-time state, deterministic matching, and events that can arrive in an inconvenient order. Rounds in the style of Uber India use that combination to test whether a candidate can build a small service with clear ownership and race handling.

The guide stays at style level and uses Gronex originals for practice. It focuses on the decisions a reviewer can inspect in a short working session.

What a Uber India-style machine coding round looks like

Expect a 90-minute problem such as driver matching, trip lifecycle, surge pricing, or cancellation handling. The required output is usually a runnable in-memory service rather than a production dispatch cluster.

The central question is what happens when two commands see the same driver or trip. A deterministic selection rule and one atomic assignment boundary make the answer concrete.

Follow-ups often add a timeout, a second pricing rule, or a cancellation racing assignment. Injecting time and keeping transitions explicit makes those changes testable.

How you’re evaluated

Deterministic matching

Candidate selection has explicit ordering and tie-breaks.

Trip state integrity

Illegal transitions and terminal states are rejected consistently.

Race resolution

A driver or trip cannot be assigned twice when commands overlap.

Testable time

Timeouts and surge windows use an injected clock or equivalent seam.

Common mistakes that fail this round

  • Relying on map iteration order for the nearest driver.
  • Leaving assignment and availability as separate, racy mutations.
  • Allowing a cancelled trip to be completed by a late event.
  • Calling wall-clock time directly throughout the service.
  • Building location infrastructure instead of the stated matching core.

Quick tips for the room

  • Write the transition table first.
  • Define who owns driver availability.
  • Make ties deterministic.
  • State the winner of every race.

How to prepare

Implement a select–assign–release loop with deterministic tie-breaking, then add a cancellation race test.

Use the linked repositories to practise state machines and concurrency in code, not only in diagrams.

Practice problems in the Uber India-style round format

Each is a real backend repository with a failing test suite — the same working-code standard the round applies. Open the brief and read the full problem, no signup required.

MEDIUM~90 min

Ride Booking Driver Matching

Select and assign a driver deterministically.

Open the challenge →
HARD~120 min

Driver Assignment Race Resolution

Resolve two orders racing the same driver.

Open the challenge →
MEDIUM~75 min

Surge Pricing & Fare Calculation

Time-windowed pricing with exact fare rules.

Open the challenge →
EASY~90 min

Order Status Tracker

A legal order lifecycle with history.

Open the challenge →
MEDIUM~90 min

Support Ticket SLA System

Injected-clock deadlines and breach evaluation.

Open the challenge →

Rehearse the round before you sit it

Open a real repository, see the failing tests, and make them pass against the clock — the loop a Uber India-style machine coding round actually grades. Start free, no card required.

FAQ

Were these Uber India questions?

No. They are Gronex originals in the style of dispatch rounds. Gronex is not affiliated with Uber.

Do I need geospatial infrastructure?

No. Represent location simply and focus on the stated selection and consistency rules.

How do I explain concurrency?

Name the shared invariant, the atomic boundary, and the deterministic winner when commands overlap.

Should pricing be a separate service?

For a time-boxed build, a focused pricing policy is enough; discuss extraction only after the core works.

Related

Gronex is not affiliated with, endorsed by, or sponsored by Uber India. All company names and trademarks belong to their respective owners. The problems on this page are Gronex originals written in the style of such interview rounds — not actual interview questions from Uber India.