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 1026 results

  • AMDEasySoftware Engineer
    Build a UVM testbench: driver, monitor, scoreboard and coverage-driven closure

    A hardware design verification question on building a SystemVerilog UVM testbench for an RTL block. It covers agents, drivers, monitors and scoreboards, checking results that may leave out of order, catching missing outputs, and using code and functional coverage to steer constrained-random stimulus toward sign-off.

    Software Engineering FundamentalsTechnical Screen
  • 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
  • AMDEasySoftware Engineer
    PCIe deep dive: TS1/TS2, LTSSM link training, TLP types and transaction ordering rules

    A PCI Express protocol deep dive for a verification role. It covers TS1 and TS2 training ordered sets, LTSSM link training from Detect to L0 and through Recovery, TLP headers and the Posted, Non-Posted and Completion categories, and the ordering rules that decide when one transaction may pass another.

    Software Engineering FundamentalsTechnical Screen
  • 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
  • Abnormal AiMediumSoftware Engineer
    Extensible Security-Event Pipeline: Rule Suppression and Plugin-Based Enrichment

    Tests your ability to design and implement an extensible, plugin-based security event processing engine supporting multi-tenant enrichments and dynamic rule suppression.

    Software Engineering FundamentalsTechnical Screenobject-oriented-designsoftware-architecturemulti-tenancy
  • AddeparEasySoftware Engineer
    Implement a URL-Prefix Sliding-Window Alert Monitor

    This problem tests the ability to manage time-based sliding windows and prefix-based path aggregation to trigger alerts based on request thresholds.

    Software Engineering FundamentalsTechnical ScreenData StructuresHash MapSliding Window
  • Additive AiMediumSoftware Engineer
    Extract W-2 PDF Data and Evaluate It Against Reference JSON

    This problem tests data structure manipulation, fuzzy matching logic, and evaluation metrics for comparing extracted AI document data against ground-truth schemas.

    Software Engineering FundamentalsTechnical ScreenData ProcessingNormalizationEvaluation
  • AffirmEasySoftware Engineer
    Design a High-Card Game with a Persistent Tie Pot

    Design a high-card game in which tied rounds carry a persistent pot into later rounds, first for two players and then for many. Define card ownership, tie and exhaustion policies, deterministic shuffling, termination rules, extensible classes, and tests for tricky state transitions.

    Software Engineering FundamentalsTechnical Screen
  • AffirmHardSoftware Engineer
    Simulate a High-Card Deck Game for Two Players, Then N Players

    Model a shuffled 52-card game in which each round the higher top card wins both cards, then report the player with the most cards won. Starts with two players and generalizes to N players with uneven round-robin dealing, testing object design, rule clarification, and deterministic tests.

    Software Engineering FundamentalsTechnical Screen
  • AgodaMediumSoftware Engineer
    Compute probability two arrivals meet within 15 minutes

    This question evaluates understanding of continuous probability and geometric probability, focusing on independent uniform random variables and reasoning about time-window overlap.

    Software Engineering FundamentalsTechnical Screen
  • AirbnbMediumSoftware Engineer
    Build an Incremental Loyalty-Points Ledger with Scheduled, Cancelable Transfers

    Implement an in-memory loyalty-points ledger that grows in three stages: atomic transfers between accounts, transfers scheduled for a future point on a simulated clock, and cancellation of a transfer before it fires. Tests incremental state-machine design, validating before mutating, and keeping point totals correct across every sequence of calls.

    Software Engineering FundamentalsOnline Assessmentstate-machineoopsimulation
  • AirbnbMediumSoftware Engineer
    Define a File Store with User Quotas and Compression

    Implement an in-memory cloud file store that supports file creation, copying, prefix/suffix search, per-user storage quotas, and atomic file compression/expansion.

    Software Engineering FundamentalsOnline AssessmentData StructuresDesignString
  • AirbnbMediumSoftware Engineer
    Design a Multi-Level In-Memory Cloud Storage Service

    Design a multi-tiered in-memory cloud storage system supporting staged uploads, capacity limits, prefix search ranking, and conflict-aware backup and restore operations.

    Software Engineering FundamentalsOnline AssessmentDesignData StructuresHash Table
  • AirbnbMediumSoftware Engineer
    Design a Stateful Banking System with Scheduled Payments and Account Merges

    Design an in-memory stateful banking system that supports account creation, transfers, spending leaderboards, scheduled payments with deterministic backlog processing, and account merges.

    Software Engineering FundamentalsOnline Assessmentdata-structuresheapsystem-simulation
  • AirbnbHardSoftware Engineer
    Design a Stateful Working Hours Register

    Design an in-memory working hours and compensation tracking register that supports badge events, top-k leaderboards, scheduled rate changes, and interval-based historical earnings calculations.

    Software Engineering FundamentalsOnline AssessmentDesignIntervalsBinary Search
  • AirbnbMediumSoftware Engineer
    Design a banking ledger for deposits/withdrawals

    This question tests your ability to design a robust database schema and service logic for a banking system, focusing on data integrity, transaction atomicity, and handling high-concurrency balance updates.

    Software Engineering FundamentalsTechnical ScreenDatabase DesignConcurrencyTransactions
  • AirbnbEasySoftware Engineer
    Design an In-Memory Cloud Storage Service with Users, Backups, and Restore

    Implement an in-memory cloud storage system supporting user storage limits, globally unique files, ranked file queries, account merges, and transactional backup and restore operations.

    Software Engineering FundamentalsOnline AssessmentObject-Oriented DesignData StructuresHash Table
  • AirbnbMediumSoftware Engineer
    Design an extensible request Retryer

    This question evaluates a candidate's ability to design extensible and robust retry mechanisms, covering competencies in API/interface design, fault tolerance, backoff and jitter strategies, cancellation/deadline handling, idempotency considerations, and observability.

    Software Engineering FundamentalsTechnical Screen
  • 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 Multi-Level Recipe Management Service

    Design and implement an in-memory recipe management service supporting deterministic querying, defensive data isolation, atomic updates, and secondary index maintenance.

    Software Engineering FundamentalsOnline AssessmentData StructuresAPI DesignInverted Index
  • AirbnbHardSoftware Engineer
    Implement a Time-Aware Banking System

    Design and implement a stateful, time-aware in-memory banking ledger that handles atomic transfers, deferred/scheduled executions, account mergers, historical balance queries, and activity rankings.

    Software Engineering FundamentalsOnline AssessmentDesignHeapBinary Search
  • AirbnbMediumSoftware Engineer
    Implement a Time-Aware Task Management System

    Design and implement an in-memory, time-aware task management class that supports scheduling, rescheduling, canceling, and prioritized polling based on timestamps and priorities.

    Software Engineering FundamentalsOnline AssessmentHeapHash TableSystem Design