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 301–330 of 5874 results

  • 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 Kafka-Based File Watcher for Millions of Files

    Design a Kafka file watcher for millions of files with source sharding, durable events, per-file ordering, missed-event reconciliation, and version-aware reads.

    System DesignTechnical Screen
  • AmazonHardSoftware Engineer
    Design a Library Management System (API and Schema)

    This problem evaluates your ability to design a schema and API for a transactional library system, focusing on handling concurrent checkouts and maintaining data integrity in a read-heavy environment.

    System DesignTechnical ScreenDatabase ModelingConcurrencyREST API
  • 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-Branch Library Lending System

    This problem tests the ability to design a distributed inventory and reservation system, focusing on concurrency control, transaction integrity across branches, and fault-tolerant service communication.

    System DesignTechnical ScreenConcurrencyDistributed SystemsInventory
  • 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 Perishable-Goods Inventory and Location Tracking System

    This question tests the ability to design a distributed inventory system that handles high-frequency location updates and strict FIFO/expiry logic for perishable goods.

    System DesignTechnical ScreenGeo-spatialScalabilityDatabase Modeling
  • 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
  • AmazonHardSoftware Engineer
    Design a Recursive File-Search API

    Implement a secure, recursive file-search API that validates search boundaries, handles symlink cycles, catches permission errors gracefully, and returns deterministically sorted matching paths.

    Software Engineering FundamentalsHR ScreenFile SystemsSecurityRecursion
  • AmazonEasySoftware Engineer
    Design a Reliable AI Chatbot Architecture

    Tests candidate's ability to design an enterprise-grade Retrieval-Augmented Generation (RAG) chatbot system featuring fine-grained authorization, hallucination guardrails, and low-latency response serving.

    ML System DesignTechnical ScreenRAGLLMInformation Retrieval
  • 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
  • AmazonEasySoftware Engineer
    Design a Scalable News Feed

    This problem evaluates your ability to design a feed generation architecture, specifically comparing push vs. pull models for users with varying follower counts.

    System DesignTechnical ScreenCachingScalabilityDatabases
  • 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 TTL-Aware LRU Cache Without Full Expiration Scans

    Design a TTL-aware LRU cache with synchronized access, capacity eviction, and expiration heaps or timing wheels instead of full-table scans.

    Software Engineering FundamentalsOnline Assessment
  • 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
  • AmazonMediumSoftware Engineer
    Design a basic credit card system

    This problem tests object-oriented modeling and state management by requiring the design of a class structure that handles credit limits, transaction authorization, and balance tracking.

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignDomain ModelingSystem Architecture
  • AmazonHardSoftware Engineer
    Design a cloud database write path and recovery

    This question tests the ability to architect a distributed database write path that decouples compute from storage, specifically focusing on how to maintain ACID properties during failures.

    System DesignTechnical ScreenDistributed SystemsDatabasesDurability
  • 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
  • AmazonHardSoftware Engineer
    Design a fraud detection system

    This problem evaluates your ability to design a scalable, low-latency fraud detection system for an e-commerce platform, focusing on handling class imbalance, feature engineering, and the challenges of delayed feedback loops.

    ML System DesignTechnical ScreenFraud DetectionScalabilityFeature Store
  • AmazonMediumSoftware Engineer
    Design a hierarchical locking tree

    This interview question evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer for Design a hierarchical locking tree states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Coding & AlgorithmsTechnical Screen