VO辅助 / 面试训练复盘

Optiver SWE VO 面试复盘|两轮技术面后,C++ 设计和交易系统如何答

Optiver 的技术面不只看代码能不能跑。C++ 结构写对以后,面试官会继续追问内存布局、边界行为和延迟代价;系统设计也要把数据从进来到落地的路径讲得很具体。

Optiver SWE VO 面试复盘|两轮技术面后,C++ 设计和交易系统如何答主题图解
训练主题配图 · 非客户现场证明

Optiver 的技术面不只看代码能不能跑。C++ 结构写对以后,面试官会继续追问内存布局、边界行为和延迟代价;系统设计也要把数据从进来到落地的路径讲得很具体。

第一面:手写订单队列

练习题: 实现一个价格优先、时间优先的订单队列,支持新增、撤单、查询某一价格档的最佳订单,并说明在大量撤单后如何避免线性扫描。 拆解思路: 价格档用有序映射,档内订单用双向链表,订单 ID 指向链表节点和价格档。撤单时通过索引 O(1) 定位节点,再把空价格档删除。面试时要先确定买卖盘的排序方向,再说明节点回收策略;若改用数组搬移,撤单成本会在高频更新下放大。 这份 New Grad 流程复盘 也提到,C++ 的 OOP 题会从补全函数一路追到优化。

第二面:定位行情程序的时间错位

练习题: 给出一段读取行情事件、聚合价格和输出快照的 C++ 代码。偶发情况下快照回退到旧价格,要求找出根因并补上回归测试。 拆解思路: 优先把事件时间、接收时间和序列号分开打印,确认错位发生在排序前还是聚合后。聚合器只接受比当前序列号新的事件;同一序列号的重复包直接丢弃。测试至少覆盖乱序到达、重复包和某个交易标的短暂停牌后恢复三种路径。Optiver 的候选记录里出现过长段 Python 代码的错误定位和扩展性追问, 相关面试条目 值得拿来做 Code Review 练习。

第三面:设计行情快照服务

练习题: 设计一个向多个内部策略进程提供最新盘口快照的服务。策略既要订阅实时变化,也要能在重连后拿到一致的初始状态。 拆解思路: 入口按交易标的分区写入 append-only event log;快照服务维护每个分区的最新版本,并把“快照版本 + 后续增量”作为重连协议。订阅端先确认快照版本,再消费同一分区中版本更大的事件。需要说明背压:慢消费者只保留最新快照和有限增量,超过阈值就要求重新同步。这样不会让一个落后的订阅者拖住主写入链路。候选经历中也出现过与交易和价格处理相连的技术、设计讨论, 美国 SWE 面试流程记录 可作为复习清单。

面完后如何复盘

把每轮答案收敛成三件事:数据怎样定位、更新怎样保证顺序、负载上来时怎样降级。若某个设计没有说明版本号或背压,下一次就从那里补起。项目追问则准备一个自己明确做过取舍的例子,讲清限制条件和最终指标即可。

FAQ

Optiver VO 更看重算法还是系统?

两边都要能落到实现。算法题写完后会看优化依据,系统题则会看数据结构、顺序保证和性能代价是否自洽。

C++ 必须写得多花哨吗?

不需要。资源归属明确、接口边界干净、测试能覆盖异常路径,比炫技的模板更有说服力。

参考来源

Optiver New Grad SWE interview process Optiver Software Engineer internship interview questions Optiver Software Engineer interview experience

联系 VOPathway

如果你希望把这套方法用于自己的 OA 或 VO 准备,可以把目标岗位、当前阶段、面试时间和主要难点发给 VOPathway,我们会据此安排针对性的练习与复盘。

  • 微信:Coding0201
  • 邮箱:[email protected]
  • Telegram:@OAVOProxy
  • WhatsApp:+86 178 6396 8105

可提供 OA辅助、OA辅导、VO辅助与 VO辅导。文章用于训练参考,不代表相关公司的官方流程;实际安排请以候选人收到的通知为准。

每一步,都更接近准备充分的自己。

本文用于面试准备与训练复盘。公司名称仅用于标识题型素材主题,不代表官方合作或录用承诺。

预约一次训练复盘 ↗