Stripe

Stripe

Payments infrastructure with sophisticated fraud detection and data systems.

4 Rounds ~21 Days Hard
Start Mock Interview

The Interview Loop

Recruiter Screen (30 min)

Standard fit check, behavioral questions, and resume overview.

Technical Loop (3-4 Rounds)

Deep dive into domain knowledge, coding, and system design.

Interview Question Bank

Backend Engineer Coding medium

Write a function to validate and parse a custom webhook signature header (e.g., checking timestamps and HMAC SHA256 signatures).

#Cryptography #Security #String Manipulation
Backend Engineer Coding easy

Write a program to parse a CSV of transactions (account_id, amount, type) and output the final balance for each account.

#File I/O #String Manipulation #Hash Maps
Backend Engineer Coding hard

Implement an in-memory key-value store that supports nested transactions (BEGIN, COMMIT, ROLLBACK).

#Data Structures #State Management #Stacks
Backend Engineer Coding medium

Parse a server log file to find the top N IP addresses making requests that resulted in HTTP 500 errors.

#String Manipulation #Hash Maps #Heaps #Log Parsing
Backend Engineer Coding medium

Given a nested JSON object representing a customer's metadata, write a function to flatten it into dot-notation keys.

#Recursion #Tree Traversal #JSON Processing
Backend Engineer Coding medium

Implement a simple HTTP router that supports exact matches and path parameters (e.g., /charges/:id).

#Tries #String Manipulation #Object-Oriented Design
Backend Engineer Coding medium

Implement an in-memory mutual exclusion lock (Mutex) with a timeout feature.

#Concurrency #Threading #Synchronization
Backend Engineer Coding medium

Given a list of API requests with timestamps and latencies, calculate the 95th percentile latency.

#Sorting #Math #Data Processing
Backend Engineer Coding medium

Implement a rate limiter using the token bucket algorithm.

#Concurrency #Object-Oriented Design #Time Complexity
Backend Engineer Coding medium

Write a function to calculate the final charge amount given a base price, a list of tax rules, and discount coupons.

#Business Logic #Math #Edge Cases
Cloud Engineer Coding medium

Implement an alert deduplication system that takes a continuous stream of infrastructure alerts and outputs only unique alerts within a rolling 5-minute window.

#Stream Processing #Sliding Window #Monitoring
Cloud Engineer Coding medium

Implement a rate limiter middleware for an API that restricts users to N requests per minute based on their API key.

#Concurrency #Rate Limiting #API Design
Cloud Engineer Coding medium

Given a JSON configuration file representing infrastructure dependencies (a DAG), write a function to determine the correct deployment order.

#Graph Theory #Topological Sort #JSON Parsing
Data Engineer Coding medium

Write a function to flatten a deeply nested JSON object representing a Stripe Charge object into a single-level dictionary with dot-separated keys.

#Recursion #Data Transformation #JSON
Data Engineer Coding hard

Implement an idempotent wrapper function for processing payment charges. If the same idempotency key is passed, it should return the cached result instead of reprocessing.

#Idempotency #Caching #Concurrency
Data Engineer Coding medium

Given a list of merchant payout schedules represented as intervals (start_time, end_time), write a function to merge all overlapping intervals.

#Sorting #Intervals #Array Manipulation
Data Engineer Coding hard

Implement a token bucket rate limiter class that could be used to throttle requests to a data API.

#Rate Limiting #Object-Oriented Design #Concurrency
Data Engineer Coding hard

Write a function to detect cycles in a directed graph of financial transactions, which could indicate potential money laundering.

#Graph Theory #DFS #Cycle Detection
Data Engineer Coding hard

Given a continuous stream of payment amounts, write an algorithm to maintain and retrieve the median transaction amount within a sliding window of size N.

#Sliding Window #Heaps #Data Structures
Frontend Engineer Coding hard

Write a simple Markdown parser in JavaScript that converts bold, italic, and link syntax into valid HTML. This is for rendering Stripe API changelogs.

#String Manipulation #Regular Expressions #Parsing
Frontend Engineer Coding medium

Write a rate limiter utility function in JavaScript that limits how often a specific user action (like clicking a 'Pay' button) can trigger an API call.

#JavaScript #Concurrency #Closures
Full Stack Engineer Coding medium

