Uber Software Engineer Interview: Process, Questions & Prep

Uber's SWE interview runs a recruiter screen, a coding phone screen, then a 4–5 round virtual onsite: two coding rounds, one system design (mid/senior), and a behavioral/values round, followed by team match. Coding skews medium-to-hard LeetCode; system design weight scales with level (L4/L5).

The Full Uber SWE Interview Loop

Uber's software engineer process is consistent across most product and infrastructure orgs: a recruiter call, a coding phone screen via CoderPad, then a virtual onsite of four to five rounds. There is generally no separate take-home online assessment for experienced hires, though new-grad and intern pipelines sometimes add a HackerRank-style screen.

The onsite is typically a single day of back-to-back 45–60 minute rounds. After the loop, a hiring committee reviews packets and, on a positive decision, you enter team match — where managers with open headcount review your profile before an offer is finalized at a specific level.

StageFormatWhat it tests
Recruiter screen30 min callBackground, level calibration, role/team fit, logistics
Coding phone screen45–60 min, CoderPad (shared editor)1–2 medium DS&A problems, clean code, communication
Onsite coding 145–60 min, virtualData structures, algorithms, edge cases, complexity analysis
Onsite coding 245–60 min, virtualSecond algo problem, often higher difficulty or follow-ups
System design45–60 min (L4/L5; sometimes L3 lite)Scalable architecture, APIs, data models, tradeoffs
Behavioral / values (Bar Raiser-style)45 minUber values, collaboration, ownership, conflict, impact
Hiring committee + team matchAsync reviewPacket calibration, level decision, matching to a team

Coding Rounds: Themes, Difficulty & Languages

Coding is the backbone of the loop. Expect LeetCode medium as the floor and hard as the ceiling, usually one of each across the onsite. Interviewers care as much about how you reason — clarifying inputs, stating complexity, handling edge cases, and writing compilable code — as about reaching the optimal answer.

