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 481–510 of 2810 results

  • AtlassianMediumSoftware Engineer
    Determine whether a word exists in a letter grid

    Implement a backtracking search to determine if a target word can be formed by sequentially adjacent cells in a 2D character grid without reusing any cell.

    Coding & AlgorithmsTechnical Screenbacktrackingdfsmatrix
  • AtlassianMediumSoftware Engineer
    Diagnose why a scaled system became slow

    Tests systematic incident triage, observability strategies, and root-cause analysis across distributed tiers (caching, connection pools, databases, compute) when a scaled service suffers severe latency degradation.

    System DesignTechnical Screensystem-designobservabilityperformance-debugging
  • AtlassianHardSoftware Engineer
    Ensure thread-safe updates to org hierarchy

    Ensure thread-safe updates to org hierarchy evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • AtlassianEasySoftware Engineer
    Filter Invalid Data Events

    Tests your ability to implement a multi-condition event filtering and deduplication pipeline while preserving input order, along with complexity analysis for batch and stream processing.

    Coding & AlgorithmsTechnical Screenhash-tabledata-processingarrays
  • AtlassianMediumSoftware Engineer
    Find nearest common manager for multiple employees

    This question evaluates proficiency in tree and graph algorithms (lowest common ancestor), input validation for hierarchical data (cycle and disconnected component detection), API design for constructing and querying trees, and algorithmic time/space complexity analysis.

    Coding & AlgorithmsTechnical Screen
  • AtlassianMediumSoftware Engineer
    Find smallest common organization for employees

    This problem tests your ability to navigate hierarchical structures and find the Lowest Common Ancestor (LCA) in a tree or a directed acyclic graph representing organizational reporting lines.

    Coding & AlgorithmsTechnical ScreenTreeLCADFS
  • AtlassianMediumSoftware Engineer
    Highlight the Shortest Unique Substring in Each Label

    Find and highlight the shortest case-insensitive unique substring in each label using bracket notation, breaking ties by earliest index and preserving original casing.

    Coding & AlgorithmsTechnical Screenstringshash-tabletrie
  • AtlassianMediumSoftware Engineer
    Implement sequential and parallel URL requests

    Implement an asynchronous batch URL fetcher that executes requests with bounded concurrency, deduplicates network calls, preserves input order, and handles per-request errors gracefully.

    Coding & AlgorithmsTechnical Screenconcurrencyasync-awaitnetworking
  • 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
  • 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
  • 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
  • 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
  • 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
  • AxonMediumSoftware Engineer
    Design a Test Orchestration System

    This question evaluates system design and backend engineering competencies, including distributed orchestration, scheduling, scalability, reliability, operational monitoring, API design, and data modeling for a test orchestration service; it is categorized under System Design and related domains such as distributed systems and CI/CD platforms.

    System DesignTechnical Screen
  • AxonHardSoftware Engineer
    Design a tamper-evident video chain-of-custody audit system

    Design a tamper-evident video chain-of-custody audit system evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • AxonHardSoftware Engineer
    Design an airline booking system

    This question evaluates a candidate's ability to design scalable, consistent, and resilient distributed systems for transactional domains, emphasizing API design, data modeling, concurrency control, idempotency, seat inventory guarantees, and external integrations like payments and ticketing.

    System DesignTechnical Screen
  • AxonHardSoftware Engineer
    Design an e-commerce analytics warehouse

    The question evaluates data engineering and analytics competencies including event schema design, session and identity stitching, dimensional modeling, ingestion pipelines, and operational concerns such as deduplication, partitioning, and handling late or out‑of‑order events.

    Analytics & ExperimentationTechnical Screen