Stripe Software Engineer Interview Experience — A Five-Part OA Simulating a Connection Load Balancer

Stripe·Software Engineer·Dec 2025
Online Assessmenteasy

This was a connection management simulation question for a Jupyter Server — essentially implementing a simplified connection router / load balancer that manages connection state across multiple backend target servers based on different request types (CONNECT, DISCONNECT, SHUTDOWN, etc.).

It's not a big system design question. It's more of a small-scale system design / stateful system simulation — closer to a backend state machine + resource management + routing policy kind of problem.

There were five parts total, 60 minutes on the clock, and the time wasn't too tight.

Part 1: Basic connection logic
Handle CONNECT requests and assign a target server (round-robin or sequential).
Difficulty: 1/5
Mostly about setting up the framework and initializing the data structures.

Part 2: Handle duplicate CONNECT (a second CONNECT on the same connId)
If a connection already exists, treat it as a duplicate — keep the previously assigned target and don't reassign it.
Don't change any state, just output the original record.
Difficulty: 1/5
The key is maintaining a connId -> targetIndex map.

Part 3: Support DISCONNECT
DISCONNECT(connId) closes the connection.
Release the slot on the target, and the connId is no longer valid.
Difficulty: 1/5
The key is deleting the mapping and updating the target's count.

Part 4: Support maxConnectionsPerTarget (a capacity limit)
Each target has a capacity cap.
If a target hits the cap, move on and try the next server.
If every target is full, just ignore the connection (the problem didn't ask for an error).
Difficulty: 2/5
The logic starts to feel like a real load balancer — you need to handle the looping and the capacity checks.

Part 5: SHUTDOWN target
SHUTDOWN,targetIndex takes that target temporarily offline.
Every connection on that target gets evicted (output in eviction order).
After that, the target is treated as unavailable for future allocation.
Difficulty: 3/5
This one involves batch eviction plus a state transition.

Not an easy one to summarize — hope this helps someone.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Stripe
Role
Software Engineer
Rounds
Online Assessment
Difficulty
easy
Interview date
Dec 2025
Questions from this interview
1 question

Real Stripe interview experiences

First-hand reports from Stripe candidates — the rounds, the questions they were asked, and how it went.

All 46 Stripe interview experiences