Uber leans toward practical, implementation-heavy problems rather than obscure puzzles. Recurring themes map closely to NeetCode 150 and Blind 75 categories, so working a structured checklist across those patterns is the highest-leverage prep.

  • Arrays / hashing / two pointers / sliding window — frequent warm-up and core round material
  • Graphs and BFS/DFS — pathfinding, connected components (resonates with Uber's marketplace/routing domain)
  • Heaps / priority queues and intervals — scheduling, top-K, merge problems
  • Trees, tries, and recursion/backtracking — traversal and design variants
  • Dynamic programming — appears but is less dominant than graph/array work; know the common 1D/2D patterns
  • Design-flavored coding — implement an LRU cache, rate limiter, or in-memory data structure with O(1) ops
  • Language: bring what you're fluent in — Java, Go, Python, and C++ are all common; Go is widely used internally but not required

System Design Expectations by Level (L3 / L4 / L5)

Uber maps engineers onto a numeric ladder. System design weight rises sharply with level: it is informational for new grads, a real signal for mid-level, and a primary gate for senior. Uber's own domain — ride matching, surge pricing, geospatial indexing, real-time location, payments — frequently inspires prompts, so reason about scale, consistency tradeoffs, and partitioning.

When you practice, narrate requirements first (functional and non-functional), sketch the high-level architecture, then drill into one component deeply. Practicing system design walkthroughs out loud — and STAR-structuring your behavioral stories — is exactly the kind of rehearsal ResuMax's interview hub is built for.

LevelTitle (approx.)System design bar
L3Software Engineer (new grad / early)Light or omitted; coding-dominant; may get a scoped design discussion
L4Software Engineer II (mid)Full round expected; design a feature/service, justify data store and API choices
L5Senior Software EngineerHeavily weighted; end-to-end distributed system, scale to millions of QPS, failure modes, tradeoff defense

Behavioral & Uber Values Round

Uber runs a values/behavioral round (functionally a bar-raiser) that probes pragmatic engineering judgment, ownership, and how you operate under ambiguity and scale. Expect questions about a time you shipped under pressure, disagreed with a teammate or manager, debugged a production incident, or made a tradeoff between speed and quality.

Uber's culture rewards bias-to-action and customer obsession, but post-2017 it deliberately reframed its values around collaboration and 'do the right thing.' Show measurable impact, candid reflection on failures, and how you balance velocity against reliability for systems that operate 24/7 at global scale. Structure every answer as situation, task, action, result.

  • Ownership: drove a project end-to-end, including the unglamorous operational parts
  • Scale/reliability: handled an incident, on-call, or a system that degraded under load
  • Conflict & collaboration: disagreed-and-committed, influenced without authority
  • Pragmatism: chose a 'good enough' solution and articulated the tradeoff
  • Growth: a concrete failure and what you changed afterward

A 6–8 Week Prep Plan

This plan assumes 8–12 hours per week. Front-load pattern coverage, then shift to mock-style timed practice and design. Adjust the system design block up if you're targeting L4/L5.

WeekFocusConcrete target
1Baseline + arrays/hashing/two pointers30–40 Blind 75 / NeetCode problems; relearn complexity analysis
2Trees, recursion, backtrackingTraversals, subsets/permutations; explain approach aloud
3Graphs (BFS/DFS, topo, union-find)Pathfinding + grid problems — Uber's strongest theme
4Heaps, intervals, DP fundamentalsTop-K, merge intervals, classic 1D/2D DP
5System design fundamentalsCaching, sharding, queues, load balancing, CAP; 2 mock designs
6Domain designs + behavioralDesign a ride-matching / rate limiter / news feed; draft 6 STAR stories
7Timed mocks3–4 full 45-min coding mocks in CoderPad-like editor; review gaps
8Polish + values rehearsalRe-drill weak patterns, rehearse values round, mock the full loop

Honest Tips Specific to Uber

Uber's bar is real but its problems are pragmatic — code that compiles and a clear, communicated approach beat a half-finished clever optimum. Treat the interviewer as a collaborator and think out loud throughout.

  • Practice in a bare shared editor (CoderPad) with no autocomplete — many candidates underperform purely from tooling friction
  • Always state time/space complexity unprompted and verify with a quick example trace
  • Lean into graph and geospatial intuition; framing problems in Uber's marketplace/routing terms reads well
  • Team match means a strong loop doesn't guarantee an immediate offer — stay engaged and flexible on team during matching
  • Level is decided by committee, not promised by the recruiter; calibrate scope (especially system design depth) to the level you're targeting
  • Ask clarifying questions before coding — Uber interviewers explicitly score requirement-gathering

ResuMax tailors your resume to each role, scores it like a recruiter, and preps you for interviews.

Get started free

Frequently asked questions

Does Uber have an online assessment (OA) for software engineers?

For experienced/industry hires, usually no — you go straight to a recruiter call and a CoderPad coding screen. New-grad and intern pipelines sometimes include a HackerRank-style online assessment with timed algorithm problems.

How many interview rounds does Uber's SWE onsite have?

The virtual onsite is typically four to five 45–60 minute rounds: two coding rounds, one system design (for L4/L5, sometimes scoped for L3), and a behavioral/values round, followed by hiring committee review and team match.

How hard are Uber's coding questions?

Expect LeetCode medium as the baseline with at least one hard. Graphs, arrays/hashing, heaps, and intervals recur most. Uber favors practical, implementation-heavy problems over obscure puzzles, and weighs communication and edge cases heavily.

Is system design required for all Uber SWE levels?

No. It's light or omitted at L3 (new grad), a full evaluated round at L4 (mid), and a heavily weighted, end-to-end distributed-systems round at L5 (senior). Calibrate your prep depth to the level you're targeting.

What programming language should I use in Uber interviews?

Use the language you're most fluent in — Java, Python, Go, and C++ are all common. Go is widely used internally but is not required for interviews. Fluency and clean, compilable code matter more than language choice.

What is Uber's team match and how does it affect the offer?

After a positive hiring-committee decision, your profile is shown to managers with open headcount. A manager must choose to take you onto their team before an offer at a specific level is finalized, so a strong loop alone doesn't guarantee an immediate offer.

Related