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 511–540 of 1208 results
Tests string search algorithms, interval merging techniques, and clean API design for formatting highlighted spans in text without redundant or malformed tags.
HarveySoftware EngineerSoftware Engineering FundamentalsTechnical ScreenBuild an in-memory variable resolver for a CI configuration system in three stages: plain integer variables, expression variables that reference other variables, then cycle detection with recomputation limited to the affected dependents. Checks whether a candidate can grow a design incrementally, respect a correct computation order, and reason about a dependency graph under change.
HarveySoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA three-part coding exercise: build a mini spreadsheet with set_cell and get_cell, add formulas that sum constants and cell references with values computed eagerly in set_cell, and detect and reject circular dependencies. It tests dependency graphs, ordered recomputation and cycle checks.
HarveySoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement an in-memory spreadsheet class in three steps: set and get integer cell values, support formulas that reference other cells, and reject any write that would create a circular reference while leaving the sheet unchanged. It tests dependency tracking, update propagation and cycle detection.
HarveySoftware EngineerSoftware Engineering FundamentalsTechnical ScreenBuild an in-memory spreadsheet class in three stages: integer cells with set_cell and get_cell, formula cells such as =B1+C1+1 with explicit handling of never-set cells and recomputation on every write, then cycle detection and recomputing only dependent cells. Tests incremental design, evaluation order and dependency graphs.
HarveySoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement an O(n) sliding-window mean over a 32-bit float array containing IEEE-754 special values (+inf, -inf, NaN) without poisoning subsequent windows or suffering numerical drift.
HeadlandsData ScientistSoftware Engineering FundamentalsOnline AssessmentTests your ability to design and implement a thread-safe, dual fixed-window rate limiter and integrate it cleanly as HTTP middleware in an asynchronous Python framework.
HeadwaySoftware EngineerSoftware Engineering FundamentalsOnsiteTests your ability to resolve data staleness and synchronization bugs between denormalized cache records and immutable event snapshots, while establishing clear domain invariants and handling out-of-order writes.
HeadwaySoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your ability to design a thread-safe, memory-efficient rate limiter that manages hierarchical quotas using a rolling window mechanism.
HeadwaySoftware EngineerSoftware Engineering FundamentalsTechnical Screen- Build a GPU VM Fleet CLIMedium
This problem tests your ability to design a robust CLI interface and state management logic for an abstraction layer that interacts with multiple heterogeneous cloud GPU providers.
HeygenSoftware EngineerSoftware Engineering FundamentalsTechnical Screen This problem tests your ability to model resource scheduling under capacity constraints and optimize the assignment of tasks to workers over discrete time slots.
Hippocratic AiSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates concurrent programming and thread-safety skills within the Software Engineering Fundamentals domain, focusing on synchronization primitives, message delivery semantics, and coordination between publishers and subscribers at a practical application level.
Hot Agent StartupSoftware EngineerSoftware Engineering FundamentalsOnsiteA JavaScript fundamentals question that asks you to predict and explain how this is bound in method calls, detached calls, bound functions and arrow functions, trace property lookup through a prototype chain, and rewrite constructor-based inheritance with class syntax. It tests precise reasoning about core language behaviour.
HubSpotFrontend EngineerSoftware Engineering FundamentalsOnsiteTests deep C++ expertise in zero-allocation data structures, cache-line alignment, manual object lifecycle management via placement new, and the compilation/inlining implications of template-based designs.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests in-depth understanding of C++ raw pointers versus references, their language semantics, memory representations, and how to apply them to design safe, idiomatic, zero-cost APIs.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenCompare C++ virtual dispatch with CRTP across runtime flexibility, object layout, separate compilation, heterogeneous collections, inlining, code size, diagnostics, ABI stability, and measured performance.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question tests your understanding of concurrency primitives, operating system process models, memory isolation, context switching overheads, and the architectural trade-offs between threads and processes in low-latency systems.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests understanding of Python's execution timing, protocol methods, and resource cleanup across generators, decorators, and context managers, culminating in a robust lazy stream processor.
Hudson River TradingSite Reliability EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to efficiently traverse a grid while implementing conditional neighborhood logic and handling boundary constraints.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a slab-backed fixed-size allocator with constant-time free-list operations, correct stride and alignment, separate object lifetime, corruption defenses, concurrency choices, and efficient handling of nine-byte payloads.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsOnsiteTests understanding of low-level data structure design, memory layout, and trade-offs required to build a double-ended queue supporting strict O(1) random indexing and amortized O(1) push/pop operations.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests your ability to systematically diagnose, measure, and resolve CPU, memory, and I/O bottlenecks in high-throughput, low-latency systems.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests deep understanding of low-level systems and modern C++ fundamentals, focusing on compiler inlining mechanics, virtual memory paging, segmentation fault root causes, and standard library string memory layouts.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests deep understanding of OS virtual memory management, demand paging and swap mechanics, and low-latency C++ compiler optimizations centered around inlining and instruction cache trade-offs.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates knowledge of Python resource management (context managers and the with statement), React rendering and optimization concepts (hooks, memoization, and frontend performance), and on-call debugging and incident triage skills.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTrace a virtual-memory load through TLB lookup, page-table walking, MMU permission checks, cache and physical access, page-fault handling, context switches, huge pages, and cross-core shootdowns.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question tests your understanding of Linux filesystem internals, specifically how kernel-level storage reporting differs from user-space directory traversal.
Hudson River TradingSite Reliability EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests your understanding of virtual memory, the lifecycle of a segmentation fault, and your ability to diagnose memory corruption using standard tooling.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests divide-and-conquer optimization techniques to locate a local minimum in 1D and 2D arrays in sublinear time, requiring rigorous reasoning about termination and invariants.
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests candidate's ability to efficiently match string/digit prefixes between two collections of integers using hash sets or a prefix tree (Trie).
Hudson River TradingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen