Katkat

Topic

Software Engineering Fundamentals interview questions

1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.

Questions1208

123 easy887 medium198 hard

Your progress0/1208

Software Engineering Fundamentals interview questions by the numbers

Last updated

Katkat has 1,208 Software Engineering Fundamentals interview questions from 253 companies; the most come from OpenAI (5%), Stripe (4%) and Amazon (3%). By difficulty: 10% easy, 73% medium and 16% hard. The most common round is Technical Screen (52%). Frequent concepts include Data Structures, Concurrency, System Design and Algorithms.

Companies (253)

Difficulty

  • Easy10% · 123
  • Medium73% · 887
  • Hard16% · 198

Interview rounds

  • Technical Screen52% · 625
  • Onsite37% · 448
  • Online Assessment8% · 96
  • HR Screen2% · 28
  • Other1% · 11

Roles

  • Software Engineer85% · 1026
  • Frontend Engineer4% · 51
  • Machine Learning Engineer2% · 30
  • Backend Engineer2% · 25
  • Data Scientist1% · 17

Frequent concepts

  • Data Structures8% · 97
  • Concurrency8% · 96
  • System Design8% · 93
  • Algorithms3% · 42
  • API Design3% · 42
  • Object-Oriented Design3% · 35

Showing 91–120 of 1208 results

  • Given the abstract syntax tree of an arithmetic expression as a binary tree, write a traversal that returns an equivalent simplified tree using constant folding and algebraic identities. It tests recursive tree processing, cascading rewrites, correct handling of non-commutative operators and recursion-depth limits.

    AmazonSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Implement a static validation engine that inspects an Abstract Syntax Tree (AST) representation of AI-generated code to enforce security, safety, and complexity boundaries.

    AmazonSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests your ability to identify state synchronization issues in nested class structures and implement a thread-safe extension to existing class logic.

    AmericanSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design an extensible object-oriented order pricing system for a pizzeria that models pizzas, applies four distinct discount policies with specific composition rules, and returns an itemized, explainable receipt.

    AmericanSoftware EngineerSoftware Engineering FundamentalsOnline Assessment
  • Design an object-oriented Minesweeper game engine featuring state management, board generation, flood-fill cell revealing, and testable boundaries.

    AmperitySoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Tests your ability to identify common JavaScript memory leak patterns—such as detached DOM trees, uncleared event subscriptions, and unbounded closures—and verify resolution using browser heap profiling techniques.

    AndurilFrontend EngineerSoftware Engineering FundamentalsOnsite
  • Tests in-depth understanding of hash table internals, comparing collision resolution mechanisms, deletion strategies, dynamic resizing, and operation complexities under expected and adversarial conditions.

    AndurilSoftware EngineerSoftware Engineering FundamentalsOnsite
  • A callback-based batching exercise: implement start_fetch(key, callback) so that lookups made within a 100 ms window are sent to a /get?keys= endpoint as one HTTP request, using only http_get_request and set_timeout. It tests timer scheduling, per-key callback bookkeeping and keeping overlapping in-flight batches apart on an event loop.

    AnrokSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

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

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

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

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

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

    AnthropicSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    AnthropicMachine Learning EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

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

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

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

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsite

More topics