Katkat

practice a little every day, paws crossed ♡

Software Engineer Interview Questions

Practice 9403 coding, system design and machine learning questions from 546 companies, sorted by role, topic and interview round. Every question has step-by-step hints, a code runner that supports 8 languages and an AI mentor; members also get the full solution walkthrough.

9403
Questions
546
Companies
11
Topics
8
Languages

Showing 901–930 of 1026 results

  • StripeMediumSoftware Engineer
    Debug Colander Output Bugs: Stray None, Nested Lists, and Empty List Versus Null

    A debugging exercise in the Colander validation library, where recorded results contain stray None values, nested lists that should be flat, and an inconsistent mix of empty lists and null. It tests tracing bad output back to the code that produces it, safe list flattening, None handling and choosing one canonical empty value.

    Software Engineering FundamentalsTechnical Screen
  • StripeMediumSoftware Engineer
    Debug Three Planted Bugs in the Mako Python Template Engine

    A bug-squash exercise on a copy of the Mako Python template engine with planted bugs: lambda parameters vanish from regenerated code, a directory is mistaken for a template during lookup, and a comment-only control block fails to compile. It tests tracing failures through a template compiler, minimal library fixes and regression tests.

    Software Engineering FundamentalsTechnical Screen
  • StripeHardSoftware Engineer
    Debug Validation Error Aggregation

    Tests the ability to traverse nested validation error trees and normalize them into a flattened dictionary mapping dotted-path keys to aggregated lists of error messages.

    Software Engineering FundamentalsOnsiteTree TraversalRecursionData Structures
  • StripeMediumSoftware Engineer
    Debug a POST With a Stream Body That Hangs After a 307 Redirect in Python Requests

    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.

    Software Engineering FundamentalsTechnical Screen
  • StripeMediumSoftware Engineer
    Debug a Tag Validator: Phantom Nulls, Buried Lists, Null vs Empty

    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.

    Software Engineering FundamentalsTechnical Screendebuggingpythondata-validation
  • StripeMediumSoftware Engineer
    Debug a Toy HTTP Client That Hangs on a Redirected Streaming POST

    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.

    Software Engineering FundamentalsTechnical Screendebugginghttptesting
  • StripeHardSoftware Engineer
    Debug an HTTP Client That Hangs After a 307 Redirect With a Streamed Request Body

    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.

    Software Engineering FundamentalsTechnical Screen
  • StripeMediumSoftware Engineer
    Debug wrong DOM attributes in unknown framework

    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.

    Software Engineering FundamentalsTechnical Screen
  • StripeHardSoftware Engineer
    Design a Fixed-Position Payment Command State Machine

    Design a fixed-position payment-command parser and state machine while preserving empty fields and clarifying approval, capture, cancellation, and retry semantics.

    Software Engineering FundamentalsOnline Assessment
  • StripeMediumSoftware Engineer
    Design a String-Rule Validator for Transaction Records

    Specify transaction validation rules, parse them safely, evaluate name restrictions, and distinguish malformed input from ordinary rule rejection.

    Software Engineering FundamentalsOnsite
  • StripeMediumSoftware Engineer
    Draw a Hiking Trail from GeoJSON with Markers and Color Bands

    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.

    Software Engineering FundamentalsOnsiteapi-integrationhttpjson
  • StripeMediumSoftware Engineer
    EV Charger Registry with Haversine Nearest-Station Routing

    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.

    Software Engineering FundamentalsTechnical Screenclass-designgeometryhaversine
  • StripeMediumSoftware Engineer
    Evaluate Ordered Accept/Block Transaction Rules with AND, OR and Parentheses

    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.

    Software Engineering FundamentalsOnsite
  • StripeHardSoftware Engineer
    Find Live Hand-Off Windows Between Follow-the-Sun Support Teams

    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.

    Software Engineering FundamentalsOnline Assessmentintervalssweep-linetime-zones
  • StripeMediumSoftware Engineer
    First-Match Login Policy Engine with a Boolean Expression DSL

    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.

    Software Engineering FundamentalsOnsiteparsingrecursive-descenttokenizer
  • StripeMediumSoftware Engineer
    Fix Seekable POST Body Replay After a 307 Redirect in Python requests

    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.

    Software Engineering FundamentalsOnsite
  • StripeHardSoftware Engineer
    Fix Three Mako Template Bugs: AST Arg Visitor, Directory Lookup, Comment-Only Blocks

    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.

    Software Engineering FundamentalsTechnical Screen
  • StripeMediumSoftware Engineer
    Fix Three Planted Bugs in a Tiny Python Template Engine

    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.

    Software Engineering FundamentalsTechnical Screendebuggingregexparsing
  • StripeMediumSoftware Engineer
    Fix an HTTP Client That Loses a Stream Body on Redirect Replay

    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.

    Software Engineering FundamentalsOnsitedebugginghttpstreams
  • StripeMediumSoftware Engineer
    Generate a ride map image via POST API

    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.

    Software Engineering FundamentalsOnsitegeospatialapi-designalgorithms
  • StripeMediumSoftware Engineer
    Ground Station Registry With Great-Circle Nearest-Online Routing

    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.

    Software Engineering FundamentalsTechnical Screenclass-designgeometryhaversine
  • StripeMediumSoftware Engineer
    Hunt Three Planted Bugs in a Small Template Compiler Called Wick

    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.

    Software Engineering FundamentalsTechnical Screendebuggingcompilersast
  • StripeHardSoftware Engineer
    Implement a Contribution Ledger With Per-Rail Settlement Delays

    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.

    Software Engineering FundamentalsTechnical Screenledgersimulationfintech
  • StripeMediumSoftware Engineer
    Implement a multi-step form in React

    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.

    Software Engineering FundamentalsOnsite
  • StripeMediumSoftware Engineer
    Match Payments to Invoices by ID, Exact Amount, then a Forgiveness Range

    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.

    Software Engineering FundamentalsTechnical Screen
  • StripeMediumSoftware Engineer
    Match Payments to Invoices by Memo ID, Exact Amount, then Amount Tolerance

    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.

    Software Engineering FundamentalsOnsite
  • StripeMediumSoftware Engineer
    Parse Parent-Child Task Records and Render Them as a Connector Tree

    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.

    Software Engineering FundamentalsTechnical Screen
  • StripeMediumSoftware Engineer
    Prepare for Backend Parsing, API Integration, AI Coding, and Bug Fixing Rounds

    Tests parsing structured text payloads, managing transactional state machines, and implementing strict idempotency semantics with robust error handling.

    Software Engineering FundamentalsOnsiteParsingState MachineIdempotency
  • StripeMediumSoftware Engineer
    Rebuild a Comment Thread From Flat Records and Draw It

    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.

    Software Engineering FundamentalsTechnical Screentreesparsingstring-formatting
  • StripeMediumSoftware Engineer
    Reconstruct a Pallet Repacking Lineage and Render It as a Branch Tree

    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.

    Software Engineering FundamentalsTechnical Screentreesgraphsparsing