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 91–120 of 1026 results

  • AnthropicMediumSoftware Engineer
    Build a Resize-and-Rotate Image Pipeline with Multiprocessing

    Design a Pillow resize-and-rotate pipeline with explicit transform semantics, bounded multiprocessing, per-image failures, and safe output publication.

    Software Engineering FundamentalsOnsite
  • AnthropicMediumSoftware Engineer
    Compare Threads and Processes for Image Processing

    Tests operating system concurrency fundamentals, memory ownership models, IPC serialization overhead, and empirical benchmarking strategies for CPU-bound image processing pipelines.

    Software Engineering FundamentalsOnsiteconcurrencyoperating-systemsperformance
  • AnthropicHardSoftware Engineer
    Compute a Global Mode Across Distributed Partitions

    Compute an exact distributed mode with local frequency combining, key-based reducers, global winner selection, communication accounting, and skew-aware recovery.

    Software Engineering FundamentalsOnsite
  • AnthropicHardSoftware Engineer
    Compute an Exact Distributed Median with Limited Communication

    Compute an exact distributed median through global rank selection and count reductions, accounting for integer range, local search work, communication rounds, and even-size semantics.

    Software Engineering FundamentalsOnsite
  • AnthropicMediumSoftware Engineer
    Convert Sampled Call Stacks into Timestamped Function Start and End Events

    Convert a sampling profiler's timestamped call stacks into function start and end events for a trace viewer, explain why ends are emitted innermost first and starts outermost first, then redesign the converter for an unbounded stream. It tests stack diffing, recursion handling and streaming state.

    Software Engineering FundamentalsOnsite
  • AnthropicHardSoftware Engineer
    Debug Python LRU Cache-Key Construction

    Implement and debug a thread-safe, bounded LRU memoization decorator that generates canonical cache keys across equivalent argument patterns, distinguishes conflicting types, and avoids caching exceptions.

    Software Engineering FundamentalsOnsitepythonconcurrencycaching
  • AnthropicHardSoftware Engineer
    Debug Tokenization and Detokenization

    Implement and debug a prefix-based tokenizer and detokenizer class, ensuring deterministic longest-match greedy tokenization, strict vocabulary validation, explicit error handling for unencodable characters, and guaranteed round-trip fidelity.

    Software Engineering FundamentalsOnsitestring-algorithmstriesoftware-engineering
  • AnthropicMediumSoftware Engineer
    Design Distributed Sorting Around an Explicit Helper Contract

    Design and implement the coordination logic for a distributed range-based sort across multiple worker nodes, specifying the worker helper contract and handling key skew and duplicate values.

    Software Engineering FundamentalsOnsitedistributed-systemsalgorithmssystem-design
  • AnthropicMediumSoftware Engineer
    Design a Parallel Image Processor

    This problem tests your ability to design a thread-safe, parallelized image processing framework that handles neighborhood-based pixel operations without race conditions.

    Software Engineering FundamentalsTechnical ScreenConcurrencyMultithreadingImage Processing
  • AnthropicHardSoftware Engineer
    Explain CPU-Bound vs I/O-Bound Work

    This question evaluates understanding of CPU-bound versus I/O-bound workloads and their interaction with concurrency models such as multithreading, asynchronous I/O, and multiprocessing in Python, including the impact of the Global Interpreter Lock (GIL) and relevance to tasks like web crawling, parsing, and heavy computation.

    Software Engineering FundamentalsTechnical Screen
  • AnthropicMediumSoftware Engineer
    Find Duplicate Files by Content in a Directory Tree and Explain CPU vs I/O Costs

    Walk a directory tree and report every group of files with identical contents, printing nothing when there are no duplicates. It tests staged filtering by size and hashes, streaming reads of large files, link and error handling, and reasoning about whether the job is CPU-bound or I/O-bound.

    Software Engineering FundamentalsOnsite
  • AnthropicMediumSoftware Engineer
    Fix a Buggy LRU Cache, Then Make It Durable with a Write-Ahead Log

    Debug a flawed least-recently-used cache by finding each bug with a reproducing call sequence and fixing it, then make the cache durable across crashes with a write-ahead log and snapshots. It tests careful code reading, constant-time LRU design, crash-consistent persistence and recovery.

    Software Engineering FundamentalsOnsite
  • AnthropicHardSoftware Engineer
    Function-Call LRU Cache: Argument Key Generation and Crash Recovery from a Log

    A Python exercise that builds an LRU cache for memoizing function calls. Part one asks how to generate a reliable cache key from a function and its arguments; part two adds crash recovery through an append-only log file, testing record framing, durability, torn writes and replay of the cache state.

    Software Engineering FundamentalsOnsite
  • AnthropicHardSoftware Engineer
    How do you review a design document?

    This question assesses a candidate's ability to critically evaluate technical design documentation by identifying architectural risks, scalability bottlenecks, and gaps in operational planning.

    Software Engineering FundamentalsOnsiteSystem DesignCode ReviewReliability
  • AnthropicEasySoftware Engineer
    Implement a Duplicate-File Reporter

    Implement an efficient file system scanner that identifies duplicate files while minimizing disk I/O and gracefully handling filesystem errors.

    Software Engineering FundamentalsTechnical Screenfile-systemio-optimizationhashing
  • AnthropicMediumSoftware Engineer
    Make a Web Crawler Concurrent with Thread-Safe Visited State

    Convert a sequential crawler to bounded concurrency using atomic URL reservation, explicit retry state, and completion detection that accounts for active fetches.

    Software Engineering FundamentalsOnsite
  • AnthropicMediumSoftware Engineer
    Mode, Median and Sort Across 10 Nodes with Send/Receive While Minimizing Traffic

    Integers are spread across 10 nodes that communicate only by sending and receiving messages. Write the per-node programs that compute the exact mode, the median and a globally sorted order while sending as little data as possible. It tests MapReduce-style aggregation, distributed selection, sample sort and message coordination.

    Software Engineering FundamentalsOnsite
  • AnthropicMediumSoftware Engineer
    Parallelize a Directory Walker With Thread-Safe Visited Tracking

    Turn a sequential directory walker into a bounded-concurrency one, using an atomic reserve-before-expand step so two worker threads that reach the same directory at once never process it twice.

    Software Engineering FundamentalsOnsiteconcurrencythreadingshared-state
  • AnthropicMediumSoftware Engineer
    Resolve a Package Dependency Graph with Concurrent Fetches

    Discover a package's transitive dependency graph from a slow, flaky registry, first with a sequential BFS and then with a bounded pool of worker threads. Tests atomic visited-set reservation, explicit retry state, and correct termination detection with in-flight work.

    Software Engineering FundamentalsOnsiteconcurrencythreadinggraph-traversal
  • AnthropicMediumSoftware Engineer
    Reuse Work Across Multiprocess Image Pipelines

    Implement a thread-safe pipeline execution engine that caches deterministic intermediate prefix results, deduplicates concurrent in-flight computations, and manages a bounded LRU cache.

    Software Engineering FundamentalsOnsiteconcurrencycachingsystem-design
  • AnthropicHardSoftware Engineer
    Review and Improve Four AI-Assisted TypeScript Pull Requests

    Tests code review rigor, ability to audit AI-generated code for subtle regressions and security/type soundness, and hands-on refactoring with test-driven verification.

    Software Engineering FundamentalsOnsiteTypeScriptCode ReviewConcurrency
  • AnthropicMediumSoftware Engineer
    Same-Host Web Crawler: Single-Threaded, Then Concurrent with a Thread-Safe Visited Set

    Build a web crawler that starts from one URL, follows links only on the same hostname, strips URL fragments and fetches each page once, first single-threaded and then concurrently. It tests graph traversal, URL normalization, a thread-safe visited set and correct termination of concurrent work.

    Software Engineering FundamentalsOnsite
  • AnthropicMediumSoftware Engineer
    Scale a Thumbnail-and-Watermark Pipeline With Worker Processes

    Design a batch pipeline that produces a resized thumbnail with a corner watermark for every uploaded photo, then extend it to run across a bounded pool of worker processes. Tests resource lifecycle, atomic output writes, per-item failure isolation, and what to pass between processes.

    Software Engineering FundamentalsOnsitemultiprocessingsystem-designpython
  • AntraEasySoftware Engineer
    Explain core Java and Spring fundamentals

    This question evaluates core competencies in Java and Spring, covering data structures and collections, object-oriented design (SOLID), hash-based collections and concurrency primitives, immutability and string handling, exception handling, Spring IoC/DI and AOP, bean lifecycle and annotations, and functional collection processing via the Stream API. Commonly asked in Software Engineering Fundamentals interviews for backend Java/Spring roles, it checks both conceptual understanding and practical application by assessing architectural reasoning, concurrency and thread-safety knowledge, and familiarity with framework conventions and APIs.

    Software Engineering FundamentalsTechnical Screen
  • AntraMediumSoftware Engineer
    Java and Object-Oriented Design Fundamentals

    This problem tests your understanding of interface design, the Liskov Substitution Principle, and proper usage of Java Collections in a Spring-managed context.

    Software Engineering FundamentalsTechnical ScreenJavaSpringSOLID
  • AppleHardSoftware Engineer
    ASIC Verification Fundamentals Across SystemVerilog UVM CDC and Architecture

    Review a broad ASIC verification set covering SystemVerilog semantics, UVM lifecycle and communication, random constraints, clock-domain crossing, FIFO sizing, timing, clock division, cache coherence, and pipeline hazards. Strong responses distinguish simulation from hardware, define assumptions, derive quantities, compare trade-offs, and use precise examples.

    Software Engineering FundamentalsOnsite
  • AppleMediumSoftware Engineer
    Answer OoO, caches, and memory-system questions

    This question evaluates core computer-architecture and system-level skills—covering out-of-order execution structures, branch prediction (gshare) mechanics, register renaming/RAT tracing, VLIW versus superscalar tradeoffs, cache coherence protocols, load/store subsystem behavior, copy-on-write after fork, cache indexing math, VIPT aliasing, and asynchronous FIFO design—and is categorized under Software Engineering Fundamentals. It is commonly asked because it probes a candidate’s microarchitectural and OS understanding, performance reasoning, and ability to explain low-level (microarchitecture and system-level) concepts and interactions without requiring full ISA-specific implementations.

    Software Engineering FundamentalsTechnical Screen
  • AppleEasySoftware Engineer
    Cafe Open-Now Check: Split Shifts and Midnight-Crossing Hours

    Build an 'is the cafe open right now' check across three stages of growing complexity -- one fixed daily window, then select weekdays, then multiple shifts per day including windows that cross midnight. Tests clean incremental time modeling more than any single clever algorithm.

    Software Engineering FundamentalsTechnical Screentimemodelingintervals
  • AppleMediumSoftware Engineer
    Describe common RTL lint warnings and errors

    This question evaluates understanding of RTL static analysis and common lint warnings/errors in Verilog/SystemVerilog, testing competence in diagnosing issues such as modules treated as black boxes, combinational loops, and width mismatches.

    Software Engineering FundamentalsTechnical Screen
  • AppleMediumSoftware Engineer
    Design a Population-Weighted Random Country Picker

    This problem tests your ability to implement a weighted sampling algorithm efficiently and write testable code by decoupling randomness.

    Software Engineering FundamentalsTechnical ScreenAlgorithmsBinary SearchProbability