目录
正在加载目录...

Akuna Capital OA|三题思路分享,quant 厂风格很有特点

刚做完一场 Akuna Capital OA ,三题整体偏实现加一点博弈/置换,读清规则就能过。这类题在纯算法厂不常见,Akuna 的题风有自己的特色——Q1 是置换环的经典应用,Q2 是需要对着样例确认规律的博弈题,Q3 是排序加相邻扫描。把思路完整写下来。

Akuna Capital OA|三题思路分享,quant 厂风格很有特点

Q1:最少交换次数变成严格降序

题意

数组 popularity 是 1 到 n 的一个排列(每个数唯一出现)。一次可以交换任意两个位置的元素,求变成从左到右严格递减所需的最少交换次数。

示例:[3,4,1,2] → 最少 2 次交换可以得到 [4,3,2,1]。

思路

目标序列是 n, n-1, …, 1,也就是第 i 个位置(0-indexed)应该放值 n-i。

把当前排列和目标排列的对应关系看作一个置换:每个值现在在哪个位置、它应该去哪个位置。置换可以分解成若干个环,每个长度为 L 的环需要 L-1 次交换才能把所有元素送到目标位置。

所以总交换次数 = Σ(L – 1) = n – 环的个数。

实现上,先建一个数组 pos 记录每个值当前所在的位置,再用 visited 数组标记是否已处理,逐个出发数环的长度,O(n) 完成。n 到 2e5,完全够用。

Q2:元音子串删除博弈(Alex vs Chris)

题意

对每个字符串,两人轮流删子串:Alex 先手,只能删元音个数为奇数的子串;Chris 后手,只能删元音个数为偶数的子串。双方都最优操作,删掉最后一个合法子串的人获胜。元音是 a、e、i、o、u。对每个字符串输出赢家。

示例:”gil”(1 个元音)→ Alex 胜;”dry”(0 个元音)→ Chris 胜。

思路

这道题的关键是找到奇偶性和胜负之间的规律。先统计整个字符串的元音总数 v。

最优博弈下的规律:如果 v 为奇数,Alex 可以直接删整个字符串(元音数为奇数,满足 Alex 的操作条件),一步结束游戏,Alex 胜;如果 v 为偶数(包括 0),整个字符串元音数为偶数,Alex 无法一步删掉整串,而任何他能删的奇数元音子串操作之后,剩下的部分元音数仍是奇数,局面转移给 Chris 时 Chris 同样面临奇数元音,Chris 可以一步删掉,Chris 胜。

结论:统计元音个数,奇数 Alex 胜,偶数(含 0)Chris 胜。

这个结论要对着样例验证再交,不同场次可能有细微规则差异,先跑题目给的例子确认奇偶判断方向没有反。n ≤ 100、串长 ≤ 1e5,逐串 O(len) 统计即可。

Q3:最小绝对差的所有数对

题意

数组 latencies 元素互不相同。找出所有绝对差等于全局最小绝对差的数对,对内小数在前,对列表按数值升序排列。

示例:[6,2,4,10] → 最小差为 2,结果是 [[2,4],[4,6]]。

思路

排序之后,最小绝对差一定出现在相邻元素之间——因为排序后任意非相邻元素的差都大于等于相邻元素的差。所以不需要枚举所有组合,只需要扫相邻元素。

第一遍扫求最小差 minDiff;第二遍扫收集所有 a[i+1] – a[i] == minDiff 的数对 [a[i], a[i+1]] 加入结果。排序之后结果天然有序,不需要额外排序。

O(n log n),n 到 1e5 没问题。

Akuna Capital 面试完整流程

OA 只是第一关,Akuna 的完整流程比很多人预期的长。

OA:HackerRank 平台,通常 75 分钟,两到三道题。题风偏实现加博弈,不出纯算法套路题。

Super Day:OA 通过之后直接进 Super Day,一天内多轮连着打,是 Akuna 真正的核心考核。通常包含:

数学/概率轮——期望值、条件概率、骰子题、贝叶斯推断,这轮权重很高,是 Akuna 和纯算法大厂最大的区别。

Coding 轮——现场手写,难度 Medium 到 Hard,偏图论、动态规划、字符串处理,和 OA 的实现类有区别。

BQ 轮——聊项目经历、技术决策、为什么想做 quant/算法交易方向,Akuna 很看重候选人对金融市场和做市商业务的了解程度。

整个流程从投递到 Super Day 通常 2 到 4 周,Super Day 结束后 1 到 2 周出结果。

Akuna 高频题型总结

综合多份面经,OA 和 Super Day Coding 的高频方向:

OA 高频

置换环类:最少交换次数、还原排列、置换周期——Akuna OA 的标志性题型,出现频率极高,原理固定(总次数 = n – 环数),提前掌握一次性写对。

排序扫描类:最小绝对差、区间合并变体、有序数组的窗口问题——Q3 就是这类,思路简单但细节要对。

博弈/规律类:奇偶性博弈、Nim 变体、简单数学游戏——Q2 是这类,先找规律再动手,不要上来暴力模拟。

Super Day Coding 高频

图论:最短路变体(Dijkstra / BFS)、拓扑排序、连通分量。

DP:区间 DP、背包变体、状态压缩。

数学:快速幂、组合数、概率期望的编程实现。

数学/概率轮高频

这轮是 Akuna 区别于普通算法厂最明显的地方,提前把大学概率论的核心概念过一遍:

抛硬币期望值(带偏置)、掷骰子条件概率、蒙提霍尔问题变体、赌徒破产问题、几何概率、贝叶斯更新。配合 Jane Street、DE Shaw 的量化面试题库练习效果最好。

FAQ

Akuna OA 通过之后是直接 Super Day 还是有中间环节?
通常 OA 过了之后直接安排 Super Day,没有额外的 phone screen 环节,节奏比较紧凑。可以在 Akuna 官网的 Careers 页面确认当前开放岗位和招聘流程说明:https://akunacapital.com/careers

Super Day 一天打几轮,需要多长时间?
通常 4 到 6 轮,一天内打完,每轮 45 到 60 分钟,包括数学概率、coding、BQ。体力和心理压力都不小,前一天保证休息。

Akuna 的数学/概率轮有多难?
难度中等,不会出研究生级别的随机过程,但大学概率论要很扎实。期望值、条件概率、贝叶斯公式是核心,骰子题和扑克牌题是高频场景。

没有金融背景可以面 Akuna 吗?
可以,Akuna 招 SDE 岗不强制要求金融背景,但对市场微观结构、做市商业务有基本了解会在 BQ 轮有明显加分。Akuna 官网的 Culture 页面有他们对工程师背景的描述,提前看一遍对 Why Akuna 的准备很有帮助:https://akunacapital.com/culture

挂了有冷冻期吗?
通常一年,具体可以问 recruiter 确认。

北美笔试/面试无需孤军奋战

Akuna 这类 quant 厂 OA 的题风和纯算法大厂不一样——Q1 的置换环、Q3 的排序扫描都是思路想对了代码量很小,Q2 的博弈题要先找规律再动手,不能上来就暴力模拟。

Q2 是这场最容易翻车的地方,奇偶规律要对着样例验证,方向反了整题全错。建议先把题目给的几个样例手算一遍,确认自己的判断方向对了再写代码,比直接下手稳很多。

有在准备 Akuna 或其他量化公司 OA 的同学,可以来找我们聊聊。InterviewShow 长期跟进 Akuna、Jane Street、Optiver 这类量化公司的题型,置换环、博弈分析、排序变体都有专门覆盖,有需要的来聊。

END