Optiver OA 一亩三分地|2025 高频题型与实战面经

123閱讀
沒有評論

Optiver OA 一直以“速度 + 正确性”著称,今年这套 12.4 的版本依旧不留情面:三道Coding,全是交易场景模拟,代码量不算大,但逻辑非常绕,任何一步漏了 edge case 都会挂。我们学员当时是 Programhelp OA无痕联机助攻,整个过程节奏压得很稳,三题一次过。

下面按顺序复盘一下题目内容和难度分布。

Problem 1: Counting Trading Sequences

题意不长,但非常“Optiver 风味”。题目给你:

  • 一个价格序列
  • 要你 count all valid profitable trading sequences

核心规则:

“A valid trading sequence is defined as a pair (i, j) such that
i < j and price[i] < price[j].
Count how many such valid trading sequences exist.”

看似就是 count increasing pairs,但实际坑点很多:

  • 重复价格是否算 valid
  • 连续下降区间是否影响统计
  • 长度为 1 的区间必须忽略
  • 非严格上升 vs 严格上升需区分
  • 大输入下需要 O(n) 或 O(n log n) 才能过

简单暴力会 TLE,最后我们学员是用“维护前缀更小元素个数”的方式做出来的。

Problem 2: Backtesting a Proportional Allocation Strategy

第二题就是典型的回测题:

“Given daily returns for multiple assets and a fixed proportional allocation vector,
compute the cumulative return of the portfolio from day 1 to day N.”

本质是模拟组合收益:

  • 输入:returns[day][asset]
  • 每天:portfolio_return = sum(weight[i] * returns[day][i])
  • 输出:累计收益(通常是 multiply,而不是加总)

这题真正的考点不是数学,而是:

  • 浮点误差累积
  • weight + return 同时是小数
  • 精度不够会导致后两个 hidden tests 直接 fail

学员一开始用 Python float,一度卡在 89% 测试,Programhelp 提醒他“用 Decimal 重算每日累积”后顺利一次 AC。

Problem 3: Order Book Matching Simulation

这道是整套 OA 难度最高的题,完全是工程级模拟。题目提供一串订单,每个订单格式如下:

{ "type": "buy" / "sell", "price": x, "size": y }
“Simulate an order book and return all unmatched orders after processing the list.”

你需要实现一个 双向 order book

  • buy book:从高到低
  • sell book:从低到高
  • 每来一个新订单就立即撮合
  • 支持 partial match
  • FIFO for orders at the same price
  • leftover 才加入 book

整个过程非常考验细节:

  • 买盘要吃最便宜卖盘
  • 卖盘要吃最高买盘
  • partial fill 后不能直接 break,需要继续循环
  • price 相同但不同时间进来的订单要保持顺序
  • 删除 size=0 的订单节点

很多同学掉在一个经典坑:
剩余 size > 0 时继续撮合,而不是直接 push 到 book。

我们学员当时也是在这个逻辑里停顿,Programhelp 语音提醒了关键一步:“don’t break — continue matching until size becomes zero”,补齐后所有隐藏用例过了。

总结

Optiver 今年 OA 难度整体偏高,但出题非常稳定:

Problem Type Difficulty 考点
P1 Counting sequences 单调逻辑 + 边界
P2 Portfolio backtest 中上 浮点精度 + 累积计算
P3 Order book simulation 交易系统模拟、队列、排序

我们学员最终三题一次 AC,用时 50 分钟左右。Optiver 的 OA 特点就是:
代码要写得快,但更要写得准,不允许有逻辑小错误。

为什么你需要 ProgramHelp 的辅助?

Optiver 的 New Grad Package 起薪通常在 $200k – $300k (Total Comp)。这是你职业生涯中最昂贵的一场考试。

全网最全 Quant 题库: 我们覆盖 Optiver, Jane Street, Citadel, Akuna 等顶级公司的最新题库。刚才提到的这三道题,我们的 Backend 系统中早有完整解法。

Ex-FAANG & Quant 导师坐镇: 我们的辅助不是普通的“代写”,而是由拥有实战经验的资深工程师进行 Real-time Coding Support

100% 安全与原创: 我们不仅保证 All Cases Passed (全绿),更注重代码风格的自然度。我们会根据你的过往代码习惯调整变量命名和逻辑结构,彻底规避 Code Signal 和 HackerRank 的查重与 AI 判定。

author avatar
jor jor
正文完
 0