UberSoftware Engineer

Uber Software Engineer Interview Questions

Prepare for this exact position with 81 real candidate reports. Review the levels, locations, interview formats, and questions that appeared most often for Uber Software Engineer candidates.

81

role-specific reports

34

questions found

22

levels represented

18

locations represented

Updated 2026-07-30

Search real candidate reports

Uber Software Engineer candidate reports

Search within this position by level, location, interview type, outcome, or a specific question.

81 matching interviews

Software Engineer · SDE-2

Nov 2024OnsitePending
2 questions
  1. 01

    Solve the number of islands problem.

    Coding & Algorithms · Medium

  2. 02

    Solve a multi-source BFS problem.

    Coding & Algorithms · Medium

Software Engineer · L3

Bengaluru, IndiaNov 2024MixedOffer
9 questions
  1. 01

    Find the minimum number of operations to make all array elements form a continuous sequence.

    Coding & Algorithms · Hard

  2. 02

    Calculate the maximum length of equal-sized ropes that can be created by cutting N ropes into K pieces.

    Coding & Algorithms · Hard

  3. 03

    Find the shortest path between two nodes while avoiding areas within k distance from designated obstacle nodes.

    Coding & Algorithms · Hard

Software Engineer · L3

Bengaluru, IndiaNov 2024MixedOffer
9 questions
  1. 01

    Find the minimum number of operations needed to make an array continuous.

    Coding & Algorithms · Hard

  2. 02

    Determine the maximum length of K equal-length ropes that can be generated by cutting N ropes.

    Coding & Algorithms · Medium

  3. 03

    Find the shortest path between two nodes while avoiding nodes within k distance of designated thief nodes.

    Coding & Algorithms · Hard

Software Engineer · L3

Bengaluru, IndiaNov 2024MixedOffer
7 questions
  1. 01

    Find the shortest path between two nodes while avoiding nodes within k distance of designated thief nodes.

    Coding & Algorithms · Hard

  2. 02

    Design a car reservation system that allocates n cars to maximize the number of customer requests fulfilled.

    Object-Oriented Design · Hard

  3. 03

    Describe whether you lead with emotion (heart) or logic (head).

    Behavioral & Leadership · Easy

Software Engineer · SDE2

IndiaOct 2024MixedRejected
1 questions
  1. 01

    Design a high-level scheduler system that handles 50,000 transactions per second.

    System Design · Hard

Software Engineer · SDE 2

BangaloreOct 2024MixedRejected
4 questions
  1. 01

    Check if an ad gets X impressions without a click in a Y-day rolling window, given a stream of impression and click events.

    Coding & Algorithms · Medium

  2. 02

    Return the squares of elements in a sorted array in sorted order.

    Coding & Algorithms · Easy

  3. 03

    Find the kth smallest element in an array of sorted squares.

    Coding & Algorithms · Medium

Software Engineer · SDE-3

IndiaSep 2024MixedOffer
18 questions
  1. 01

    Validate a Sudoku board with variations.

    Coding & Algorithms · Medium

  2. 02

    Solve a city traffic optimization problem.

    Coding & Algorithms · Hard

  3. 03

    Design a high-level architecture for a blockchain indexer.

    System Design · Hard

Software Engineer · SDE2

BangaloreSep 2024OnsiteRejected
5 questions
  1. 01

    Determine the lexicographic order of words in an alien language.

    Coding & Algorithms · Medium

  2. 02

    Navigate through a haunted house with given constraints and conditions.

    Coding & Algorithms · Medium

  3. 03

    Design and implement a Kafka-like distributed message queue system with concurrency support.

    Object-Oriented Design · Hard

Most-asked Uber Software Engineer questions

Ranked by how often each question appeared in reports for this exact position. Answers are written by our team.

Describe your background and experience

asked in 7 reportseasy

I've spent five years building distributed backend systems, most recently leading infrastructure at a high-scale startup where I optimized microservices handling millions of requests daily. I'm drawn to problems where reliability and performance directly impact user experience—I redesigned our payment processing pipeline, reducing latency by 40% and improving fault tolerance. What excites me about Uber is your approach to real-time coordination at global scale. I'm looking to bring my expertise in system design and cross-functional collaboration to solve complex infrastructure challenges.

Find the minimum number of bus routes required to travel from a source to a destination.

asked in 6 reportsmediumO(N) time and space, where N is the total number of (stop, route) pairs across all routes

Use BFS tracking (current_stop, routes_used). Build a stop-to-routes map for O(1) lookups of which routes serve each stop. From source, explore all unvisited stops on each available route, incrementing the route counter. Return when destination is reached. Key insight: BFS explores stops layer-by-layer by number of routes, guaranteeing the first destination arrival is the minimum.