Write a load balancer algorithm that distributes incoming requests to a list of servers based on their current active connection count (Least Connections).

#Heaps #System Design #Data Structures
Full Stack Engineer Coding medium

Write a function to parse raw HTTP headers from a string into a structured key-value map, handling edge cases like multi-line headers and malformed inputs.

#String Manipulation #Parsing #HTTP
Full Stack Engineer Coding medium

Implement a rate limiter using a token bucket algorithm. The function should take a user ID and return a boolean indicating whether the request is allowed.

#Data Structures #Concurrency #API Design
Full Stack Engineer Coding medium

Implement an exponential backoff retry mechanism for a failing API call. It should accept a maximum number of retries and a base delay.

#Asynchronous Programming #Error Handling #Networking
Full Stack Engineer Coding medium

Create a generic JSON deep-diff function to compare two API request payloads and return an object representing the differences.

#Recursion #Data Structures #JSON
Full Stack Engineer Coding hard

Write a function to evaluate a simple abstract syntax tree (AST) representing custom merchant fraud rules (e.g., `amount > 100 AND country == 'US'`).

#Trees #Parsing #Recursion
Full Stack Engineer Coding hard

Implement an in-memory key-value store that supports transactions with BEGIN, COMMIT, and ROLLBACK operations.

#Data Structures #State Management #Design Patterns
Full Stack Engineer Coding easy

Given a list of raw server logs as strings, write a script to parse them and find the top 3 IP addresses that generated the most 5xx HTTP errors.

#String Manipulation #Hash Maps #Sorting
Full Stack Engineer Coding medium

Implement a function that takes an array of overlapping time intervals (representing server downtimes) and merges them into contiguous blocks.

#Sorting #Arrays #Logic
Machine Learning Engineer Coding medium

Implement a Token Bucket rate limiter for an ML model inference endpoint to ensure a single merchant cannot overwhelm the scoring service.

#Concurrency #System Design #Object-Oriented Programming
Machine Learning Engineer Coding hard

Design a data structure to efficiently query the median transaction amount in a sliding window of the last N transactions.

#Heaps #Sliding Window #Data Structures
Machine Learning Engineer Coding medium

Given a list of transactions with start and end timestamps representing chargeback dispute windows, detect if there are any overlapping dispute windows for a specific merchant.

#Intervals #Sorting #Arrays
Software Engineer Coding medium

Write a function to parse an 'Accept-Language' HTTP header and return the preferred languages in order of weight.

#String Parsing #HTTP #Sorting
Software Engineer Coding medium

Write a function that takes a string representing a mathematical expression (e.g., '3 + 5 * 2') and evaluates it, adhering to standard order of operations.

#Stacks #String Parsing #Math
Software Engineer Coding medium

Write a script to parse a JSON file containing a list of API endpoints and their dependencies, and output a valid execution order (Topological Sort).

#Graphs #Topological Sort #JSON Parsing
Software Engineer Coding medium

Write a function to detect fraudulent transactions based on a simple velocity rule: if a user makes more than 5 transactions within 1 minute, flag the 6th as fraud.

#Sliding Window #Queues #Hash Maps
Software Engineer Coding medium

Implement a function to merge overlapping time intervals. This is used to calculate the total downtime of a server given a list of outage periods.

#Arrays #Sorting #Intervals
Software Engineer Coding easy

Write a function to validate a credit card number using the Luhn algorithm.

#Math #String Manipulation
Software Engineer Coding medium

Given a log file of API requests with timestamps and latencies, write a parser to calculate the 95th and 99th percentile latencies.

#File I/O #Sorting #Statistics
Software Engineer Coding hard

Implement an in-memory key-value store that supports nested transactions (BEGIN, COMMIT, ROLLBACK).

#Data Structures #State Management #Stack
Software Engineer Coding medium

Implement a function to calculate the total cost of a Stripe subscription based on a tiered pricing model (e.g., first 100 units cost $10 each, next 100 cost $8 each).

#Math #Business Logic #Edge Cases

Difficulty Radar

Based on recent AI-sourced data.

Meet Your Interviewers

The "Standard" Interviewer

Senior Engineer

Focuses on core competencies, system constraints, and clear communication.

Simulate

Unwritten Rules

Think Out Loud

Always explain your thought process before writing code or drawing architecture.

Practice Now