← Back to Directory

Stripe interview notes, page 28 of 35

Large Enterprises

Most of these Stripe write-ups come from Software Engineers (295), then Product Managers (22) and Data Scientists (20). The most reported rounds are the technical phone screen (206), the system design round (39), the behavioral / leadership round (22) and the product sense round (20).

342 interview notes · updated Oct 2026

Stripe·Software Engineer·Onsite - Behavioral / Leadership

Jun 2026
Behavioral round for a solutions architect role at Stripe. Just the one question from what I can tell, but it was a meaty one that I didn't feel totally prepared for.
  • Tell me about a time when a demo didn't go well and how you handled it.

“This one stung a little because I had a real story but I fumbled the delivery.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe coding round focused entirely on a multi-part email handling problem that kept building on itself. Each part had to be fully tested before moving forward, which was a different pace than I'm used to.
  • Parse and normalize email addresses using Gmail-style canonicalization: strip dots from the local part and ignore anything after a plus sign, then return the cleaned address.
  • Given a list of emails (some of which are duplicates after normalization), group them and count how many unique recipients there are.
  • Extend the email system with filtering, blocking, or routing rules so that certain addresses or patterns get handled differently.

“Felt fine at first since I'd seen a version of this before.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe technical phone screen for a software engineer role. One question, pretty focused, basically just about building a lookup structure over a list of role assignment tuples and talking through the tradeoffs.
  • You have a list of (userId, accountId, role) tuples representing role assignments. Given a userId and accountId, return all roles that user holds on that account. Walk through your index choice and how you'd handle duplicate entries in the input.

“I jumped straight to a hashmap keyed on (userId, accountId) and felt pretty good about it.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe SWE interview with a data processing problem that looked straightforward on the surface but had enough moving parts to trip you up if you didn't think through the aggregation carefully.
  • You're given a stream of merchant transactions, each with a timestamp, merchant ID, payment provider ID, and amount. Each payment provider has a fee rule consisting of a percentage and a flat fee per transaction. Write code to compute the total fees owed per merchant and the total revenue earned per provider.

“My first instinct was to just iterate and accumulate, but I wasted a couple minutes trying to figure out whether to group by merchant first or provider first.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe technical phone screen for a software engineer role, one coding question focused on task scheduling with heaps. Pretty clean interview, just one meaty algorithmic problem and a discussion of complexity.
  • You have N workers and M tasks, each with a duration. Tasks arrive at specific times and must be assigned to the lowest-index available worker, or queued if none are free. A worker becomes free at start_time + duration. For each task, return which worker it gets assigned to.

“The two-heap setup clicked for me pretty quickly but I fumbled the ordering on the busy heap at first.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe coding interview for a software engineer role, one question, pretty much the whole session was spent on a single Java design problem involving JGit and file ownership logic. Felt more like a take-home style problem crammed into a live setting.
  • Write a Java program that automatically selects a code reviewer for a pull request by comparing two git branches, identifying changed files, and matching them to owners from a CSV file to find who owns the most changes.

“I'd used JGit before but only barely, so the diff part took me longer than I wanted to admit.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe coding screen for a software engineer role. The problem was more of an implementation exercise than a hard algorithm question, which I did not expect from Stripe.
  • Given a bitfont (a mapping from characters to 2D pixel grids), implement a function that takes a string and returns a single concatenated 2D bitmap of the rendered text, with glyphs laid out left to right.

“Spent the first few minutes overthinking it.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe coding screen for a software engineer role. One problem, geospatial math, which sounds like a niche curveball but is really just implementation plus input validation. Not the worst way to spend 45 minutes.
  • Implement a DISTANCE command that computes the great-circle distance in kilometers between two lat/lon coordinate pairs using the Haversine formula, with input validation that returns ERROR for out-of-range coordinates.

“I knew the Haversine formula existed but definitely could not have recited it cold.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe SWE interview with a streaming data problem that sounds deceptively simple until you start thinking about state management across pairs. The sliding window angle is what makes it interesting, and I don't think I nailed the eviction logic on the first pass.
  • You're given a stream of transaction log records, each with a timestamp, merchant ID, status code, and count. For every unique (merchant, status code) pair, track a sliding time-window sum of error events. Emit a TRIGGER when the cumulative count first hits a configured threshold T, and emit a RESOLVE when it falls back below T as old records age out. Records arrive in timestamp order. Implement this.

“My first instinct was to reach for a hashmap keyed on the pair and just keep a running total, which obviously doesn't account for the sliding part at all.”

View Post

Stripe·Software Engineer·Technical Phone Screen

Jun 2026
Stripe coding round with a string compression problem that had two distinct parts. The problem itself was well-defined but the merging logic in part two had enough edge cases to keep things interesting for a while.
  • Given a string of major parts separated by '/' and minor parts separated by '.', compress each minor part into a format showing the first character, the length, and the last character. Parts shorter than 3 characters stay unchanged. Then, given an integer m, reduce each major part to at most m minor parts by repeatedly merging consecutive compressed parts, where merging two parts adds their lengths plus 1 for the dropped delimiter. Write test cases and discuss edge cases.

“The first part clicked pretty fast, just iterate and check length.”

View Post