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 151–180 of 1026 results

  • Applied IntuitionMediumSoftware Engineer
    Build an Ingestion Service and Timestamp-Indexed Query API for MCAP Driving Logs

    A hands-on build exercise over recorded vehicle drive logs stored in MCAP, with Protobuf-encoded camera and location messages. The candidate ingests the runs, designs storage and a time index, exposes APIs to list runs and query messages by timestamp, then demos the result and explains how they worked with an AI coding assistant.

    Software Engineering FundamentalsOnsite
  • Applied IntuitionMediumSoftware Engineer
    Build and present a minimal vehicle log playback app from S3 data in two hours

    Given two hours, an AI coding assistant and an S3 bucket of unfamiliar vehicle log data, build a minimal 3D log playback app and then present it in 30 minutes. The exercise tests data exploration, tight scoping, verifying AI-generated code, and explaining trade-offs and future work clearly.

    Software Engineering FundamentalsOnsite
  • Applied IntuitionMediumSoftware Engineer
    Design Parsing Boundaries for Interdependent Message Types

    Design parsing and type-resolution boundaries for interdependent message definitions, clarifying schema versus encoded input, forward references, recursion, and validation.

    Software Engineering FundamentalsTechnical Screen
  • Applied IntuitionMediumSoftware Engineer
    Design a C++ Ring Buffer for Producer-Consumer Use

    This problem tests your understanding of multi-threaded synchronization primitives, memory ordering, and circular buffer logic in a low-latency environment.

    Software Engineering FundamentalsTechnical ScreenC++ConcurrencyLock-free
  • Applied IntuitionMediumSoftware Engineer
    Design a Streaming TLV Message Reassembler in C

    Implement an in-memory reassembler in C that reconstructs out-of-order chunked TLV messages, validates chunk bounds and duplicates, and detects message completion.

    Software Engineering FundamentalsTechnical ScreenCSystems ProgrammingNetworking
  • Applied IntuitionMediumSoftware Engineer
    Design a Transactional Key-Value Store

    This problem tests the ability to design an in-memory key-value store that supports nested transactions, including atomic commits, rollbacks, and precise state management across layers.

    Software Engineering FundamentalsTechnical ScreenData StructuresSystem DesignTransactions
  • Applied IntuitionEasySoftware Engineer
    Design a mini compiler/interpreter

    This question evaluates understanding of language design and implementation skills, including lexical analysis, parsing into an AST, expression evaluation with operator precedence and unary operators, variable assignment semantics, and runtime error reporting.

    Software Engineering FundamentalsOnsite
  • Applied IntuitionMediumSoftware Engineer
    Locate Cars with a Boolean Square-Scan API

    Implement and analyze a quadtree-based search algorithm that locates all vehicles on a 2D grid using a Boolean square-scan API.

    Software Engineering FundamentalsTechnical Screenrecursiondivide-and-conquerquadtree
  • Applied IntuitionMediumSoftware Engineer
    Protobuf-Style Schema: Look Up Message Sizes and Field Types, Then Parse the Schema

    Implement size and field-type lookups over a simplified protobuf-style schema in which messages embed other messages, then write the parser that builds the schema from raw text. Tests schema data modeling, handling of nested, cyclic and unknown message references, clear error behavior, and robust parsing of proto-like definitions.

    Software Engineering FundamentalsTechnical Screen
  • Applied IntuitionHardSoftware Engineer
    Scale a Grid Fire-Spread Simulation Past What Fits in Memory

    Scale a working small-grid cellular-automaton fire-spread simulation to a dense multi-million-cell board that no longer fits in memory, by computing each generation with a three-row sliding window read from one file and streamed into another. Tests memory estimation and disk-backed algorithm redesign without changing the core update rule.

    Software Engineering FundamentalsTechnical Screensimulationstreamingfile-io
  • AristaEasySoftware Engineer
    Explain C printf pointers and memory layout

    This question evaluates understanding of C pointer semantics, printf format-specifier behavior, memory layout and allocation differences, and practical debugger usage for inspecting addresses and bytes, within the Software Engineering Fundamentals domain.

    Software Engineering FundamentalsTechnical Screen
  • AristaHardSoftware Engineer
    Implement and Defend a Generic C++ Stack

    Implement a dynamically growing generic C++ stack with raw storage and correct object lifetime management. The deep-dive covers self-referential insertion, exception safety, move ownership, allocation mechanisms, reference validity, capacity overflow, and the distinction between language guarantees and ABI behavior.

    Software Engineering FundamentalsTechnical Screen
  • ArizeMediumSoftware Engineer
    Coordinate Three Threads to Print an Ordered Sequence

    This problem tests knowledge of multi-threaded synchronization, specifically the use of condition variables and mutexes to enforce strict ordering among three distinct threads.

    Software Engineering FundamentalsTechnical ScreenConcurrencyMultithreadingSynchronization
  • ArmEasySoftware Engineer
    Explain GPU pipeline and execution hazards

    This question evaluates understanding of GPU architecture concepts including the graphics pipeline from vertices to pixels, register read-after-write hazards in pipelined execution, memory behavior, throughput considerations, and execution scheduling, reflecting competency in computer graphics and parallel processor design.

    Software Engineering FundamentalsHR Screen
  • AsanaMediumSoftware Engineer
    Design a 2048 Game

    This question evaluates object-oriented design, state management, deterministic randomness handling, and algorithmic reasoning for implementing game rules on a configurable N x N grid.

    Software Engineering FundamentalsOnsite
  • AsanaMediumSoftware Engineer
    Design a Layered ASCII Canvas Command Processor

    Design a clean, object-oriented command processor for a fixed 10x6 ASCII canvas that supports drawing, layering, and rendering overlapping filled rectangles.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignData StructuresSoftware Architecture
  • AsanaMediumSoftware Engineer
    Design a Testable 2048 Game Engine

    This problem tests object-oriented design principles, state management, and the ability to decouple business logic from external dependencies like random number generation to ensure testability.

    Software Engineering FundamentalsTechnical ScreenOOPDesign PatternsTestability
  • AsanaMediumSoftware Engineer
    Design an Extensible Animal-Chess Game Engine

    This question tests your ability to design a decoupled, extensible object-oriented system that separates game state, rule validation, and game flow logic.

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignDesign PatternsSoftware Architecture
  • AsanaMediumSoftware Engineer
    Explain code complexity and design two games

    This multi-part question evaluates code comprehension and algorithmic complexity analysis alongside object-oriented design competencies for interactive applications, covering skills in analyzing time and space complexity, class modeling, API design, and state management.

    Software Engineering FundamentalsTechnical Screen
  • AsanaMediumSoftware Engineer
    Find frequent IPs from a huge file

    This question evaluates a candidate's competency in large-scale data processing and algorithm design, focusing on memory- and disk-constrained frequency estimation, streaming and approximation concepts.

    Software Engineering FundamentalsOnsite
  • AsanaMediumSoftware Engineer
    Model a Turn-Based Cats and Rabbits Board Game

    Design the object model, game state invariants, and move-validation engine for an asymmetric turn-based grid game played on a 7x7 board.

    Software Engineering FundamentalsOnsiteobject-oriented-designgame-designstate-machine
  • AsanaMediumSoftware Engineer
    Model and Solve a Rectangular Jigsaw Puzzle

    This problem tests object-oriented modeling skills and the ability to implement a backtracking algorithm with state pruning for a combinatorial search task.

    Software Engineering FundamentalsTechnical ScreenBacktrackingOOPRecursion
  • AsanaMediumSoftware Engineer
    Object-Oriented Design of a Two-Player Chess Game and Its Move Rules

    A low-level design exercise asking for the classes, responsibilities and core code of a two-player chess program. It tests object modeling of pieces, board and game state, move validation including check and special moves, checkmate and stalemate detection, and keeping the design open to undo, network play or a computer opponent.

    Software Engineering FundamentalsOther
  • AtlassianMediumSoftware Engineer
    Design a CI/CD release notification service

    This problem evaluates your ability to design a flexible, object-oriented notification service that handles varying event triggers and subscriber preferences in a release pipeline.

    Software Engineering FundamentalsOnsiteSystem DesignDesign PatternsCI/CD
  • AtlassianMediumSoftware Engineer
    Design a Music Player with Queue, Loop, and Shuffle

    Design music-player objects and state transitions for play, pause, queue, looping, and shuffle, with stubbed audio and deterministic tests.

    Software Engineering FundamentalsTechnical Screen
  • AtlassianMediumSoftware Engineer
    Evaluate Architecture and Capacity Trade-offs

    This problem tests your ability to design a document storage and processing system, specifically focusing on capacity estimation, deduplication strategies, and security considerations.

    Software Engineering FundamentalsOnsiteSystem DesignCapacity PlanningSecurity
  • 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
    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
  • Axq CapitalMediumSoftware Engineer
    Row-Wise vs Column-Wise Array Reads, L1/L2 Caches, and the TLB

    Compare horizontal and vertical reads of a large two-dimensional array, explain how L1 and L2 caches differ from main memory, and describe what the TLB does and what a TLB miss costs. It tests understanding of cache lines, locality, prefetching, address translation, and practical fixes for memory-bound code.

    Software Engineering FundamentalsHR Screen