practice a little every day, paws crossed ♡
Software Engineer Interview Questions
Practice 9403 coding, system design and machine learning questions from 546 companies, sorted by role, topic and interview round. Every question has step-by-step hints, a code runner that supports 8 languages and an AI mentor; members also get the full solution walkthrough.
- 9403
- Questions
- 546
- Companies
- 11
- Topics
- 8
- Languages
Showing 2161–2190 of 2336 results
- UberMediumSoftware EngineerCount Valid Infection Orders
This problem tests your ability to use combinatorial counting and dynamic programming to determine the number of valid sequences in which a population can be infected under specific adjacency constraints.
Coding & AlgorithmsOnsiteDynamic ProgrammingCombinatoricsAlgorithms - UberMediumSoftware EngineerDefine and integrate room ranking factors
Define and integrate room ranking factors evaluates metric design, causal reasoning, experiment setup, diagnostics, SQL/statistical checks, and recommendations in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Analytics & ExperimentationOnsite - UberMediumSoftware EngineerDescribe a Trade-off Design Change
This question evaluates system design trade-off decision-making, technical leadership, and communication by probing how an individual balances competing goals and constraints when changing an architecture.
Behavioral & LeadershipOnsite - UberMediumSoftware EngineerDesign A URL Shortener
This question tests your ability to design a high-scale, distributed URL shortening service that handles billions of requests while ensuring low latency and data durability.
System DesignOnsiteDistributed SystemsCachingScalability - UberHardSoftware EngineerDesign Distributed Storage for Large Structured Data
Design distributed storage with versioned metadata, block replicas, layered caches, failure repair, locality-aware jobs, and resource-aware load balancing.
System DesignOnsite - UberHardSoftware EngineerDesign Food Delivery Cart
This question tests the ability to design a distributed, highly concurrent shopping cart service for a food delivery platform, focusing on transactional integrity, race conditions, and eventual consistency.
System DesignOnsiteConcurrencyDistributed SystemsCaching - UberMediumSoftware EngineerDesign MapReduce for schedule aggregation
Design MapReduce for schedule aggregation evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
System DesignOnsite - UberHardSoftware EngineerDesign MapReduce for schedules
This question evaluates proficiency in scalable stream and batch data processing, windowed aggregation, event-time semantics, deduplication, skew mitigation, and distributed computation using MapReduce/Spark paradigms; it falls under System Design and Big Data/stream-processing and is commonly asked to assess designing correct, high-throughput windowed aggregations and handling late or duplicated events at scale. The level of abstraction is practical application with architectural and operational considerations rather than low-level coding, and this English summary frames the competency and interview focus for search engines.
System DesignOnsite - UberMediumSoftware EngineerDesign Product Page View Tracking
This question evaluates a candidate's ability to design scalable, reliable event-collection and analytics systems, covering client- and server-side instrumentation, event schemas/APIs, counting total versus unique views, handling high write volumes for popular products, storage choices for raw events and aggregated counters, and operational concerns such as bot filtering, deduplication, privacy, fraud prevention, freshness, reliability, and monitoring. It is commonly asked in the System Design domain to assess architectural thinking and operational trade-offs, testing both conceptual understanding of distributed systems and practical application of scalable data pipelines, storage, and observability.
System DesignOnsite - UberHardSoftware EngineerDesign Uber Eats-style search function
An Uber Software Engineer system design onsite question: design the search function for an Uber Eats-style food delivery platform, covering APIs, data ingestion, geo-aware indexing and retrieval, multi-stage ranking, real-time availability updates, scaling, caching, fault tolerance, monitoring, and freshness-vs-latency trade-offs. It tests the ability to build a low-latency, location-aware, highly available search system with strong observability.
System DesignOnsite - UberMediumSoftware EngineerDesign a Distributed Logging System
This problem evaluates the ability to design a high-throughput, fault-tolerant logging infrastructure capable of ingesting and storing massive volumes of telemetry data from diverse distributed services.
System DesignOnsiteDistributed SystemsScalabilityData Pipeline - UberMediumSoftware EngineerDesign a Driver Leaderboard Based on Reviews
This problem tests the ability to design a scalable, low-latency leaderboard system that handles high-frequency write throughput from reviews and supports read-heavy leaderboard queries.
System DesignOnsiteScalabilityCachingData Modeling - UberMediumSoftware EngineerDesign a Food Delivery Cart
This question tests the ability to design a distributed, low-latency, and fault-tolerant shopping cart service for a high-concurrency food delivery platform.
System DesignOnsiteDistributed SystemsAPI DesignCaching - UberMediumSoftware EngineerDesign a Highly Available URL Shortener
This question tests your ability to design a distributed, highly available system that handles high-read traffic and ensures data integrity for short-URL mappings.
System DesignOnsiteScalabilityCachingDatabases - UberMediumSoftware EngineerDesign a Parking Garage Object Model
This question evaluates object-oriented design, domain modeling, data structure selection, and concurrency control for resource allocation in a multi-level parking garage.
Software Engineering FundamentalsOnsite - UberMediumSoftware EngineerDesign a Parking Lot
This problem tests object-oriented design principles and the ability to manage resource allocation and concurrency in a multi-threaded environment.
Software Engineering FundamentalsOnsiteObject-Oriented DesignConcurrencySystem Design - UberMediumSoftware EngineerDesign a Real-Time Chat System
This question tests the ability to design a highly available and scalable real-time chat service, focusing on persistent connections, message routing, and reliable delivery mechanisms.
System DesignOnsiteWebSocketsDistributed SystemsScalability - UberMediumSoftware EngineerDesign a Real-Time Nearby-Driver Service
Tests the ability to architect a high-throughput, low-latency geospatial ingestion and query service that tracks millions of moving entities, handles state transitions, and avoids boundary/hot-spot bottlenecks.
System DesignOnsiteGeospatialDistributed SystemsIn-Memory Caching - UberMediumSoftware EngineerDesign a meeting room reservation API
This problem tests your ability to design an in-memory scheduling system that efficiently manages room availability and handles time-interval overlaps.
Software Engineering FundamentalsOnsiteSystem DesignInterval SchedulingData Structures - UberHardSoftware EngineerDesign a ride-hailing platform like Uber
This question evaluates a candidate's competency in large-scale system design, covering distributed systems architecture, data modeling, real-time location streaming, matching algorithms, scalability, fault tolerance, and secure payment handling.
System DesignOnsite - UberHardSoftware EngineerDesign a search autocomplete system
This system design question evaluates the ability to architect a large-scale search autocomplete service, testing knowledge of prefix data structures, distributed indexing, and latency-sensitive serving pipelines. It is commonly asked in senior engineering interviews to assess trade-off reasoning between freshness, read performance, and system complexity at scale.
System DesignOnsite - UberMediumSoftware EngineerDesign cart and pricing engine classes
This question evaluates object-oriented system design and domain modeling skills related to cart operations, item customizations, composable pricing rules (surge, promotions, membership) and producing an itemized receipt.
System DesignOnsite - UberHardSoftware EngineerDesign driver heat map and discuss consensus
This interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Design driver heat map and discuss consensus states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
System DesignOnsite - UberMediumSoftware EngineerDesign mkdir and ls for a Basic File System
Design an in-memory file system supporting path creation (`mkdir`) and directory listing (`ls`). Tests tree-based data structures, path parsing, and clean object-oriented design.
Software Engineering FundamentalsOnsitetrietreedesign - UberHardSoftware EngineerDesign real-time driver heatmap system
This question evaluates a candidate's ability to design real-time distributed systems for geospatial aggregation, covering skills in spatial partitioning, high-throughput streaming ingestion, low-latency cell counting, WebSocket-based client updates, and top-K ranking within a fault-tolerant multi-region architecture.
System DesignOnsite - UberHardSoftware EngineerDesign the Data Flow Behind a Food Delivery App's Restaurant List
A system design interview question asking you to design the data flow behind a food delivery app's restaurant list for a customer's delivery address. It tests geographic indexing of delivery areas, propagating restaurant status and delivery-time changes, read-path latency, caching, and freshness trade-offs.
System DesignOnsite - UberMediumSoftware EngineerDesign top-K frequency structure
This question evaluates ability to design efficient in-memory data structures for frequency tracking, including handling recency-based tie-breaking, memory bounds under churn, and concurrency implications.
Coding & AlgorithmsOnsite - UberMediumSoftware EngineerDesign top-K tracker with linked lists
Design top-K tracker with linked lists evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Coding & AlgorithmsOnsite - UberMediumSoftware EngineerEncode an N-ary tree as a string and decode it back to the identical tree
Design a string format for rooted N-ary trees and implement serialize and deserialize so the decoded tree has the same values, shape and child order. It tests unambiguous encoding of variable child counts, linear-time parsing, iterative handling of very deep trees, and validation of malformed input.
Software Engineering FundamentalsOnsite - UberMediumSoftware EngineerEvaluate an Arithmetic Expression
This problem tests your ability to parse and evaluate mathematical expressions involving integers, addition, subtraction, multiplication, division, and parentheses using stacks or recursion.
Coding & AlgorithmsOnsiteStackParsingString Manipulation