Katkat

practice a little every day, paws crossed ♡

Software Engineering Fundamentals 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 61–90 of 448 results

  • AppleHardSoftware Engineer
    Implement a Thread-Safe Bounded Blocking Queue for Producers and Consumers

    Implement a thread-safe bounded blocking queue shared by multiple producer and consumer threads, built from a mutex and condition variables instead of a library concurrent queue. Tests wait and wakeup logic, spurious wakeups, FIFO ordering, shutdown handling and the OS mechanisms beneath blocking synchronization.

    Software Engineering FundamentalsOnsite
  • AppleHardSoftware Engineer
    Implement a Thread-Safe Event Tracker Over a Sliding Time Window

    Implement a thread-safe in-memory event tracker that records events and reports the events and their count within a sliding time window. Tests time-ordered storage with amortized eviction, window boundary semantics, lock scope and clock choice, out-of-order events, and memory under high event rates.

    Software Engineering FundamentalsOnsite
  • AppleMediumAccessories Software QA Engineer
    Improve QA Benchmarks, Regression Tests, and HPC Resource Use

    Explain functional regression testing, reproducible performance benchmarks, and how to reduce shared HPC resource use without weakening test coverage.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    LRU Cache with Fewer Recency Writes and Concurrent Access

    Implement a fixed-capacity least-recently-used cache with constant-time get and put, then discuss two follow-ups: cutting the shared-state writes that every read causes when it updates recency, and making the cache safe and fast under concurrent access, including how eviction order changes.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    Optimize QA Benchmarks and Shared HPC Usage

    Optimize QA benchmark turnaround and shared HPC usage by profiling execution, controlling resources, and separating runtime savings from faster reporting.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    Pin Down a Vague HTML Parser Prompt, Build the Element Tree, and Query It with DFS

    A coding exercise in which the HTML parser prompt is deliberately vague, so the candidate must first pin down input, output and edge cases with concrete examples. It tests building a tree from nested markup in one pass, handling void and malformed tags, and answering a query with a depth-first traversal.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    Reduce False Failures and Classify QA Outcomes

    Reduce regression false failures with reviewed acceptance rules, then classify causes and severity without confusing test categories with observed outcomes.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    Validate and Assess Performance Benchmarks

    Assess QA benchmark validity using comparable baselines, measurement variation, practical impact, and clear ownership of regression thresholds and known issues.

    Software Engineering FundamentalsOnsite
  • 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 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
  • ArmMediumBackend Engineer
    Explain timing and testability concepts

    This question evaluates a candidate's understanding of digital timing and testability concepts—specifically setup and hold timing, clock skew impacts, mitigation of setup/hold violations, and test methodologies such as scan, DFT and MBIST—within backend digital implementation contexts.

    Software Engineering FundamentalsOnsite
  • 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
    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
  • 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
    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
  • 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
  • BalyasnyHardSoftware Engineer
    Design a C++ Variant with Safe Object Lifetimes

    This problem tests your understanding of manual memory management, template metaprogramming, and the type safety requirements necessary to implement a discriminated union (variant) in C++.

    Software Engineering FundamentalsOnsiteC++TemplatesMemory Management
  • BasetenMediumSoftware Engineer
    One-pass S-expression parser with nested lists and precise error handling

    Implement a single-pass parser for simplified S-expressions in three stages: atoms, a parenthesized list, and arbitrarily nested lists, without splitting the input. The exercise centers on error handling: detecting invalid characters, malformed numbers, unclosed or unexpected parentheses and trailing input, and stopping with a precise error position.

    Software Engineering FundamentalsOnsite
  • BasetenMediumSoftware Engineer
    XOR-based random number generator used to encrypt and decrypt a tree document

    A two-part coding exercise: implement a pseudo-random number generator built from bit shifts and XOR, then use it as a keystream to encrypt and decrypt a tree-structured document so the original tree is restored exactly. It tests fixed-width bit manipulation, seeding, unambiguous serialization, and awareness of the security limits of hand-made ciphers.

    Software Engineering FundamentalsOnsite
  • BrexMediumSoftware Engineer
    Build a Simplified Venmo-Style Peer-to-Peer Payments App with AI Tools

    An AI-assisted coding round prompt: build a simplified Venmo-style peer-to-peer payments app with users, balances, payments and transaction history, using any AI coding tool. It tests scoping a vague prompt, exact money handling, atomic and idempotent payments under concurrency, and the ability to review and explain generated code.

    Software Engineering FundamentalsOnsite
  • ByteDanceHardSoftware Engineer
    Add TTL to an LRU cache

    This question evaluates a candidate's understanding of cache design, LRU eviction policies, time-to-live (TTL) semantics, appropriate data structures, time complexity reasoning, and concurrency control.

    Software Engineering FundamentalsOnsite
  • ByteDanceEasySoftware Engineer
    Debug and Extend a Priority-Aware Python Thread Pool

    This question tests your understanding of thread-safe synchronization primitives, priority queues, and robust resource management in a multi-threaded Python environment.

    Software Engineering FundamentalsOnsiteConcurrencyMultithreadingData Structures
  • ByteDanceEasySoftware Engineer
    Prepare for an SRE Systems Fundamentals Round

    This question tests your understanding of Linux process management, memory utilization, and the practical troubleshooting steps required to handle a production service experiencing memory exhaustion.

    Software Engineering FundamentalsOnsiteLinuxSREMemory Management
  • Capital OneMediumSoftware Engineer
    Analyze and Debug Virtual-Card Payment Rules

    Implement and debug a rule-validation engine for virtual card authorization that accurately parses currency strings into integer cents and evaluates spending boundaries and merchant restrictions.

    Software Engineering FundamentalsOnsitePythonData ParsingBoundary Conditions
  • Capital OneMediumSoftware Engineer
    Burner Card Numbers: Trade-offs, Hand Checks and a Buggy Validator

    A three-part fintech case: weigh the trade-offs of disposable card numbers, check sample numbers by hand against format, Luhn and issuer-range rules, then find three bugs in a filter that rejects valid numbers and accepts invalid ones.

    Software Engineering FundamentalsOnsitedebuggingluhnproduct-sense
  • Capital OneMediumSoftware Engineer
    Design a Banking Component with Transfers and Activity Rankings

    Design an in-memory banking service supporting account creation, deposits, atomic transfers, and activity rankings driven by a string-based command interface.

    Software Engineering FundamentalsOnsiteDesignHash TableSorting
  • Capital OneEasyMachine Learning Engineer
    How would you improve card-type detection?

    This question tests your ability to design a modular and maintainable classification system that identifies credit card networks (e.g., Visa, Mastercard) based on raw input data while considering validation and error handling.

    Software Engineering FundamentalsOnsiteData ValidationString ManipulationSystem Design