Katkat

Topic

Software Engineering Fundamentals interview questions

1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.

Questions1208

123 easy887 medium198 hard

Your progress0/1208

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

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 Screen
  • Given 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 Screen
  • Find 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 Screen
  • A 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 Screen
  • This 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 Screen
  • Design 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 Assessment
  • Specify transaction validation rules, parse them safely, evaluate name restrictions, and distinguish malformed input from ordinary rule rejection.

    StripeSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Parse 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 FundamentalsOnsite
  • Build 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 Screen
  • A 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 FundamentalsOnsite
  • Find 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 Assessment
  • Implement 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 FundamentalsOnsite
  • A 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 FundamentalsOnsite
  • A 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 Screen
  • Trace 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 Screen
  • Debug 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 FundamentalsOnsite
  • Implement 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 FundamentalsOnsite
  • Build 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 Screen
  • Trace 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 Screen
  • Implement 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 Screen
  • This 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 FundamentalsOnsite
  • A 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 Screen
  • A 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 FundamentalsOnsite
  • A 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 Screen
  • Tests parsing structured text payloads, managing transactional state machines, and implementing strict idempotency semantics with robust error handling.

    StripeSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Turn 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 Screen
  • Rebuild 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 Screen
  • An 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 FundamentalsOnsite
  • Parse 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 FundamentalsOnsite
  • Given 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

More topics