Citadel 是很多理工科同学梦寐以求的金融科技公司,尤其是它家的 Quant 和 Software Engineer 岗位,薪资高、技术硬核、题目难度也不低。这篇文章整理了 Citadel OA 真实体验 + 三道模拟题回顾,适合准备投递的同学收藏。
Citadel OA 基本结构
从 ProgramHelp 长期陪跑与复盘的经验来看,Citadel OA 在结构上非常稳定,但淘汰率极高。它并不靠题目数量取胜,而是通过时间压力、性能要求和一次性正确率,对候选人的算法基本功和抗压能力进行强筛选。
Citadel OA 通常通过 HackerRank 或 CodeSignal 平台进行,支持 Python、Java、C++ 等主流语言。形式上看与其他大厂 OA 相似,但实际体验差异非常明显:平台测试用例覆盖极全,对时间复杂度和边界处理极其敏感,一旦出现 TLE、MLE 或边界遗漏,几乎没有回旋空间。
在题目设置上,常见为 2–3 道算法题,总时长约 60–75 分钟。平均下来,每道题只有 20–30 分钟的完整思考与编码时间。这意味着 Citadel 默认你在看到题目后,能迅速判断解题方向,并直接写出接近最优的实现,而不是通过多轮尝试逐步修正。
从难度分布来看,题目整体集中在 LeetCode Medium 到 Hard 区间。但与刷题网站不同的是,Citadel 很少考纯模板题,更多是需要结合贪心、堆、动态规划或序列处理的综合型问题。即使题面本身不复杂,也往往在输入规模、边界条件或性能限制上设置隐藏卡点。
OA 真题回顾
Q1. Task Scheduling with Limited Threads
题目简述:
给你一组任务,每个任务有 startTime 和 endTime,表示只能在这个时间区间内执行。你有 k 个线程可以并行执行任务。问最多能完成多少个任务?
输入示例:
tasks = [[1, 4], [2, 6], [4, 7], [5, 8]]
k = 2
输出:
3
Q2. Profit Maximization with Transaction Cooldown
题目简述:
给定一个股票价格数组 prices,每次买入必须至少隔一天才能卖出,卖出后也要等待一天才能再次买入(cooldown 1 天)。求最大利润。
输入示例:
prices = [1, 2, 3, 0, 2]
输出:
3
解题思路:
设计三种状态:持有 / 冷却 / 空仓,通过状态转移方程 DP 实现。
Q3. String Mutation Validation
题目简述:
给两个字符串 s1 和 s2,判断是否可以通过以下操作将 s1 变成 s2:每次操作可以将某一段连续字符替换为另一个字符(段长不限),操作次数不限。
输入示例:
s1 = "aabbcc"
s2 = "xyzxyz"
输出:
True
解题思路:
将字符串分成块,对应块之间字符映射保持一致,检查每段映射关系。
高频卡点 & 通关建议
- 时间压力很大:建议熟练掌握堆、状态机 DP、区间处理。
- 调试窗口有限:平台无完整日志,逻辑须一次性写对。
- 代码风格:清晰变量名 + 适当注释。
Programhelp 独家OA助攻服务
你是否也遇到以下问题?
- 面对高强度 OA 不知从何下手
- 写出思路却在细节调试上崩盘
- 多次卡在 final round 临门一脚
Programhelp 提供 OA 代写服务:
- 无痕代写,实时代码联调
- 语音讲解思路,快速扫除逻辑盲区
- 模拟平台练习,熟悉真实环境
已帮助多位同学顺利通过 Citadel / Jane Street / Two Sigma 等高频 OA,拿下 dream offer!