Design a meeting scheduler with conflict detection.

asked in 4 reportshard

Use a distributed Calendar Service sharded by user ID, storing events in a time-indexed database (e.g., B-trees or interval trees for O(log n) conflict queries). Before booking, query the Conflict Detection Engine against the user's calendar. Cache hot calendars in Redis. Use transactional writes with optimistic locking to prevent race conditions during concurrent bookings. For scale, shard calendars and use a queue for async processing. Handle timezones via UTC normalization. Real-time sync via WebSocket push.

Count the number of distinct islands in a grid where land cells are connected horizontally or vertically.

asked in 3 reportsmediumO(m × n) time, O(m × n) space

Iterate through each grid cell. When you find an unvisited land cell, it's a new island—use DFS to recursively mark all connected cells as visited. Increment the island count and continue. The key insight: tracking visited cells ensures each land cell contributes to exactly one island. By processing systematically and avoiding revisits, you count each distinct connected component once.

Describe a conflict with a coworker and how you resolved it.

asked in 3 reports

We disagreed on caching strategy—my teammate preferred simple TTL; I pushed for more complex invalidation logic. Rather than escalate, I proposed a benchmark: implement both and compare real impact on p99 latency. The data showed my approach reduced tail latencies by 30%, but added maintenance burden. We compromised: mine for hot paths, his elsewhere. This taught me that being right matters less than being collaborative. At Uber, speed comes from aligned teams, not solo heroes.

Describe feedback you've received in code reviews.

asked in 3 reportseasy

I once submitted a PR with inefficient database queries that passed tests but would have caused latency issues at scale. A senior engineer caught this and explained the performance implications. Rather than defend the approach, I asked them to walk me through better indexing strategies. I refactored the code and started reviewing database performance proactively in my own PRs. This feedback shaped how I think about scalability—I now model systems with production load in mind, not just correctness.

Describe leadership positions you have held.

asked in 3 reportseasy

I've held both formal and informal leadership roles. In my last position, I owned a cross-functional initiative to reduce system latency. I drove alignment across backend, frontend, and DevOps teams through weekly syncs and documented milestones. By breaking down the problem and delegating effectively, we cut p99 latency by 40% in three months. I learned that leadership at Uber means taking ownership of outcomes, unblocking teammates, and pushing for measurable impact—not just title.

Design a chat application supporting one-to-one and group messaging with read receipts, including API design and database schema.

asked in 3 reportshard

API design: POST /messages (send message), GET /conversations/:id/messages (fetch with pagination), PATCH /messages/:id/read (mark read). Database schema: conversations table (id, type, participants), messages table (id, conversation_id, sender_id, text, timestamp), read_receipts table (message_id, user_id, read_at). Architecture: message broker (Kafka) decouples producers from consumers; fanout ensures all participants receive messages. Redis caches recent messages and read status. WebSocket enables real-time delivery. Key: timestamp-ordered messages prevent inconsistency; decouple read receipts from message flow for performance. Index on conversation_id, user_id.

Design a parking lot system including both high-level and low-level design.

asked in 3 reportsmedium

Organize parking across multiple levels with spaces categorized by type (compact, regular, large). Include entry/exit control, real-time availability tracking, and payment processing.

Low-level: Define ParkingLot, Level, Space, Vehicle, Ticket, Payment classes. Track free spaces per type with HashMap<SpaceType, Queue<Space>>. Implement findSpace() (best-fit), parkVehicle() (reserve), unparkVehicle() (release and charge). Abstract payment via PaymentProcessor interface for flexibility.

Design and implement an LRU cache with O(1) time complexity for all operations.

asked in 3 reportsmediumO(1) for all operations

Combine a HashMap with a doubly-linked list. The HashMap maps keys to nodes for O(1) lookups; the list tracks recency order with the most-recently-used at the head and least-recently-used at the tail. Get: retrieve the node and move it to the head. Put: add to the head; if at capacity, evict the tail node. All operations—lookups, insertions, deletions, and node movement—execute in O(1) because they're direct pointer manipulations independent of cache size.

Discuss a significant project you have worked on.

asked in 3 reportsmedium

I owned a microservice optimization project for our matching system. After profiling identified database queries as the bottleneck, I designed a distributed caching layer that reduced P99 latency by 40%. I collaborated with data engineers to define TTL policies and coordinated rollout across regions. The improvement enabled faster ride matches for millions of users daily. I also mentored junior engineers through the implementation, which became our template for future optimizations.

