Katkat

practice a little every day, paws crossed ♡

Software Engineering Fundamentals 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 541–570 of 625 results

  • StripeHardSoftware Engineer
    Build a Transaction Rule Engine with AND/OR Chains and Nested Parentheses

    Multi-part coding exercise: build a rule engine that accepts or denies payment transactions by evaluating text conditions over their attributes. The parts add single comparisons, then AND/OR chains evaluated strictly left to right, then nested parentheses. It tests parser design, modular code, and directing an AI coding assistant.

    Software Engineering FundamentalsTechnical Screen
  • StripeMediumSoftware Engineer
    Data Center Health Registry, Haversine Distance and Nearest-Healthy Routing

    A three-part coding exercise: register data centers with locations and health states, compute great-circle distances with the haversine formula, then route each client to the nearest healthy data center. It tests clean class design, correct spherical distance math, tie-breaking and corner-case handling under time pressure.

    Software Engineering FundamentalsTechnical Screen
  • 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
  • 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
  • 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
  • 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
    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
    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
    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
    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
  • StripeMediumSoftware Engineer
    Repair a Validator Whose Error Lists Leak None and Nest

    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.

    Software Engineering FundamentalsTechnical Screendebuggingrecursionpython
  • StripeMediumSoftware Engineer
    Restaurant Listing CSV Linter: Required, Length, Banned Terms, Overlap

    Write a configurable linter for restaurant-listing CSV rows that reports missing fields, length violations, whole-word banned terms, and too-low or too-high word overlap between fields after normalization. Tests robust CSV parsing, text normalization, rule-driven design and edge-case thinking.

    Software Engineering FundamentalsTechnical Screencsvstring-processingvalidation
  • StripeMediumSoftware Engineer
    Schedule Welcome and Expiration Emails from Subscription Records

    A programming exercise that turns customers' subscription records into a chronological schedule of lifecycle emails, such as a welcome email at the start and an expiration email at the end. It tests date arithmetic, deterministic ordering of same-day emails, and a rule design that makes new email types easy to add.

    Software Engineering FundamentalsTechnical Screen
  • StripeMediumSoftware Engineer
    Validate CSV Company Records for Missing Fields, Length, Forbidden Words and Overlap

    Build a validator for a CSV of company records that flags missing fields, values outside length limits and forbidden words, then measures word overlap between fields while ignoring case, spacing and words such as LLC. It tests robust CSV parsing, text normalization, rule-driven design and edge-case testing.

    Software Engineering FundamentalsTechnical Screen
  • StubHubMediumSoftware Engineer
    Design an Event Recommendation Engine

    This question evaluates object-oriented design, system extensibility, interface and responsibility definition, and integration with external services in the context of a recommendation engine.

    Software Engineering FundamentalsTechnical Screen
  • SupioEasySoftware Engineer
    Debug and extend a streaming chat app

    This question evaluates debugging and implementation skills across frontend-backend interaction, including authentication/configuration, client-side state management, streamed response handling, request cancellation, and reasoning about API payload contracts.

    Software Engineering FundamentalsTechnical Screen
  • TeslaMediumData Engineer
    Build a Transaction CSV Cleaning Pipeline

    This problem tests your ability to design a robust, deterministic data cleaning pipeline that handles input parsing, data validation, and precision-safe numeric handling.

    Software Engineering FundamentalsTechnical ScreenETLData EngineeringValidation
  • TeslaEasySoftware Engineer
    Design a JSON Merge API with Pluggable Behaviors

    Implement a non-mutating JSON merge utility with recursive object handling, configurable array merge strategies, and an extensible design for custom merge policies.

    Software Engineering FundamentalsTechnical Screenjsonrecursionapi-design
  • TeslaEasySoftware Engineer
    Handle API Errors with Python Requests

    Tests your ability to write resilient HTTP client logic in Python using requests, distinguishing between retryable and non-retryable errors, handling rate limits, and safely parsing JSON.

    Software Engineering FundamentalsTechnical Screenpythonnetworkingapi
  • TeslaHardSoftware Engineer
    Implement Reduce and Derive Map and Filter from It

    Explain reduce semantics, derive ordered map and filter with a reducer, and compose them over table rows while handling empty input and accumulator costs.

    Software Engineering FundamentalsTechnical Screen
  • The Trade DeskEasySoftware Engineer
    Add a click listener to a button

    Add a click listener to a button evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsTechnical Screen