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 EngineerBuild 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 EngineerData 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 EngineerDebug 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 EngineerDebug 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 EngineerDebug 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 EngineerDebug 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 EngineerDebug 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 EngineerDebug 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 EngineerDebug 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 EngineerEV 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 EngineerFix 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 EngineerFix 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 EngineerGround 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 EngineerHunt 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 EngineerImplement 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 EngineerMatch 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 EngineerParse 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 EngineerRebuild 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 EngineerReconstruct 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 EngineerRepair 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 EngineerRestaurant 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 EngineerSchedule 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 EngineerValidate 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 EngineerDesign 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 EngineerDebug 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 EngineerBuild 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 EngineerDesign 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 EngineerHandle 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 EngineerImplement 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 EngineerAdd 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