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 361–390 of 1208 results
This question tests the ability to design a thread-safe, high-performance cache that maintains frequency metadata alongside data, requiring an understanding of efficient data structures and concurrency control.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteTests designing an in-memory index that tracks direct and referral revenue across customers and efficiently supports threshold-bounded minimum revenue queries using balanced search trees.
DatabricksSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a concurrent, in-memory key-value store that tracks read-access frequency using a sliding-window hit counter per key while keeping memory footprint bounded.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign and implement a concurrent write-ahead log (WAL) engine featuring group commit, monotonic sequence assignment, torn-tail crash recovery, and explicit durability promises.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your ability to design a thread-safe, high-throughput logging system that balances memory efficiency with I/O performance under concurrent load.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question tests your understanding of OS-level file I/O operations, the risks of concurrent writes to the same file descriptor, and how to implement robust thread-safe mechanisms to maintain file integrity.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteGiven a SQL query represented as a tree of scan, filter, project and join nodes, write runnable rewrites that prune unused columns from every scan and push filter conditions down toward the tables. Tests query-optimizer fundamentals, recursive tree rewriting and preserving query results.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement resilient autocomplete fetching with a quiet period, bounded retries, newest-query precedence, and reuse of recent results. Cover empty input, out-of-order responses, cancellation during waits and requests, error classification, freshness and capacity policies, unmount safety, accessibility, shared requests, and responsive ranking.
DatabricksFrontend EngineerSoftware Engineering FundamentalsOnsiteDesign and implement a thread-safe, buffered logger that aggregates concurrent writes across multiple threads and flushes them to disk efficiently with documented ordering guarantees.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign a set of integers with amortized constant-time add and remove whose iterators capture the exact contents at creation time without copying, stay independent of later changes and of each other, and fit in linear total space. Also compares a shared history log with per-key logs.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a robust recursive tree-deletion algorithm using a restricted set of filesystem primitives. This question tests post-order traversal, managing call-stack and heap memory across deep and wide directory structures, and handling edge cases cleanly.
DatadogSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a TextEditor class with a single cursor that supports typing a character, backspace, and rendering the text with a | at the cursor, then extend it with left/right and up/down cursor movement. Tests choice of representation, per-operation cost, and boundary handling across lines of different lengths.
DatologyaiSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a text editor class that types characters at a cursor, deletes with backspace, and renders the text with a bar marking the cursor. Follow-ups add left/right and then up/down cursor movement, testing the choice of data structure for cheap edits, boundary handling, and line-aware navigation.
DatologyaiSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenGiven a minimal mock of a Spark RDD with only flatMap, groupByKey, union and collect, implement a word count function and a duplicate-preserving intersect of two RDDs. Tests composing transformations without map or reduce, tracking which input an item came from, and reasoning about the cost of grouping.
DatologyaiSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign and implement an in-memory shopping cart that supports nested transactions via begin, commit, and abort operations with proper scope isolation.
DecagonSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenSend a list of outbound messages to a provider that only accepts five per call, then retry failed messages only after the provider's own per-message cooldown has elapsed. Tests chunking, scheduling retries by readiness time instead of busy-waiting, and handling partial batch failures cleanly.
DecagonSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign an in-memory versioned shopping cart that aggregates recipe ingredients for bulk discounts, supports atomic mutations, and allows rolling back and checking out earlier cart snapshots efficiently.
DecagonSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA practical coding exercise: send a list of requests to an API that accepts at most five per call, then retry failed requests only after the per-request delay returned by the API. It tests batching, retry scheduling with timestamps, waiting without busy loops and clean handling of partial failures.
DecagonSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA coding exercise to build a shopping cart class whose add and remove operations can be undone and redone. It tests how history entries are represented, how capped removals and deleted lines are reversed exactly, what a new change does to the redo history, and how empty-history cases are handled.
DecagonSoftware EngineerSoftware Engineering FundamentalsOnsiteWrite a backtracking solver for 3x3 tic-tac-toe that determines the result of a given position under perfect play by both sides and returns a best move for the player to move. It tests win detection, recursive game-tree search, undoing moves correctly, and reasoning about search cost, memoization and pruning.
DecagonSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests in-depth understanding of Linux operating system virtualization mechanisms, contrasting hardware-level hypervisors with OS-level container isolation primitives across security, performance, and operational dimensions.
DeshawSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests end-to-end understanding of Linux OS fundamentals, systems programming concepts, system calls, and how a POSIX shell interacts with the kernel to execute a command.
DeshawSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates proficiency in Java programming and software engineering fundamentals, covering competencies such as refactoring for changing requirements, input validation, performance analysis for large datasets, selection of Java collections, generics, exception design, and unit testing.
Deutsche BankSoftware EngineerSoftware Engineering FundamentalsOnsiteClarify replacement and substring semantics, then analyze the conditional sliding-window criterion based on window size and maximum character frequency.
DigitaloceanSoftware EngineerSoftware Engineering FundamentalsOnsiteClarify house layout and selection conflicts, derive a conditional linear dynamic program, and explain how circular or graph constraints change it.
DigitaloceanSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates a candidate's proficiency with AI-assisted coding workflows, including prompt formulation, tool and library selection, design critique, testing approaches, and iterative feature development to demonstrate engineering judgment and ownership.
DiscordSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates mastery of C++ low-level memory concepts—memory alignment, padding and struct/class layout—and understanding of ABI stability, including calling conventions, name mangling, vtable layout and other binary compatibility concerns, reflecting competence in systems-level C++ and binary interfacing.
DiscordSoftware EngineerSoftware Engineering FundamentalsHR ScreenThis question assesses the candidate's depth in database architecture, specifically regarding isolation levels and race conditions, while testing their methodology for validating code generated by AI or external tools.
DiscordSoftware EngineerSoftware Engineering FundamentalsHR ScreenThis question tests the ability to design a performant, reactive frontend component that handles data manipulation, asynchronous API integration, and efficient DOM rendering.
DisneySoftware EngineerSoftware Engineering FundamentalsOnsiteDescribe infrastructure-as-code experience through reviewed changes, state management, cloud validation, drift, partial failures, and honest ownership.
DisneySoftware EngineerSoftware Engineering FundamentalsHR Screen