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 31–60 of 448 results
- AndurilMediumSoftware EngineerExplain Hash Map Collisions and Operation Complexity
Tests in-depth understanding of hash table internals, comparing collision resolution mechanisms, deletion strategies, dynamic resizing, and operation complexities under expected and adversarial conditions.
Software Engineering FundamentalsOnsiteData StructuresHash MapsAlgorithms - AnthropicMediumSoftware EngineerBatch Image Resize and Rotate with Pillow: Exact Dimensions, Parallelism, Bad Files
A three-part Python image processing exercise: resize and rotate images with Pillow while predicting the exact printed dimensions, speed up a large batch with multiprocessing and a staged pipeline, then keep the batch running through corrupt, oversized and unsupported files. It tests API precision, parallelism and robustness.
Software Engineering FundamentalsOnsite - AnthropicHardSoftware EngineerBatch-Apply Pillow Image Transforms, Then Parallelize: Processes vs Threads
A Python coding exercise that applies a given sequence of Pillow transforms to a folder of cat images and then asks you to cut the total processing time. It tests clean per-image code, reasoning about CPU-bound work and the GIL, choosing between processes and threads, and sizing a worker pool.
Software Engineering FundamentalsOnsite - AnthropicMediumSoftware EngineerBuild 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 EngineerCompare 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 EngineerCompute 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 EngineerCompute 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 EngineerConvert 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 EngineerDebug 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 EngineerDebug 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 EngineerDesign 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 - AnthropicMediumMachine Learning EngineerExplain multithreading vs multiprocessing
This question tests your conceptual understanding of how process-based and thread-based concurrency models leverage hardware resources and their respective trade-offs in the context of Python and high-performance ML workloads.
Software Engineering FundamentalsOnsiteConcurrencyPythonOperating Systems - AnthropicMediumSoftware EngineerFind 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 EngineerFix 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 EngineerFunction-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 EngineerHow 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 - AnthropicMediumSoftware EngineerMake 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 EngineerMode, 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 EngineerParallelize 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 EngineerResolve 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 EngineerReuse 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 EngineerReview 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 EngineerSame-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 EngineerScale 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 - AppleHardSoftware EngineerASIC 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 - AppleHardSoftware EngineerExplain How TLS Secures a Connection: Handshake, Certificates and Keys
Explain in detail how TLS establishes a secure connection and protects the data that follows: the handshake messages and round trips, certificate chain validation, ephemeral key exchange and key derivation, record encryption, forward secrecy, and how TLS 1.3 differs from TLS 1.2.
Software Engineering FundamentalsOnsite - AppleHardSoftware EngineerExplain thermal and signal fundamentals
This question tests the ability to bridge hardware constraints with firmware design, covering thermal management, signal integrity, communication protocol trade-offs, and data interpretation.
Software Engineering FundamentalsOnsiteEmbedded SystemsHardware FundamentalsSignal Integrity - AppleMediumSoftware EngineerImplement a Five-Minute Hit Counter
This problem tests your ability to design a high-throughput, time-series data structure that balances memory usage with query performance.
Software Engineering FundamentalsOnsiteData StructuresConcurrencyTime-Series - AppleHardSoftware EngineerImplement a Mutual-Exclusion Lock Without Built-In Locks
Implement a mutual-exclusion lock without any built-in lock, mutex or semaphore, relying only on atomic operations. Tests atomic read-modify-write, memory ordering, spinning versus sleeping waiters, fairness, reentrancy, and software-only mutual exclusion when atomic instructions are unavailable.
Software Engineering FundamentalsOnsite - AppleHardSoftware EngineerImplement a Reusable Cyclic Barrier from a Mutex and Condition Variables
Implement a reusable cyclic barrier from a mutex and condition variables, where a fixed number of threads block until all have arrived and are then released together. Tests round tracking for safe reuse, spurious wakeups, timeout and broken-barrier semantics, an atomics-only variant and concurrency testing.
Software Engineering FundamentalsOnsite