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 811–840 of 1208 results
Design and implement a discrete grid simulation modeling a five-stage disease progression with state countdowns, immunity, delayed mortality, and external burn interventions.
OpenAIMachine Learning EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates geometric reasoning and probability theory skills, specifically transformation of random variables and derivation of CDF/PDF from angular sampling, together with practical competence in Monte Carlo simulation and interpretation of numerical and visualization artifacts; domain: Software Engineering Fundamentals.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteA progressive grid simulation: infection spreads daily between adjacent plants, and you compute how many days the garden takes to stabilize, then add permanently immune plants and immunity that expires after a countdown. It tests multi-source breadth-first search, Dijkstra-style waiting times and precise day counting.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteImplement an in-memory job queue for a print shop where workers reserve, complete, or fail jobs, failed jobs retry up to a limit before landing in a poison queue, and a second part adds job prerequisites with cascading failure.
OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenBuild a small reactive calculator where named variables hold integers or formulas that reference other variables, values stay correct as inputs change, and any definition that would create a circular dependency is rejected. Tests graph modeling, cache invalidation, cycle detection, and writing tests live.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteImplement and analyze binary search under a 1-step delayed-feedback protocol where each query response evaluates the previous guess.
OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests object-oriented design and refactoring skills by decoupling a monolithic chatbot script into modular, testable, and extensible components adhering to SOLID principles.
OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign and implement a deterministic binary serializer and strict deserializer for a string key-value store, ensuring robust input validation against corruption, truncation, duplicate keys, and trailing data.
OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA three-part coding exercise: build an in-memory chat analytics service that counts each chat's interactions in a closed 15-minute sliding window, tracks each user's live sessions from touch and close events, and stays correct when events arrive out of order. It tests bounded-memory eviction, efficient updates and queries, and exact window and ordering semantics.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteBuild an in-memory telemetry service that counts a forklift's recent pings in a 15-minute window, tracks which forklifts are currently on an active shift, and stays correct when pings arrive late and out of order. Tests bounded-memory eviction and exact window semantics.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteA software engineer phone-screen coding problem: build an in-memory social graph that supports follow and unfollow, point-in-time snapshots, queries of who followed whom as of an earlier snapshot, and recommendations of users to follow. It tests data-structure choice, versioned history, and deterministic ranking.
OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenBuild a small spreadsheet engine with setCell and getCell, where formulas reference other cells and a write that would create a circular dependency must be detected. The exercise also asks for live unit tests, probing data modeling, dependency graphs, cache invalidation and test design.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteBuild a text editor in four stages: a buffer with insert, delete and read, undo and redo with two stacks, trie-based autocomplete ranked by word frequency, and real-time collaborative editing with operational transformation. It tests data structure choice, reversible operations, top-k retrieval and concurrency correctness.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteA two-part card game coding exercise: deal three cards to each player from one deck, show every hand and pick the winner using three of a kind, pair and high card, then add a flush category between them. It tests hand representation, within-category comparison, tie handling and code that extends cleanly when a rule changes.
OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical ScreenModel the types of a toy programming language, with primitives, generic type variables and nested tuples, render types and function signatures as strings, then infer a call's concrete return type by binding generics consistently across arguments. It tests recursive data modeling, exact formatting and type inference with clear errors.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteSimulate a wildfire spreading through a forest grid to find how many days until it stops spreading, then extend the model with fire-resistant trees and firebreaks that only hold for a limited number of days before the protected tree becomes flammable.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a prepaid data wallet where usage draws from the soonest-expiring bundle first and records arrive out of timestamp order, then add checkpointing so balance queries do not replay the full history. Tests event-sourced thinking, heap-based priority consumption, and cache invalidation.
OpenAISoftware EngineerSoftware Engineering FundamentalsOnsiteDesign an in-memory multi-level key-value store where items are stored at specific priority levels with individual expiration timestamps, supporting query fallback and expiration cleanup.
OptiverSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentDesign and implement an in-memory news subscription processing engine that supports attribute-based filtering, deduplication, unsubscription, and unacknowledged delivery tracking.
OptiverSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentDesign an object-oriented queue and compare implementations evaluates engineering fundamentals, trade-offs, examples, pitfalls, and operational implications in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
OptiverSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign and implement a multi-level storage system that purges expired items, filters for under-utilized storage tiers, and deterministically retrieves the highest-weight item.
OptiverSoftware EngineerSoftware Engineering FundamentalsHR Screen- Optiver Beat The Odds: Five Rapid-Fire Probability Brainteasers (Dice, Cards, Coins, Pigeonhole)Medium
This collection of rapid-fire probability brainteasers evaluates probabilistic reasoning, combinatorics, symmetry-based thinking, conditional probability, and fast mental arithmetic to gauge quantitative intuition under time pressure.
OptiverSoftware EngineerSoftware Engineering FundamentalsOnline Assessment This question evaluates combinatorial reasoning and discrete optimization skills—specifically understanding permutations in Latin squares, triangular-sum inequalities, and construction of extremal examples—within the Software Engineering Fundamentals domain for a Data Scientist position, and it primarily probes conceptual understanding with a constructive application component. Such problems are commonly asked to assess the ability to derive global bounds from local constraints and to exhibit matching constructions, signaling mathematical maturity and facility with combinatorial identities.
OptiverData ScientistSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's ability to perform code review and debugging on a large codebase, testing understanding of data structures, algorithmic complexity, deterministic allocation policies, capacity accounting, and concurrency correctness.
OptiverSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests the application of the Command design pattern to encapsulate, track, and optimize a series of state mutations on a shared object.
OracleSoftware EngineerSoftware Engineering FundamentalsOnsiteTests deep understanding of Java string memory representation, the string constant pool, immutability, and construction performance trade-offs.
OracleSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question tests your ability to articulate the high-level architecture of a complex system you have worked on, focusing on data consistency, system scalability, and the rationale behind specific design choices.
OracleSoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your ability to refactor legacy CLI code, implement modular features, and optimize performance for large-scale data processing.
OracleSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement an in-memory key-value cache whose entries expire a fixed time-to-live after their last write, with put, get, renew and a count of live entries, and write your own tests for it. It tests expiry boundary semantics, renewal rules, efficient cleanup of expired entries and test design.
OracleSoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your ability to handle ambiguous business logic through requirement clarification and implement a robust, paginated filtering system for sensitive data.
OracleSoftware EngineerSoftware Engineering FundamentalsTechnical Screen