Topic
Software Engineering Fundamentals interview questions
1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.
123 easy887 medium198 hard
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
Most mentioned in interview experiences
- 1.Plant Infection Grid Simulation: Days to Stabilize, Immune Plants, Expiring Immunity5 reports
- 2.Bootstrap Service: Aggregate Downstream Services and Return the Right HTTP Status4 reports
- 3.Crawl an HTTP-served maze to its exit with 503 retries, dead ends and cycles4 reports
- 4.Find the Exit of an HTTP URL Maze Despite Flaky 503s and Bad JSON4 reports
- 5.In-Memory Workspace Credit System With Transfers, Top-K and Scheduled Transfers4 reports
- 6.Virtual Card Case Study: Trade-offs, Card Number Rule Checks, and Debugging a Filter4 reports
- 7.Virtual Card Numbers Case: Trade-offs, Payment Validation Rules, Debugging4 reports
- 8.Workspace Credit Ledger: Transfers, Top-K, Scheduled Transfers, Merges, Balance History4 reports
- 9.Build a UVM testbench: driver, monitor, scoreboard and coverage-driven closure3 reports
- 10.Debug a Layered Book Search Service Against Five Search Rules3 reports
Counted from 425 candidate interview experiences on Katkat. How we collect and count
Showing 121–150 of 1208 results
Implement a thread-safe pipeline execution engine that caches deterministic intermediate prefix results, deduplicates concurrent in-flight computations, and manages a bounded LRU cache.
AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsiteTests code review rigor, ability to audit AI-generated code for subtle regressions and security/type soundness, and hands-on refactoring with test-driven verification.
AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsiteBuild 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.
AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign 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.
AnthropicSoftware EngineerSoftware Engineering FundamentalsOnsiteThis 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.
AntraSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your understanding of interface design, the Liskov Substitution Principle, and proper usage of Java Collections in a Spring-managed context.
AntraSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenReview 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.
AppleSoftware EngineerSoftware Engineering FundamentalsOnsiteThis 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.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests recursive component design in React, state management for nested data structures, and the implementation of WAI-ARIA standards for accessible UI components.
AppleFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenBuild 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.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis 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.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to implement a weighted sampling algorithm efficiently and write testable code by decoupling randomness.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates object-oriented design skills, understanding of randomness and probability in algorithms, and analysis of time/space complexity for data structures and operations.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your understanding of critical path rendering optimization for cold loads and memory management strategies for handling massive datasets in a browser environment.
AppleFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates understanding of hash map internals—how keys are mapped to buckets, collision resolution strategies, and when and why resizing occurs—testing competence in data structures and performance engineering within the Software Engineering Fundamentals domain.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenExplain 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.
AppleSoftware EngineerSoftware Engineering FundamentalsOnsiteTests deep understanding of the JavaScript runtime, specifically lexical scope, closures, the distinction between task and microtask queues in the event loop, and browser script loading mechanics.
AppleFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests the conceptual differences between Java concurrency interfaces and the practical implementation of thread-safe creational design patterns.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates proficiency with SystemVerilog verification concepts — including concurrency primitives, constrained-random modeling, assertions, OOP features, synchronization primitives, and testbench architecture — and tests the ability to specify non-overlapping/randomized constraints and reason about solve-order and sampling semantics; it is commonly asked because interviewers seek assurance that a candidate can build correct constrained-random testbenches and diagnose simulation or coverage issues. Category/domain: Software Engineering Fundamentals with a focus on hardware design verification; level of abstraction: language-level implementation details and testbench architecture/behavioral verification concerns.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question assesses a candidate's deep understanding of the React ecosystem, covering reconciliation, hook lifecycles, and robust error management strategies.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests the ability to bridge hardware constraints with firmware design, covering thermal management, signal integrity, communication protocol trade-offs, and data interpretation.
AppleSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates understanding of clock domain crossing and digital system design competencies, focusing on metastability, synchronization techniques (such as flip-flop synchronizers, edge detection, asynchronous FIFOs, and request/acknowledge handshakes) and the trade-offs among reliability, latency, throughput, and area.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDecide how a Kubernetes pod should obtain a token for calling an external service. Tests knowledge of Secrets delivered as volumes or environment variables, RBAC and encryption at rest, external secret managers, workload identity with projected service account tokens, and rotating the token without downtime.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates debugging skills and understanding of loop termination and control-flow correctness in Python, emphasizing practical familiarity with debugging tools and techniques for isolating faulty loop conditions.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates troubleshooting and diagnostic skills for embedded wireless systems, focusing on firmware behavior, testbed instrumentation, and measurement analysis.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a consistent hashing ring that maps string keys to server nodes with add, remove and lookup operations. Tests sorted-position lookup with wrap-around, deterministic hashing across processes, virtual nodes for load balance, operation complexity and how few keys move when membership changes.
AppleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to design a high-throughput, time-series data structure that balances memory usage with query performance.
AppleSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement 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.
AppleSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement 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.
AppleSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement 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.
AppleSoftware EngineerSoftware Engineering FundamentalsOnsite