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 1–30 of 372 results

  • AMDMediumSoftware Engineer
    C++ Code Reading: Bug in a Linked-List insertAfter and Predicting Polymorphic Output

    Two C++ code-reading exercises: find the bug in a singly linked list insertAfter function that is missing a pointer update and predict what the program prints, then predict and explain the output of code mixing virtual overriding, name hiding, constructors, default arguments and pass-by-value. It tests precise tracing of pointers and dispatch rules.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    Design and Implement a Fixed-Capacity LRU Cache with Constant-Time Operations

    Design and implement a fixed-capacity least-recently-used cache whose get and put operations run in constant time, while answering follow-up probes during coding. It tests data structure composition, careful iterator handling, eviction edge cases, and extensions such as thread safety and expiry.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    DevOps Experience, Jenkins Pipelines and Plugins, and Reading Very Large Log Files

    Practical DevOps questions: describe your DevOps experience, explain how Jenkins pipelines, agents and plugins are used to build and test software, and show how to fetch and search a log file too large to open or load into memory. It tests hands-on CI/CD knowledge and efficient handling of large files.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    Explain Cache Conflicts and Related Memory-Access Problems

    Explain cache-set conflicts with address mapping, then distinguish eviction from false sharing and GPU bank conflicts so padding and layout changes target the right cause.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    Explain GPU Register Spills and Their Performance Cost

    Explain GPU register spills through live-variable pressure, compiler allocation, spill traffic, occupancy tradeoffs, and measured optimization choices.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    Explain Skills and Progressive Disclosure in an Agent

    Explain reusable agent skills, prompt context, progressive disclosure, selection metadata, referenced resources, and the boundaries of permissions and validation.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    Fast Retrieval at Scale: Databases, Indexing vs Sharding, Red-Black Trees and Tries

    Conceptual questions on data storage and retrieval: what a database is and how to find data quickly in a very large dataset, how sharding differs from indexing, and how red-black trees and tries work. It tests understanding of access paths, horizontal scaling and core search data structures.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    Optimize the Memory Accesses of a GPU Matrix Transpose

    Analyze row-major GPU transpose accesses and use tiled shared staging for coalesced reads and writes, with barrier safety, edge handling, and device-specific bank checks.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    Profile a GPU Workload and Choose a Parallelism Strategy

    Profile a GPU workload from its critical path to kernel counters, then choose parallelism based on independence, memory capacity, communication, and measured end-to-end gains.

    Software Engineering FundamentalsOnsite
  • AMDMediumSoftware Engineer
    Use the Roofline Model to Analyze Prefill and Decoding

    Apply roofline analysis to LLM prefill and decoding using arithmetic intensity, sustainable bandwidth, batching, KV-cache traffic, and measured kernel behavior.

    Software Engineering FundamentalsOnsite
  • AirbnbHardSoftware Engineer
    How do you conduct a code review exercise?

    This question tests a software engineer's ability to conduct structured, high-signal code reviews under time pressure and limited context. It evaluates judgment in prioritizing correctness issues over style, communicating feedback clearly, and handling ambiguity — core competencies in software engineering fundamentals interviews.

    Software Engineering FundamentalsOnsite
  • AirbnbMediumSoftware Engineer
    Implement a reservation widget with pricing

    This question evaluates skills in frontend component state design, data modeling, pricing computation, validation logic, error handling, and API integration for a lodging reservation widget.

    Software Engineering FundamentalsOnsite
  • AirbnbHardSoftware Engineer
    Implement retry wrapper and interdependent validators

    This question evaluates a candidate's competence in building robust asynchronous utilities and form validation logic, covering retry/backoff strategies, error classification, per-attempt and overall timeouts, cancellation via AbortSignal, observable retry hooks, cross-field validators, state management, and accessibility considerations in JavaScript/TypeScript web applications. Category: Other / Miscellaneous; domain: web development and systems reliability in JavaScript/TypeScript; it is commonly asked because it probes both conceptual understanding of retry semantics, cancellation and validation constraints and practical implementation skills related to API ergonomics, error propagation, composable validators, and performance trade-offs.

    Software Engineering FundamentalsOnsite
  • AirtableMediumSoftware Engineer
    Explain how to make robust HTTP API calls

    This problem tests your understanding of building resilient client-side code that interacts with external HTTP services, focusing on failure handling and operational stability.

    Software Engineering FundamentalsOnsiteAPI DesignReliabilityHTTP
  • AirtableEasySoftware Engineer
    Optimize a dispatcher’s scheduling data structures

    This question evaluates understanding of algorithmic analysis and data-structure design for memory-constrained scheduling, including efficient lookup and update operations for tables and machines and the selection of placement and migration policies, categorized under Software Engineering Fundamentals.

    Software Engineering FundamentalsOnsite
  • 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 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
  • 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
  • AmazonMediumSoftware Engineer
    Design object model for an elevator system

    This question evaluates object-oriented design and system-architecture skills for modeling a multi-elevator control system, including class responsibilities, interactions, request flow, and scheduling policies.

    Software Engineering FundamentalsOnsite
  • AmazonMediumSoftware Engineer
    Explain a GenAI Use Case and Learn from a Failure

    Tests your ability to critically analyze a production Generative AI architecture, dissect a technical failure or performance degradation, and demonstrate rigorous root-cause analysis alongside validated engineering remediations.

    Software Engineering FundamentalsOnsiteGenerative AISystem DesignRCA
  • AmazonMediumSoftware Engineer
    Generalize Dictionary Merging

    Explain an approach to merging two dictionaries and generalizing it efficiently to k dictionaries, explicitly identifying the collision semantics that must be clarified.

    Software Engineering FundamentalsOnsite
  • AmazonMediumSoftware Engineer
    Implement a Single-Node Priority Pub/Sub

    This question evaluates understanding of concurrent system design, in-memory publish–subscribe semantics, prioritized delivery ordering, API and data structure selection, and thread-safety within the Software Engineering Fundamentals domain.

    Software Engineering FundamentalsOnsite
  • AmazonMediumSoftware Engineer
    Model an Extensible Employee Cost Calculator

    Model an extensible employee cost calculator combining salary, tax, benefits, and a signed location adjustment. Discuss precise money handling, explicit missing policies, canonical identifiers, versioned configuration, reproducible breakdowns, and boundary-focused tests.

    Software Engineering FundamentalsOnsite
  • AmazonMediumSoftware Engineer
    Simplify an Arithmetic Expression Tree with Constant Folding and Identities

    Given the abstract syntax tree of an arithmetic expression as a binary tree, write a traversal that returns an equivalent simplified tree using constant folding and algebraic identities. It tests recursive tree processing, cascading rewrites, correct handling of non-commutative operators and recursion-depth limits.

    Software Engineering FundamentalsOnsite
  • AndurilMediumSoftware Engineer
    Explain Hash Map Collisions and Operation Complexity

    Tests in-depth understanding of hash table internals, comparing collision resolution mechanisms, deletion strategies, dynamic resizing, and operation complexities under expected and adversarial conditions.

    Software Engineering FundamentalsOnsiteData StructuresHash MapsAlgorithms
  • AnthropicMediumSoftware Engineer
    Batch Image Resize and Rotate with Pillow: Exact Dimensions, Parallelism, Bad Files

    A three-part Python image processing exercise: resize and rotate images with Pillow while predicting the exact printed dimensions, speed up a large batch with multiprocessing and a staged pipeline, then keep the batch running through corrupt, oversized and unsupported files. It tests API precision, parallelism and robustness.

    Software Engineering FundamentalsOnsite
  • AnthropicHardSoftware Engineer
    Batch-Apply Pillow Image Transforms, Then Parallelize: Processes vs Threads

    A Python coding exercise that applies a given sequence of Pillow transforms to a folder of cat images and then asks you to cut the total processing time. It tests clean per-image code, reasoning about CPU-bound work and the GIL, choosing between processes and threads, and sizing a worker pool.

    Software Engineering FundamentalsOnsite
  • AnthropicMediumSoftware Engineer
    Build a Resize-and-Rotate Image Pipeline with Multiprocessing

    Design a Pillow resize-and-rotate pipeline with explicit transform semantics, bounded multiprocessing, per-image failures, and safe output publication.

    Software Engineering FundamentalsOnsite