Katkat

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 Engineer
    Count 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 Engineer
    Define 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 Engineer
    Describe 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Encode 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 Engineer
    Evaluate 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