Explain your motivation for joining Uber.

asked in 3 reportseasy

I'm drawn to Uber's core mission: making mobility seamless at planetary scale. Your platform powers billions of rides globally, solving real infrastructure problems millions encounter daily. What excites me most is the technical complexity—building reliable real-time systems, optimizing distributed algorithms, and leveraging data science with direct consumer impact. I'm motivated by roles where engineering excellence drives business outcomes. Uber's reputation for tackling hard systems problems aligns perfectly with my growth goals as a systems engineer.

Solve the Alien Dictionary problem using topological sorting.

asked in 3 reportshardO(N + k²) time, O(k) space where N = total characters, k = alphabet size

Identify character orderings by comparing adjacent words—the first differing character means char_a precedes char_b. Construct a directed graph of these dependencies. Perform DFS-based topological sort: for each unvisited character, explore descendants and append to result in reverse finish order. Key insight: the problem reduces to finding a topological ordering of a character-dependency DAG; any valid topological sort respects all word-order constraints.

Design a system architecture for Uber Eats.

asked in 2 reportshard

Uber Eats uses a microservices architecture: API Gateway routes to independent Order, Restaurant, User, and Delivery services. PostgreSQL handles transactional data (orders, payments) with strong consistency; Cassandra/MongoDB scale non-critical data (reviews, metrics). Kafka enables async inter-service communication. Redis caches restaurants and sessions. Elasticsearch indexes restaurants/dishes. WebSockets provide real-time order tracking and notifications. A CDN serves static assets. Key insight: prioritize consistency for payments, eventual consistency elsewhere. Use load balancing and horizontal scaling for reliability.

Discuss a previous project including design decisions made and areas of end-to-end ownership.

asked in 2 reports

I led a microservices migration for a payment processing system handling 50K+ daily transactions. The goal was reducing latency and improving reliability. I owned the entire design end-to-end: I chose event-driven architecture with message queues, determined the database sharding strategy by analyzing traffic patterns, and established clear service boundaries. I made technical decisions based on load testing results, not assumptions, and collaborated closely with frontend and ops teams on implementation. The result: P99 latency dropped 40%, system reliability reached 99.95%, and we achieved 3x throughput without adding servers.

What are your career aspirations?

asked in 2 reports

I want to grow into a technical leader who drives impact on problems at massive scale. I'm drawn to Uber because you solve complex challenges—logistics, real-time systems, global infrastructure—where engineering decisions directly affect millions of users. Short-term, I aim to become a go-to expert in my domain, owning features end-to-end and mentoring others. Long-term, I'd like to lead a team or technical program that shapes product strategy. I'm committed to continuous learning and thrive in high-velocity environments where I can take ownership, iterate quickly, and measure real impact.

More reported questions

  1. 01

    Convert a number from binary to base 6.

    asked in 2 reports
  2. 02

    Describe a time you had difficulty with a team member and how you resolved it.

    asked in 2 reports
  3. 03

    Design a car reservation system that allocates n cars to maximize the number of customer requests fulfilled.

    asked in 2 reports
  4. 04

    Design a data structure supporting constant-time insert, delete, and random element retrieval.

    asked in 2 reports
  5. 05

    Design a high-level scheduler system that handles 50,000 transactions per second.

    asked in 2 reports
  6. 06

    Design a service for booking and scheduling conference rooms.

    asked in 2 reports
  7. 07

    Design WhatsApp with support for direct messages, group messages, and read receipts.

    asked in 2 reports
  8. 08

    Discuss past projects including how you managed constraints, deadlines, and mentored junior engineers

    asked in 2 reports
  9. 09

    Explain the system design of your most challenging project.

    asked in 2 reports
  10. 10

    Explain your motivation for joining Uber.

    asked in 2 reports
  11. 11

    Find the maximum group size for haunted house visits given each person's minimum and maximum companion constraints.

    asked in 2 reports
  12. 12

    Given a board of letters and a list of words, find all words from the list that exist in the board.

    asked in 2 reports
  13. 13

    Given a number, find the next smallest palindrome greater than that number.

    asked in 2 reports
  14. 14

    Given exchange rates between currency pairs, calculate the exchange rate between any two currencies.

    asked in 2 reports
  15. 15

    Minimize the number of transactions needed to settle a series of transfers between multiple parties.

    asked in 2 reports
  16. 16

    Solve a medium-difficulty tree algorithm problem

    asked in 2 reports
  17. 17

    Solve a sliding window algorithm problem

    asked in 2 reports
  18. 18

    Tell about a situation where you disagreed with your manager and how you resolved it.

    asked in 2 reports