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 31–60 of 2810 results

  • AeoneaMediumSoftware Engineer
    Implement a tennis score tracker

    This question evaluates a candidate's ability to implement stateful scoring logic and choose appropriate data structures for tracking sequential events, specifically handling tennis scoring rules such as 0/15/30/40 progression, Deuce, Advantage, and the two-point lead requirement.

    Coding & AlgorithmsTechnical Screen
  • AffirmMediumSoftware Engineer
    Aggregate loans and match repayments

    Implement a transaction matching engine that aggregates user loans and allocates repayments chronologically to outstanding balances using a FIFO waterfall approach.

    Coding & AlgorithmsTechnical Screenarrayshash-tablesorting
  • AffirmMediumSoftware Engineer
    Analyze Returning Borrowers Across Two Days of Logs

    Process two daily loan activity logs to identify users active on both days with diverse loan types, then score them using a configurable trust policy.

    Data Manipulation (SQL/Python)Technical ScreenData ManipulationHash TablePython
  • AffirmMediumSoftware Engineer
    Describe your highest-impact project

    This question evaluates leadership, ownership, impact measurement, cross-functional collaboration, and technical decision-making competencies by asking for a concrete example of a high-impact project.

    Behavioral & LeadershipTechnical Screen
  • AffirmMediumSoftware Engineer
    Design Installment-Loan Payment Processing

    Design installment-loan payment processing around a bank debit API available during one daily one-hour window. Unify manual and scheduled intents, prevent duplicate debits with durable idempotency and state transitions, reconcile unknown outcomes, apply accounting atomically, and notify through an outbox.

    System DesignTechnical Screen
  • 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
  • AffirmMediumSoftware Engineer
    Detect fraud events and extract PII

    This problem tests your ability to process nested JSON-like structures, perform deduplication, and map related entities to detect fraudulent patterns.

    Coding & AlgorithmsTechnical ScreenGraphHash MapDSU
  • AffirmMediumSoftware Engineer
    Determine Redeemable Promotion Offers

    This problem tests your ability to manage stateful constraints by processing a stream of promotional event logs to determine if a user remains eligible for a discount based on a per-user, per-promotion usage limit.

    Coding & AlgorithmsTechnical ScreenHashMapsDataAggregationStreamProcessing
  • AffirmMediumSoftware Engineer
    Find shortest unique substring per word

    This problem tests your ability to manipulate string data structures (like Tries or Suffix Trees) to efficiently identify the shortest, lexicographically smallest substring that is unique to a given word within a provided collection.

    Coding & AlgorithmsTechnical ScreenStringsTrieHash Map
  • AffirmMediumSoftware Engineer
    Hiring Manager Behavioral Interview: Challenging Project, Deadlines, Cross-Team Work

    A hiring manager asks you to introduce yourself, describe a challenging project, explain why you want to join Affirm, and discuss delivering under a tight timeline, working across teams and finding where a system needs improvement. It tests structured, evidence-based behavioral answers and engineering judgment.

    Behavioral & LeadershipTechnical 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
  • AgodaMediumSoftware Engineer
    Compute triangle min path and dice stopping stats

    This composite question evaluates dynamic programming and algorithmic optimization via the triangle minimum path problem and probability, stopping-time analysis and Monte Carlo simulation through the two-dice experiment, testing competencies in DP, discrete probability, expected-value reasoning and empirical estimation.

    Coding & AlgorithmsTechnical Screen
  • AgodaMediumSoftware Engineer
    Find two numbers that sum to a target

    This question evaluates array manipulation, index-based reasoning, and algorithmic problem-solving skills related to identifying value pairs that meet a numeric target.

    Coding & AlgorithmsTechnical Screen
  • Ai2MediumSoftware Engineer
    Maintain an Out-of-Order Step Progress Tree

    This problem tests tree reconstruction from a stream of out-of-order parent-child updates, requiring efficient hierarchical state management and cycle detection.

    Coding & AlgorithmsTechnical ScreenTreesGraphsData Structures
  • Aim Intelligent MachineMediumSoftware Engineer
    Merge Overlapping Closed Intervals into a Sorted Disjoint List

    Tests sorting and linear scanning techniques to merge overlapping closed intervals, with attention to shared boundaries, nested ranges, and large input scale.

    Coding & AlgorithmsTechnical ScreenIntervalsSortingArray
  • AirbnbMediumSoftware Engineer
    Address miscommunication and alignment

    Address miscommunication and alignment evaluates behavioral evidence, ownership, communication, trade-offs, and measurable outcomes in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Behavioral & LeadershipTechnical Screen
  • AirbnbHardSoftware Engineer
    Answer cross-team delivery and values questions

    This question evaluates a candidate's competency in cross-team delivery, stakeholder communication across time zones and cultures, project ownership, risk assessment, and leadership when internal ETAs slip, and it falls under the Behavioral & Leadership category.

    Behavioral & LeadershipTechnical Screen
  • AirbnbMediumSoftware Engineer
    Compute minimum-cost service cover

    This question evaluates proficiency in combinatorial optimization and set-coverage with cost minimization, including handling case-insensitive service matching and enumerating minimal solution combinations.

    Coding & AlgorithmsTechnical Screen
  • AirbnbMediumSoftware Engineer
    Compute split-stay listing pairs

    This question evaluates the ability to manipulate interval availability data, reason about contiguous date ranges and split boundaries, and design efficient pairing algorithms with attention to time and space complexity.

    Coding & AlgorithmsTechnical Screen
  • AirbnbMediumSoftware Engineer
    Construct smallest number from I/D pattern

    This problem tests greedy algorithm design and stack-based data structure manipulation to satisfy relative ordering constraints within a sequence of digits.

    Coding & AlgorithmsTechnical ScreenGreedyStackStrings
  • AirbnbMediumSoftware Engineer
    Count Candies from Unlockable Boxes

    Determine the maximum number of candies you can collect given an initial set of boxes, where each box may be locked or unlocked, contain candies, contain keys to other boxes, and contain other boxes.

    Coding & AlgorithmsTechnical ScreenBreadth-First SearchGraphQueue
  • 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
  • AirbnbHardSoftware Engineer
    Design a fast host listing metrics page

    This question evaluates backend system design and data engineering competencies, including scalable API design, time-range aggregation correctness (handling partial overlaps and state changes), data modeling and indexing, caching and precomputation, and performance validation.

    System DesignTechnical Screen
  • AirbnbHardSoftware Engineer
    Design a multi-channel notification system

    This question tests the ability to design a distributed, multi-channel notification system capable of handling high throughput, varying latency requirements across channels (e.g., email, push, SMS), and ensuring reliable message delivery.

    System DesignTechnical ScreenDistributed SystemsScalabilityMessage Queues
  • AirbnbHardSoftware Engineer
    Design an Airbnb wallet with holds and payouts

    This question evaluates a candidate's competency in designing financial transaction systems, covering double-entry append-only ledgers, holds/authorizations and captures, refunds and payouts, multi-currency FX conversion and rounding, idempotency, concurrency safety, and auditable reconciliation.

    System DesignTechnical Screen
  • 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
  • AirbnbMediumSoftware Engineer
    Design and implement Connect Four engine

    This question evaluates a candidate's competency in algorithmic problem solving, data structure selection, API design, complexity analysis, and testing through implementation of a Connect Four game engine.

    Coding & AlgorithmsTechnical Screen
  • AirbnbMediumSoftware Engineer
    Design and implement an Airbnb wallet

    This question evaluates system design and object-oriented design skills focused on transactional accounting, escrow-based payment flows, idempotency, and robust error handling, plus the ability to produce a runnable in-memory implementation.

    System DesignTechnical Screen
  • AirbnbMediumSoftware Engineer
    Determine Exact Layover Booking

    Determine if a subset of layover activities can be booked such that their total cost exactly matches a target voucher balance, handling floating-point currency without precision loss.

    Coding & AlgorithmsTechnical ScreenDynamic ProgrammingBacktrackingSubset Sum