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 1051–1080 of 1208 results
A debugging exercise in the Python Requests library: a POST with a file-like body hangs after a 307 Temporary Redirect until the client times out. It tests reasoning about the bytes on the wire, HTTP redirect semantics, stream state across a re-sent request, and writing a deterministic regression test.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenGiven a small, working deserialization library with three planted bugs, trace each bad output back to its source, fix it in place, and add a regression test. Tests careful root-causing over quick patching, and recognizing which 'empty' representation should be canonical.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenFind and fix a planted bug in a small hand-rolled Python HTTP client: a POST with a file-like body hangs forever after the server answers with a redirect, while a plain bytes body and a non-redirecting request both work fine.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA debugging exercise on the Python HTTP library Requests: a POST whose body is a file-like stream hangs until it times out after the server answers 307 Temporary Redirect. It tests redirect semantics, Content-Length framing, how a stream behaves when a request is resent, and regression testing of the fix.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's ability to debug frontend DOM attribute mismatches by understanding framework-specific attribute/prop reflection, template/JSX compilation, SSR/hydration differences, and build-toolchain interactions.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a fixed-position payment-command parser and state machine while preserving empty fields and clarifying approval, capture, cancellation, and retry semantics.
StripeSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentSpecify transaction validation rules, parse them safely, evaluate name restrictions, and distinguish malformed input from ordinary rule rejection.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteParse a hiking trail out of a GeoJSON LineString, build the request payload for a map-snapshot API, save the returned PNG, and add start/finish markers plus alternating-color bands along the route.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteBuild an in-memory EV charging station registry with status tracking, a haversine distance function, and nearest-online-station routing with deterministic tie-breaks. Tests clean API design, careful spherical math, and corner-case handling.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA three-part Python exercise, solved with an in-editor AI assistant, that evaluates an ordered list of accept or block rules against a transaction. Conditions grow from string equality to Boolean fields, AND and OR, and parentheses, testing tokenizing quoted values, operator precedence, first-match semantics and careful review of AI-written code.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteFind recurring weekly windows where at least two regional support teams are simultaneously online, after converting each team's local shift schedule to a shared UTC timeline and handling the week's wraparound, then filter by a lead time, a minimum overlap length and a results cap. Tests interval sweeping, time-zone arithmetic and turning a loosely specified brief into exact rules.
StripeSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentImplement an ordered allow/deny policy evaluator for sign-in attempts whose conditions grow from symmetric string equality to boolean flags, and/or precedence, parentheses, not and !=. Tests tokenizing quoted literals, recursive-descent parsing, first-match semantics, and missing-field handling.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteA debugging exercise in the Python requests library: POST requests whose body is a seekable stream time out after an HTTP 307 redirect, while a plain string body works. It tests tracing how request state changes between the first send and the redirect, and fixing the library so that streams the caller has already partly read are resent correctly.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteA debugging exercise on Mako, the open-source Python template library, with three injected defects: an AST visitor missing its visit_arg method, a template lookup that fails on a directory path, and comment-only control blocks that do not compile. It tests NodeVisitor dispatch, reading generated code, minimal fixes and regression tests.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTrace three reported failures in a small template engine to their root causes (a greedy regex, a nesting-unaware block parser and a path-traversal hole), fix each minimally and add regression tests. Tests systematic debugging across tokenizer, parser and loader layers.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDebug a small HTTP client library where POST requests with a plain string body replay correctly after a redirect, but requests with a file-like stream body hang, and fix the library so a redirect resends the exact original bytes, including bytes from a stream the caller had already partly consumed.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a payload builder for an external static map generation API that processes raw ride GPS telemetry, downsamples points, generates bounding viewports, and formats marker overlays.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteBuild an in-memory registry of satellite ground stations with status tracking, implement the haversine great-circle distance formula, then route an uplink request to the nearest online station. Tests clean API design, careful spherical math, and corner-case handling under time pressure.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTrace three reported failures in a small Python template compiler — a dropped ternary else-branch, a directory mistaken for a template file, and a comment-only loop body that compiles to invalid source — to their root causes and fix each with a regression test.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement process_ledger(commands), an ordered ledger for a community funding platform where contributions arrive over different payment rails, each with its own settlement delay, cutoff time, and per-window contribution limit.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's competence in React front-end development, including component state management, multi-step form validation, UI state control during asynchronous submissions, and error handling.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteA three-part billing reconciliation exercise: match payments to invoices by invoice ID, fall back to the earliest-dated invoice with the same amount when a payment has no ID, then allow a forgiveness range around the payment amount. It tests incremental design, unmatched-payment handling, and efficient lookups by key and by range.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA multi-part coding exercise that matches a payment to an invoice: first by an invoice ID found in the payment memo, then by exact amount with the earliest due date breaking ties, then within an amount tolerance. It tests parsing, deterministic tie-breaking, rule precedence, and keeping earlier test cases passing as requirements grow.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteA multi-part coding exercise that parses root and child task records, linked by parent identifiers, into a parent-child map and renders the hierarchy as a text tree with branch connectors for middle and last children. It tests careful reading of a long specification, robust tree building and exact output formatting.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests parsing structured text payloads, managing transactional state machines, and implementing strict idempotency semantics with robust error handling.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteTurn unordered reply records into a tree, then print it as an ASCII tree with exact branch connectors, and optionally collapse deep branches. Tests careful spec reading, tree building that doesn't depend on input order, and precise output formatting.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenRebuild which warehouse pallets were repacked from which other pallets out of an unordered event log, then print the lineage as an indented tree with branch connectors. Tests careful spec-reading, tree construction independent of input order, and exact output formatting.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenAn API integration exercise that reads a bike ride from a GeoJSON file, posts JSON map parameters to a static map rendering service, and saves the PNG it returns. The final part adds start and end markers and draws the route in alternating colors every ten segments, testing HTTP client usage, coordinate order and off-by-one grouping.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteParse a GPS voyage from a GeoJSON file, POST it to a map snapshot service, save the returned PNG, then add start and finish markers and color bands of fixed segment counts. Tests careful JSON navigation, coordinate order, binary HTTP handling, and off-by-one-free chunking.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteGiven a small schema-validation library and a failing golden-file diff, trace stray None values, nested error lists, and an inconsistent null-versus-[] result back to their source and fix each with a regression test. Tests root-cause debugging, return-type contracts, and safe flattening.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical Screen