这场 Optiver OA 跟之前做的 Stripe 挺像,难度也差不多——都是只有一道 coding 题,但题面很长,规则一层套一层。第二部分是 Zap-N 反应力小游戏,老朋友了。主要讲讲第一部分那道题,出得确实有点意思。

第一部分 Coding
题目让你实现一个多核 CPU 的散热控制器,核心是一个 Tick(timestamp: float) -> list[string] 方法。
每次 Tick 要按顺序做四件事:
一是把控制器一步推进到给定的 timestamp(温度按热力学规则演化);二是关停所有温度达到 80°C 的核(负载清零);三是处理待处理的负载变更,包括对已关停核的重启尝试;四是决定接下来这个区间哪些核要开启主动散热。
返回值是自上次 Tick 以来状态发生变化的核。状态有三种:idle(运行中、主动散热关闭)、cooling(运行中、主动散热开启)、shutdown(已关停)。没有变化就返回空列表。

解题思路
先计算当前 Tick 与上一 Tick 的时间间隔,用于后续负载的累积更新。接着调用 cal 函数为候选设备分配资源,并实时更新所有设备的负载数值。如果某个设备的负载超过 80,就立即将其关停,避免过热风险。同时,我们也要检查那些满足恢复条件的设备,比如负载已经降低到安全阈值以下且之前被关停的,就可以重新加入运行名单。最后,遍历所有设备,判断每个设备的当前状态,包括运行中、关停中还是正在冷却,并输出状态发生变化的信息列表。
关键点:
- 时间间隔计算要准确,避免累积误差。
- 设备状态变化需要严格按照规则判断,不能漏掉任何过渡情况。
- 输出格式要严格匹配题目要求(list[string]),每个条目描述清晰。
这题本质是状态机 + 模拟,提前把各种边界情况(设备刚好 80、时间间隔为 0、全部设备关停等)考虑清楚,就能写得又快又稳。
第二部分:Zap-N
Zap-N 是 Optiver OA 里那个”游戏部分”,我这次碰到的时长不算长,但完整版的 Zap-N 通常是九个小游戏、总时长 1 到 2 小时(中间可以休息,只要在规定时间内做完就行)。这些游戏全是从认知心理学的经典实验改编来的,Optiver 拿来测的就是交易员每天真实需要的那几样能力:反应速度、短期记忆、模式识别、风险偏好、注意力切换。
Zap-N高频题:
Stock Master / Stock Indicator(反应时间):速度表以不同速率上升,你要在最佳时机点击。点早了得分低,点晚了机会消失。这题测的不是手快,是”别抢跑也别僵住”——很像交易场上的下单时机判断。
Barbecue Game / 烧烤游戏(时机把握):把肉在烤熟之后、烤糊之前从架子上拿下来。游戏会越来越难——可操作的时间窗口越来越短,同时架子上的肉越来越多。这题同时压反应和多任务。
Balloon Game / 气球游戏(风险偏好):这个来自心理学里著名的 BART(Balloon Analog Risk Task)实验。你给虚拟气球打气赚钱,打得越多赚得越多,但气球炸了就全没了。前几轮风险低,后面几轮每次打气回报更高、但爆炸损失也更大。测的是你的风险校准和贪婪管理能力——太保守赚不到,太贪就归零。
Number Box(心算 + 问题求解):给你 4 个数字和一个目标数,用加减乘除组合出目标数。做不出来可以跳过,但会扣分。这个基本就是 24 点的变体,练心算的人会很占便宜。
Pincode / 数字记忆(短期记忆):屏幕上闪过一串数字,然后要你按出现顺序输入回去。序列会越来越长。
Task Switch(注意力切换):这类游戏是规则会中途变——比如圆形按右箭头、方形按左箭头,做着做着规则突然反转。测的是你能不能快速丢掉旧规则、切到新规则,这也是 Zap-N 最折磨人的一类。
Tower(规划能力):类似汉诺塔的移动规划题,测的是你能不能提前想好几步而不是走一步看一步。
数据核对类:给一串数字或字母,再给四个相似的序列,在极短时间内找出完全一致的那个。测细心和速度。
写在最后
有在冲 Optiver、Stripe、Jane Street 这类量化公司的同学,可以来找我们聊聊。我们InterviewShow专注北美技术和量化岗的备考辅导,团队来自北美一线大厂和量化机构,做过 Optiver、Citadel、Jane Street 这些公司的面试。不走流水线,每个人配专属顾问和技术导师,一对一跟着走,从 OA 题库梳理到 VO 辅助都有覆盖。有需要的来聊。