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 1051–1080 of 5874 results

  • AtlassianMediumSoftware Engineer
    Implement sliding-window rate limiter function

    This problem tests your ability to design a thread-safe rate limiter using a sliding window approach, focusing on time complexity optimization and memory management.

    Coding & AlgorithmsTechnical ScreenConcurrencyData StructuresSliding Window
  • AtlassianMediumSoftware Engineer
    Merge intervals and design rating APIs

    Tests interval merging logic alongside stateful data structure design for tracking agent performance, calculating streaming averages, and ranking agents with deterministic tie-breaking.

    Coding & AlgorithmsTechnical Screenintervalsheaphash-table
  • AtlassianMediumSoftware Engineer
    Merge overlapping intervals

    This problem tests your ability to manipulate array-based data structures, specifically focusing on sorting and linear-time interval merging logic.

    Coding & AlgorithmsTechnical ScreenArraysSortingGreedy
  • AtlassianEasySoftware Engineer
    Per-Caller Request Limiter Over Non-Decreasing Time Buckets

    A coding question about a rate limiter that receives requests as time bucket and caller pairs, in non-decreasing bucket order, and decides which to allow when each caller may make only a fixed number of requests per bucket. It tests stateful counting, per-key bookkeeping and correct handling of bucket changes.

    Coding & AlgorithmsTechnical Screen
  • AtlassianMediumSoftware Engineer
    Store a hierarchy and return all children

    This question evaluates understanding of hierarchical data modeling, REST API design, database schema choices (e.g., adjacency list vs alternatives), and systems-level concerns like scalability, pagination for large subtrees, and cycle prevention.

    System DesignOnsite
  • AtlysMediumSoftware Engineer
    Design a Splitwise-Style Expense Splitter with Minimum-Transaction Debt Settlement

    Design a Splitwise-style shared-expense app, covering functional and non-functional requirements, API design and core entities, then implement settle() to produce payments that clear every balance and settle_optimally() to use the fewest transactions. Tests object-oriented design, exact money handling, and reasoning about optimality and complexity.

    Software Engineering FundamentalsTechnical Screen
  • AtlysMediumSoftware Engineer
    Design a Tour-Expense Splitter That Minimizes Payments

    Design a shared-expense tracker for a touring band: members log who paid for what and how it was split, the app maintains running balances, and two settlement modes produce the payments needed to zero every balance -- a simple pairwise payoff and an optimal one using the fewest transactions. Tests API/entity design plus a min-cash-flow-style algorithm.

    Software Engineering FundamentalsTechnical Screensystem-designgraphsgreedy
  • AttentiveMediumSoftware Engineer
    Design Broadcast Scheduling APIs

    This question evaluates a candidate’s ability to design scalable, reliable broadcast and scheduling systems, covering API design, data modeling, distributed scheduling, delivery semantics, idempotency, retries, and operational fault-tolerance.

    System DesignTechnical Screen
  • AttentiveMediumSoftware Engineer
    Design Robust Large-Input Processing

    This question evaluates debugging and root-cause analysis, memory management, streaming/chunked data processing (including correctness across chunk boundaries), and system reliability aspects such as observability, testing, and recovery for large-input backends.

    System DesignTechnical Screen
  • AttentiveMediumSoftware Engineer
    Design Storage for a Flexible Metrics Monitoring System

    This problem tests the ability to design a time-series storage system by balancing read/write throughput, data retention policies, and query performance at scale.

    System DesignTechnical ScreenTime-SeriesDatabaseData Modeling
  • AttentiveMediumSoftware Engineer
    Design a Data Puller for a Third-Party API Capped at 3 Requests per Second

    Design a service that pulls and syncs data from a third-party API that enforces a hard limit of 3 requests per second. It tests global rate limiting across distributed workers, retry and backoff behavior, incremental sync with checkpoints, and prioritizing work when demand exceeds the request budget.

    System DesignTechnical Screen
  • AttentiveHardSoftware Engineer
    Design a Kafka-Fed Event Analytics System for Long-Term Analysis

    A system design exercise to build an event analytics system that ingests very high-volume, concurrent event streams from Kafka and stores them for long-term analysis. It tests Kafka topics, partitions, consumers and consumer groups, delivery guarantees, and durable, queryable storage design.

    System DesignOnsite
  • AttentiveMediumSoftware Engineer
    Design a Product Catalog Ingested From Full Retailer Snapshots With Admin Overrides

    A system design question about a product catalog built from full retailer snapshot files, with 50,000 retailers, 11,000 read queries per second and a 400 ms latency target. It tests snapshot diffing, recovery from a mistaken upload, admin overrides that survive retailer updates, scaling ingestion, and observability.

    System DesignOnsite
  • AttentiveMediumSoftware Engineer
    Design a Real-Time Ad Serving System with Budgets and Impression Tracking

    Design a real-time ad serving system that picks an eligible ad for each ad request, returns it within a tight latency budget, and records impressions and clicks for billing. Tests candidate retrieval and ranking, campaign data freshness, budget enforcement across many servers, and a deduplicated event pipeline.

    System DesignOnsite
  • AttentiveMediumSoftware Engineer
    Design a Reliable Third-Party Data Ingestion Service

    Design an extensible, resilient data ingestion service capable of extracting data from heterogeneous third-party APIs while managing rate limits, pagination state, schema drift, and fault recovery.

    System DesignOnsiteData IngestionDistributed SystemsRate Limiting
  • AttentiveMediumSoftware Engineer
    Design a Scalable Catalog Service

    Design a high-throughput, read-heavy catalog service supporting draft/publish lifecycles, item versioning, search projections, and resilient rollback mechanisms.

    System DesignOnsiteCQRSE-CommerceCaching
  • AttentiveMediumSoftware Engineer
    Design a Snapshot-Driven Product Catalog

    Design a multi-tenant product catalog ingestion and serving system that processes periodic, complete merchant snapshots while deterministically layering administrator overrides, supporting atomic cutovers, and maintaining read consistency.

    System DesignOnsitesystem-designe-commercedata-pipelines
  • AttentiveMediumSoftware Engineer
    Evaluate a Lisp-Style Prefix Expression Language With ADD, MULT and LET Variables

    Implement an evaluator for a small Lisp-style prefix language with ADD and MULT, then extend it with LET variable bindings. It tests recursive parsing of nested expressions, settling ambiguous language rules before coding, and choosing a data structure for nested variable scopes.

    Software Engineering FundamentalsOnsite
  • AttentiveMediumSoftware Engineer
    Evaluate a Scoped Lisp Expression

    Implement a recursive descent or token-based interpreter to evaluate a scoped, Lisp-like arithmetic expression supporting addition, multiplication, and sequential variable bindings with shadowing.

    Coding & AlgorithmsOnsiterecursionparsinghash-table
  • AttentiveMediumSoftware Engineer
    Find Inclusive Index Ranges for Time-Window Queries on Timestamp-Sorted Logs

    Given log timestamps sorted in non-decreasing order with possible duplicates, answer many inclusive time-window queries by returning the first and last index of the entries inside each window, where a window may extend past the data's time range. It tests O(log n) per-query boundary searches on sorted data with duplicate keys.

    Coding & AlgorithmsTechnical Screen
  • AttentiveMediumSoftware Engineer
    Remove Adjacent Duplicate Runs of Length K

    Implement a linear-time string reduction algorithm that repeatedly eliminates adjacent runs of k identical characters using a stack.

    Coding & AlgorithmsTechnical Screenstackstringalgorithms
  • AttentiveMediumSoftware Engineer
    Return Log Entries Within an Inclusive Time Range From a Sorted Log

    Given an in-memory log sorted by integer timestamp, return every entry whose timestamp lies within an inclusive start and end time. The problem tests exact boundary handling with duplicate timestamps, empty results when the range misses the log, and locating a range efficiently in sorted data.

    Coding & AlgorithmsOnsite
  • AugerMediumSoftware Engineer
    Show the Technical Difficulty Behind a High-Impact Project

    Show what made a high-impact project technically difficult by connecting its constraints, non-obvious mechanism, alternatives, implementation decisions, and evidence of the result.

    Behavioral & LeadershipTechnical Screen
  • AuroraMediumSoftware Engineer
    Compute streaming sliding-window minimums

    This question evaluates a candidate's understanding of streaming algorithms and efficient data-structure techniques for maintaining sliding-window minima, measuring competency in algorithmic thinking, time and space complexity, and online processing.

    Coding & AlgorithmsTechnical Screen
  • AuroraMediumSoftware Engineer
    Evaluate an Arithmetic Expression

    Evaluate arithmetic expressions containing non-negative integers and the four basic operators without using eval. Preserve precedence and left associativity, implement division that truncates toward zero, and process expressions up to 300,000 characters efficiently.

    Coding & AlgorithmsTechnical Screen
  • AuroraHardSoftware Engineer
    Implement a reference-counted smart pointer

    This question evaluates understanding of C++ resource management, ownership semantics, RAII, and reference counting implementation within the coding and algorithms domain, emphasizing pointer semantics and object lifetime.

    Coding & AlgorithmsTechnical Screen
  • AutodeskMediumSoftware Engineer
    Design a Real-Time Multi-Source Change Data Pipeline

    Design a low-latency CDC pipeline that joins multiple databases, propagates updates and deletes, recovers state, and maintains a queryable output dataset.

    System DesignOnsite
  • AxonMediumSoftware Engineer
    Answer tough self-awareness and team questions

    This question evaluates self-awareness, maturity, and interpersonal leadership competencies within the Behavioral & Leadership domain, focusing on the ability to acknowledge misunderstandings about oneself and to articulate team shortcomings without defensiveness.

    Behavioral & LeadershipOnsite
  • AxonMediumSoftware Engineer
    Design Reliable Upload and Download for Very Large Files

    Design resumable upload and range-based download for files too large to transfer reliably in one request. Cover chunk identity, integrity hashes, idempotent completion, authorization, committed-file visibility, object-storage layout, and cleanup of abandoned sessions.

    System DesignTechnical Screen
  • AxonHardSoftware Engineer
    Design a Nearest-Timestamp Status Record Service

    Design a high-throughput time-series ingestion and query service that handles out-of-order, duplicate officer telemetry and returns the record closest in time to a requested query timestamp.

    System DesignTechnical Screensystem-designtime-seriesdistributed-systems