Stripe interview process (2026)
Round-by-round breakdown of the Stripe software engineering interview across 4 levels and 27 rounds: interview mode, sample questions, and worked solutions.
Software Engineer, Intern (Bengaluru)
Difficulty: Medium · Timeline: ~2-3 months · Recommended prep: 4-8 weeks · Cooldown: ~6-12 months
-
Round 0: Online Assessment (HackerRank)
Assessment · 60 minutes · difficulty 2/5 · elimination round
Mode of interview: Online assessment · HackerRank
Sample question: Currency Conversion — You are given a string of exchange rates in the format "A:B:rate,C:D:rate,..." where each triple means 1 unit of currency A equals `rate` units of currency B. Rates are bidirectional (if USD:CAD:1.3 is given, CAD->USD is 1/1.3). Given a source currency, a target currency, and an amount, return the converted amount rounded to 2 decimals, using a direct rate if present or a multi-hop path (product of rates along the path) otherwise. Return -1 if no conversion path exists. Stripe escalates this over 2-3 parts (direct rate -> any path via DFS -> fewest-hop path via BFS).
-
Round 1: Team Screen (Technical Coding Screen)
Phone · 60 minutes · difficulty 2/5 · elimination round
Mode of interview: Live interview · CoderPad
Sample question: Order Total with Flat Shipping — You are given an order (a list of line items, each with a unit price and a quantity), a destination country, and a country-specific flat shipping table in the format "US:5.00,IN:10.00,UK:8.00". Compute the order total = sum(unit_price * quantity) for all items plus the flat shipping fee for the destination country (0 if the country is not in the table). Print the total to 2 decimals. In the real interview this is Part 1 of a 3-part escalation that adds tiered decreasing unit-price brackets (Part 2) and mixed fixed/incremental shipping modes (Part 3).
-
Round 2: Virtual Onsite — Programming Exercise
Onsite · 60 minutes · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
-
Round 3: Virtual Onsite — Integration Round
Onsite · 60 minutes · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
-
Round 4: Hiring Manager / Behavioral Round
Behavioral · ~45 minutes · difficulty 1/5 · elimination round
Mode of interview: Live behavioral interview
-
Round 5: Offer
Offer · N/A
Mode of interview: Offer discussion
Software Engineer (SWE I / New Grad / early-career, ~L2) — Bengaluru
Difficulty: Hard · Timeline: ~4-8 weeks · Recommended prep: 6-10 weeks · Cooldown: ~6-12 months
-
Round 0: Recruiter Screen
Phone · ~30 min · difficulty 1/5 · elimination round
Mode of interview: Remote phone or video interview
-
Round 1: Online Assessment (HackerRank)
Assessment · ~60 min · difficulty 2/5 · elimination round
Mode of interview: Online assessment · HackerRank
Sample question: Accept-Language Header Parser — In an HTTP request the Accept-Language header is a comma-separated list of language tags in descending preference (optionally with ;q=<weight>), e.g. 'en-US, fr-CA, fr-FR' or 'en;q=0.5, fr;q=0.9'. Given the header and a set of supported languages, return the supported tags that satisfy the request, ordered by preference. A bare primary tag like 'en' matches any supported tag whose primary subtag is 'en' (en-US, en-GB); a full tag like 'fr-CA' matches only itself.
-
Round 2: Technical Phone Screen
Phone · ~45-60 min · difficulty 2/5 · elimination round
Mode of interview: Live interview · CoderPad
Sample question: Merge Intervals — Given a list of intervals [start, end], merge all overlapping (and touching) intervals and return the sorted list of non-overlapping intervals. At Stripe this surfaces as 'card range obfuscation' — merge overlapping/adjacent credit-card BIN ranges before masking.
-
Round 3: Virtual Onsite — General Coding
Onsite · ~45-60 min · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
Sample question: Logger Rate Limiter — Design a logger that receives a stream of (timestamp, message) events and decides, for each, whether it should be printed. A unique message may be printed at most once every 10 seconds; return true if printed (and record it), false otherwise. This is the entry form of Stripe's ubiquitous 'rate limiter' ask.
-
Round 4: Virtual Onsite — Bug Bash / Debugging
Onsite · ~60 min · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
-
Round 5: Virtual Onsite — Integration Round
Onsite · ~60 min · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
-
Round 6: Virtual Onsite — Behavioral / Hiring Manager
Behavioral · ~45-60 min · difficulty 2/5
Mode of interview: Live behavioral interview
Senior Software Engineer (~L3/L4) — Bengaluru
Difficulty: Hard · Timeline: ~4-8 weeks · Recommended prep: 8-12 weeks · Cooldown: Same as SWE level; not officially published. LOW confidence.
-
Round 0: Recruiter Screen
Phone · ~30 min · difficulty 1/5 · elimination round
Mode of interview: Remote phone or video interview
-
Round 1: Technical Phone Screen
Phone · ~45-60 min · difficulty 3/5 · elimination round
Mode of interview: Live interview · CoderPad
Sample question: Currency Conversion (Evaluate Division) — Given exchange rates as 'AUD:USD:0.75,USD:CAD:1.26,...' where one unit of the first currency buys the given amount of the second (rates are symmetric: reverse = 1/rate), answer queries src:dst. Part 1: direct lookup. Part 2: multi-hop via intermediates (AUD->USD->CAD = 0.75*1.26). Part 3: when multiple paths exist, return the best achievable rate; return -1 if unreachable.
-
Round 2: Virtual Onsite — Coding Rounds
Onsite · ~60 min · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
Sample question: Cheapest Flights Within K Stops — Given n cities and directed weighted edges (u, v, price), find the cheapest price to go from src to dst using at most K intermediate stops, or -1 if impossible. Solve with K+1 bounded Bellman-Ford relaxations using a snapshot of distances each round.
-
Round 3: Virtual Onsite — Bug Squash
Onsite · ~60 min · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
-
Round 4: Virtual Onsite — System Design
System_design · ~60 min · difficulty 4/5
Mode of interview: Live system design interview
Sample question: Design a Webhook Delivery System — Design Stripe's webhook delivery system: merchants register endpoints; every relevant event (payment succeeded, dispute created, etc.) must be delivered at-least-once with minimal duplication. Cover the transactional outbox pattern so delivery failures never affect money movement, retry with exponential backoff + jitter, per-endpoint ordering/back-pressure, HMAC signature generation for verification, dead-letter handling, and how consumers dedupe. Discuss throughput, isolation of slow/failing endpoints, and delivery SLAs.
-
Round 5: Virtual Onsite — Integration Round
Onsite · ~60 min · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
-
Round 6: Virtual Onsite — Hiring Manager / Behavioral
Behavioral · ~45-60 min · difficulty 2/5
Mode of interview: Live behavioral interview
Staff Software Engineer (Staff+, ~L5) — Bengaluru
Difficulty: Hard · Timeline: ~4-8 weeks · Recommended prep: 8-12+ weeks. Prepare a technical present · Cooldown: Not officially published. LOW confidence.
-
Round 0: Recruiter Screen
Phone · ~30 min · difficulty 1/5 · elimination round
Mode of interview: Remote phone or video interview
-
Round 1: Technical Phone Screen
Phone · ~45-60 min · difficulty 3/5 · elimination round
Mode of interview: Live interview · CoderPad
Sample question: Brace Expansion — Given a pattern where a group '{a,b,c}' represents a choice of one letter and a lone letter is a fixed single choice (e.g. '{a,b}c{d,e}f'), return every string formed by picking one option from each group, in lexicographic order. Stripe reports this as an 'expand string' / brace-expansion round.
-
Round 2: Virtual Onsite — Coding
Onsite · ~60 min · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
Sample question: Credit Card Validation (Luhn) + Redaction — Given a card number (possibly containing spaces/dashes), (1) redact it for logs by replacing every digit except the last four with 'X' while preserving separators, and (2) validate it: length 13-19 and passing the Luhn checksum. This is Stripe's real 'blur credit-card numbers from logs' + card-validity round.
-
Round 3: Virtual Onsite — Bug Bash
Onsite · ~60 min · difficulty 3/5
Mode of interview: Onsite or virtual onsite interview
-
Round 4: Virtual Onsite — System Design
System_design · ~60 min · difficulty 4/5
Mode of interview: Live system design interview
Sample question: Design a Distributed Payment Ledger (exactly-once / double-entry) — Design Stripe's core money-movement ledger. Requirements: double-entry consistency, exactly-once semantics under retries, idempotency keys with versioning to detect replays, saga/orchestration for multi-step charge->capture->payout flows, and what happens when an upstream bank says yes-then-no. Cover the outbox pattern separating events from money movement, strict timeout windows for zombie requests, sharding/partitioning of accounts, and a daily background reconciliation job that compares the internal ledger against processor/bank reports. The interviewer spends most of the time on failure/edge cases.
-
Round 5: Virtual Onsite — Presentation (replaces Integration at Staff+)
Other · ~60 min · difficulty 3/5
Mode of interview: Interview format varies by team
-
Round 6: Virtual Onsite — Behavioral / Hiring Manager
Behavioral · ~45-60 min · difficulty 2/5
Mode of interview: Live behavioral interview
Other companies' interview processes
Worked sample solutions (code, design diagrams, and STAR answers) for every round are available in the FAANGPlus app: open interview processes.