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 331–360 of 1208 results
A staged algorithm discussion: decide whether some subset of budget line items nets to an exact target amount, first with only charges and then with refunds (negative amounts) mixed in, then produce one such subset, then every distinct subset, reasoning about dynamic programming, pruned backtracking, and why negative values change the problem.
ConfluentSoftware EngineerSoftware Engineering FundamentalsOnsiteA staged coding discussion about choosing integers from a list so that they add up to a target. It asks whether a solution exists with only positive numbers and then with mixed signs, for one solution and for every solution without duplicates, and for optimizations, testing dynamic programming, pruned backtracking and reasoning about negative numbers.
ConfluentSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign word and exact-phrase search over a line-oriented file that may be much larger than memory. Compare a streaming one-off scan with a persistent positional inverted index, defining tokenization, Unicode and punctuation behavior, file-version binding, updates, result locations, and resource trade-offs.
ConfluentSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign a Python CLI for serial-number lookups with timeout, HTTP, and JSON handling, bounded thread-pool concurrency, and ordered results.
CoreweaveSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates proficiency in OAuth 2.0 client-credentials authentication, API integration and pagination, JSON data transformation and checksum-based data integrity, token lifecycle management, retries, and idempotency within the Software Engineering Fundamentals category.
CoreweaveSoftware EngineerSoftware Engineering FundamentalsOnsiteUse basic Python threading primitives for bounded concurrent function calls, exception capture and joining, then inspect native threads with Linux tools.
CoreweaveSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement and compare Breadth-First Search (BFS) and Depth-First Search (DFS) operations on an N-ary tree representing a hierarchical compute cluster.
CoreweaveSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign a data structure for predicates that combine greater-than and less-than comparisons with AND and OR, then implement filter(data, predicate) to return the matching items. Tests recursive structure design, extensibility to new operators, evaluation with early exit, and handling of missing fields and type mismatches.
CoreweaveSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign an object-oriented or tree-based representation for boolean predicate expressions and implement an evaluation engine that supports logical operators, comparison operations, and short-circuit evaluation against attribute dictionaries.
CoreweaveSoftware EngineerSoftware Engineering FundamentalsOnsiteA production debugging scenario: a web app deployed on Google Cloud loads for only 20% of users while the other 80% see a loading spinner forever. It tests a systematic walkthrough that scopes the failure, gathers browser and server evidence, and tests explanations for the split one at a time.
CostcoSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign an in-memory data structure that supports adding words, removing words, and querying the largest anagram group. Tests canonical key generation, dynamic maximum maintenance, and read-versus-write algorithmic trade-offs.
CoupangSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates a candidate's ability to implement RESTful CRUD endpoints with FastAPI, focusing on API contract consistency, HTTP status codes and idempotency, input validation and exception handling, and unit testing.
Credit GenieSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenAn AI-assisted coding round: turn a Python starter script into a terminal chat agent that uses LLM tool calling to search flights, save passenger details and book a flight through a three-endpoint REST API. It tests tool schemas, a multi-step tool loop, ID handling, booking safeguards and error handling.
CrestaSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement an in-memory feature flag evaluation engine that evaluates flags against user attributes using rule predicates, deterministic percentage rollouts, and a true-wins resolution policy.
CrestaSoftware EngineerSoftware Engineering FundamentalsOnsiteA coding exercise to implement Executor and JobDispatcher classes that send each integer job ID to the executor with the fewest pending jobs, breaking ties round-robin, while executors join and leave. It tests precise tie-break semantics, consistent load tracking, reassigning a removed executor's queued jobs, and edge cases.
CrestaSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenWrite a Python function that searches a directory and all of its subdirectories for a file matching a requirement and returns the file's absolute path. It tests practical use of os and pathlib, deterministic handling of multiple or missing matches, relative roots, symbolic links and unreadable directories.
CrestaSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentImplement a C++ DetectionStore whose Put stores security detections with an id, an unsigned risk score and a payload, and whose GetNext removes and returns the next detection by risk score as a unique_ptr. Tests priority-structure choice, ownership semantics, tie and duplicate-id policies, and thread safety.
CrowdstrikeBackend EngineerSoftware Engineering FundamentalsTechnical ScreenImplement an in-memory key-value cache in the spirit of Redis, with get, set, delete and per-key expiry, then briefly discuss how a Redis-like server is built and where caches fit in a system. It tests data structure choices, expiry and eviction logic, thread safety, and practical knowledge of caching patterns.
CrowdstrikeSoftware EngineerSoftware Engineering FundamentalsOnsiteReview a short hypothetical Python function that builds a user profile from a database query and a billing-service call, narrating your reasoning aloud. The exercise tests how you read unfamiliar code and whether every comment is clearly labeled as must-fix, could-improve or a personal preference.
CrowdstrikeSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign and implement a job tracker class that accepts job submissions with dependencies, hands out jobs that are ready to run, and reports each job's status. It tests state-machine design, dependency-graph bookkeeping, handling of failures and cycles, and thread safety when several workers call the class at once.
CubistSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a reusable, event-driven framework for trading strategies that a team can keep extending after a take-home handoff. It tests event modeling and dispatch ordering, strategy interfaces, backtest and live parity, order and risk management, and the tests and documentation that make a framework maintainable.
CubistSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a Merkle tree over a real directory in Python, with N-ary directory nodes, a build method, a hash lookup by path, and a diff that compares two trees, and write the tests yourself. It tests deterministic hashing design, file-system traversal, pruning identical subtrees, and disciplined testing under time pressure.
CursorSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests streaming string processing, finite state machine design, and edge-case handling for incrementally received Markdown code fences.
CursorSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenHash a repository with canonical Merkle nodes, compare changed subtrees, report file changes, and account for symlinks, cached hashes, and snapshot limits.
CursorSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement an incremental, deterministic Merkle tree for a virtual repository file system with stable serialization, child ordering, and ancestor cache invalidation.
CursorSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a Merkle tree to model repository file systems and efficiently compute differences between two repository states using subtree hashes.
CursorSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests understanding of cryptographic hash trees (Merkle trees), including tree construction, odd-node handling, proof generation, and verification.
CursorSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign and implement an in-memory key-value store that tracks read and write throughput (operations per second) over configurable sliding windows.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question tests the ability to design a crash-recoverable key-value store by implementing a write-ahead log (WAL) to ensure data durability and system integrity after an unexpected failure.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign a memory-efficient snapshotting set supporting concurrent mutations and isolated iteration, and define the reliability and persistence contracts required for durable writes.
DatabricksSoftware EngineerSoftware Engineering FundamentalsOnsite