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 91–120 of 2336 results

  • AmazonMediumSoftware Engineer
    Design Faceted Product Search at Large Scale

    Design a scalable e-commerce product search engine supporting full-text query matching, multi-attribute filtering, dynamic facet aggregations, and near real-time updates for volatile data like price and inventory.

    System DesignOnsiteSearchDistributed SystemsInformation Retrieval
  • AmazonMediumSoftware Engineer
    Design Music Search, Playlists, and Playback Controls

    This problem tests the ability to design a scalable music streaming architecture, focusing on data modeling for search indices, conflict resolution in distributed state management, and robust API design for real-time playback control.

    System DesignOnsiteDistributed SystemsAPIsConcurrency
  • AmazonHardSoftware Engineer
    Design Thread-Safe Tagging and Bookstore Systems

    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 Thread-Safe Tagging and Bookstore Systems states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignOnsite
  • AmazonHardSoftware Engineer
    Design a Core Dump Collection and Analysis System

    This problem tests the ability to design a distributed, scalable ingestion and analysis pipeline for massive binary crash files while maintaining system performance and data availability.

    System DesignOnsiteDistributed SystemsScalabilityStorage
  • AmazonMediumSoftware Engineer
    Design a Distributed Cron Job Scheduler

    Design a fault-tolerant, horizontally scalable distributed cron scheduler capable of triggering millions of recurring tasks with at-least-once delivery semantics and deterministic run coordination.

    System DesignOnsiteDistributed SystemsSchedulingFault Tolerance
  • AmazonHardSoftware Engineer
    Design a Distributed Job Scheduler with Run Logs and Exactly-Once Execution

    Design a highly available distributed job scheduler that handles one-time and recurring jobs, collects execution logs, and rigorously addresses the practical boundaries of exactly-once execution.

    System DesignOnsitesystem-designdistributed-systemsconcurrency
  • AmazonHardSoftware Engineer
    Design a High-Availability Load Balancer

    This problem tests the ability to architect a highly available, scalable Layer 7 load balancer, focusing on fault tolerance, traffic distribution strategies, and system reliability.

    System DesignOnsiteDistributed SystemsLoad BalancingHigh Availability
  • AmazonMediumSoftware Engineer
    Design a Linked Queue with Deletion Follow-Ups

    Implement a linked-list-based FIFO queue supporting constant-time core operations, extended with value-based deletion methods that correctly maintain queue integrity and pointer boundaries.

    Software Engineering FundamentalsOnsitelinked-listqueuedata-structures
  • AmazonMediumSoftware Engineer
    Design a Low-Latency Ad Serving Backend With Targeting, Budgets and Tracking

    An Amazon system design question: design an ad server that selects and returns an ad for each page request within a tight latency budget. It covers targeting and candidate retrieval, ranking and auctions, budget enforcement and pacing, impression and click tracking, and failure handling.

    System DesignOnsite
  • AmazonMediumSoftware Engineer
    Design a Multi-Provider Financial Dashboard

    Design a financial dashboard that reconciles balances, securities, cryptocurrency, prices, and derived metrics from unreliable external providers. Explain freshness, historical reproducibility, permissions, corrections, outages, and how users can recognize partial or inconsistent data.

    System DesignOnsite
  • AmazonMediumSoftware Engineer
    Design a Platform for Training and Serving ML Models

    This problem tests the ability to design an end-to-end MLOps platform capable of handling the full lifecycle of machine learning models, from experimentation to production deployment.

    ML System DesignOnsiteMLOpsSystem DesignScalability
  • AmazonMediumSoftware Engineer
    Design a Product Image Upload Pipeline for Sellers

    Design an asynchronous, distributed image processing and delivery pipeline for an e-commerce seller portal, focusing on direct-to-cloud uploads, state management, moderation workflows, and resilient global caching.

    System DesignOnsitesystem-designdistributed-systemsevent-driven
  • AmazonMediumSoftware Engineer
    Design a Ride-Hailing Matching System

    This question evaluates competence in large-scale real-time system design, covering high-throughput ingestion and burst absorption, stream deduplication, geospatial indexing, and low-latency matching and caching for ride-hail workflows.

    System DesignOnsite
  • AmazonMediumSoftware Engineer
    Design a Scalable Metrics Monitoring System

    Design a high-throughput time-series metrics monitoring and alerting platform similar to Amazon CloudWatch, focusing on series identity, cardinality controls, and low-latency aggregations.

    System DesignOnsitesystem-designtime-seriesmonitoring
  • AmazonMediumSoftware Engineer
    Design a Scalable and Polite Web Crawler

    This question tests the ability to design a distributed, fault-tolerant system that balances high-throughput data collection with ethical crawling constraints and resource efficiency.

    System DesignOnsiteDistributed SystemsQueueingData Pipelines
  • AmazonMediumSoftware Engineer
    Design a Structure That Returns the Max of the Last k Inserted Numbers

    A data structure design question: support inserting numbers into a stream and returning the maximum of the most recent k values. It covers a basic version with complexity analysis, reducing memory to O(k), comparing arrays, hash maps, linked lists and heaps, and building the optimal solution with a monotonic deque.

    Software Engineering FundamentalsOnsite
  • AmazonMediumSoftware Engineer
    Design a Threshold-Based Database Partition Rebalancer

    This problem tests your ability to design a distributed system component that maintains cluster balance by dynamically splitting and merging data shards based on size thresholds.

    Software Engineering FundamentalsOnsiteDistributed SystemsSystem DesignConcurrency
  • AmazonMediumSoftware Engineer
    Design a Train Fare Calculator with Dynamic Stations and a Weekend Fare Cap

    An object-oriented design and coding exercise for a train line where each segment between adjacent stations costs one unit. It asks for a fare function between two stations, a route class that loads route data and supports adding stations at runtime, and a weekend rule that caps the total fare.

    Software Engineering FundamentalsOnsite
  • AmazonHardSoftware Engineer
    Design a URL shortening platform

    This question evaluates competency in system design and distributed systems architecture, including API design, scalable short-code generation, data modeling and storage/sharding, caching and CDN strategies, consistency and fault-tolerance trade-offs, rate limiting and abuse prevention, analytics, compliance, and capacity planning.

    System DesignOnsite
  • AmazonHardSoftware Engineer
    Design a configuration subscription service

    This question evaluates skills in designing a distributed configuration and subscription service, covering API design, real-time notification semantics (delivery and ordering guarantees), versioning, concurrency and thread-safety, durability and recovery, multi-tenant isolation, security, and scalability concerns.

    System DesignOnsite
  • AmazonHardSoftware Engineer
    Design a distributed job scheduler service

    This question tests the ability to design a distributed, fault-tolerant system capable of scheduling and executing tasks at a massive scale with strict latency requirements.

    System DesignOnsiteDistributed SystemsScalabilityScheduling
  • AmazonHardSoftware Engineer
    Design a file search module like UNIX find

    This question evaluates object-oriented and API design skills, filesystem semantics (pattern matching, file types, timestamps, permissions, symlink handling), traversal and concurrency strategies, and robustness for large or error-prone directory trees.

    System DesignOnsite
  • AmazonMediumSoftware Engineer
    Design a fixed-capacity circular queue

    This question evaluates understanding of fixed-capacity circular queue data structures, array-based indexing, modular arithmetic, and the requirement for constant-time (O(1)) enqueue/dequeue operations.

    Coding & AlgorithmsOnsite
  • AmazonMediumSoftware Engineer
    Design a multi-size storage locker system

    This question tests your ability to design a scalable, distributed reservation system that handles resource allocation (bin packing) under concurrency constraints.

    System DesignOnsiteConcurrencyAPI DesignDistributed Systems
  • AmazonMediumSoftware Engineer
    Design a no-repeat top-frequency music player

    Design a no-repeat frequency-based music player with addUserSongs and getNextSong APIs. Covers max-heap data structures, lazy deletion, cycle resets, mid-cycle song additions, and complexity.

    Coding & AlgorithmsOnsite
  • AmazonMediumSoftware Engineer
    Design a scalable image-based social network

    This question tests your ability to design a distributed system architecture capable of handling high-volume image uploads, metadata storage, and low-latency feed retrieval.

    System DesignOnsiteScalabilityDistributed SystemsCaching
  • AmazonHardSoftware Engineer
    Design an online bookstore for browse and purchase

    Design an online bookstore for browse and purchase 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
  • AmazonMediumSoftware Engineer
    Design and Implement a Shopping Cart Object Model for an Online Store

    An object-oriented design exercise that asks you to model and implement a shopping cart for an online store, covering adding, updating and removing products and computing the total. It tests class boundaries, explicit edge-case policies, exact money handling and how cleanly the design extends to promotions.

    Software Engineering FundamentalsOnsite
  • AmazonHardSoftware Engineer
    Design delayed job scheduler (LLD)

    This question evaluates system design and distributed-systems competencies, including scheduling algorithms, durable persistence and recovery, concurrency control, delivery semantics, and operational concerns, and it belongs to the System Design category.

    System DesignOnsite
  • AmazonHardSoftware Engineer
    Design document-tag classes with concurrency safety

    Design document-tag classes with concurrency safety 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