最近又有同学问到 Stripe OA ,题型依然是熟悉的那一套,整体来说变化不大。简单给大家同步一下最新情况,方便准备这家公司面试的同学心里有个底。

Stripe OA 基本形式
Stripe 的 OA 一直比较固定:
- 时长:60 min
- 题目数量:1 题
- 类型:Hard OOD(面向对象设计)
虽然只有一道题,但千万不要被数量迷惑。这题 题面非常长、实现量也很大,基本属于一边读题一边设计类结构,同时还要快速完成代码实现,对 coding 速度和设计能力都有要求。好消息是目前Stripe OA 题库其实非常小。这家公司这么多年下来,基本就反复在出三套题,很多同学做过几十套 OA 统计下来,也还是这几道经典题轮换。
Stripe OA 独家真题
这是一个多阶段负载均衡器实现题,需要逐步实现 5 个部分的功能,核心是为每个 CONNECT 请求分配目标 Jupyter 服务器,并记录日志,同时处理断开和粘性路由等规则。
Part 1: 基础负载均衡
- 目标:为新
CONNECT请求选择当前连接数最少的服务器;若数量相同,选索引最小的(索引从 1 开始)。 - 数据结构:需要维护每个服务器的当前连接数
connections_count(数组,长度为numTargets)。 - 输出:对每个
CONNECT请求,返回connectionId,userId,targetIndex格式的日志。
Part 2: 处理断开连接
- 新增
DISCONNECT请求:根据connectionId找到其所在服务器,将该服务器连接数减 1。 - 数据结构:新增
connection_to_target字典,记录每个connectionId对应的目标服务器索引。 - 约束:
DISCONNECT仅针对已连接的connectionId。
Part 3: 基于 object ID 的粘性路由
- 新增约束:若多个
CONNECT请求指定相同 objectId,必须路由到同一台服务器,即使该服务器当前负载更高。 - 数据结构:新增
object_to_target字典,记录每个objectId绑定的目标服务器索引。 - 逻辑:处理
CONNECT时,先检查objectId是否已绑定服务器;若已绑定,直接使用该服务器;否则执行 Part 1 的负载均衡逻辑,并将objectId与选中服务器绑定。
一点真实建议
Stripe OA 60分钟一道题难点不在算法,在于工程实现的能力。很多同学做这道题时最大的挑战其实是时间管理。Stripe OA 我们带过不少,对常见题型和实现思路都比较熟悉。如果你最近也在准备 Stripe 或类似的工程实现型 OA,希望考试时有人 帮你把控节奏、关键节点提醒、避免卡在细节上,也可以 联系我们 了解一下具体的准备方案。
End of text