三周前收到了拒信。过了几天缓一缓,跟 recruiter 简单聊了下,想写一篇复盘,内容是我在开始准备前就希望有人写出来的那种。
背景:我面的是 tech 方向的一个 software engineering 角色(不是 trading,不是 quant)。流程是:先 recruiter phone screen,然后工程师 technical phone screen,最后是五轮 onsite:两轮 coding,一轮 system design,一轮 behavioral,一轮 domain-specific。
我觉得我哪里没做好,说实话。
coding 轮并不是我以为自己会卡住的地方。我一直在 LeetCode 上稳定练,medium 和偶尔 hard 都能做出来。但 Citadel 的 coding 更不像「解谜题」,而更像「write clean, idiomatic code you'd actually ship.(写出干净、地道、你真的会上线的代码。)」。我太急了。解是做出来了,但有点糙,而且我没有把取舍讲清楚。被提示后我能修,但我应该从头到尾更自然地持续 narrate。
system design 才是更大的短板。我是 mid-level,我的 system design 准备偏向「通用分布式系统」题。Citadel 这一轮更像是:给你一个真实的金融数据问题,设计一个能扛住它的东西。我回答得太泛了。我应该更多准备:对延迟敏感的架构、金融场景下的数据一致性、以及 trading infrastructure 里真正重要的容错要求。
behavioral 轮当下我觉得还行。但现在回头看,我的答案太偏技术解题故事,不够讲那些我如何跨团队影响、如何处理模糊性、如何在真实组织摩擦中推进事情。这些才是他们在 senior+ level 想看的。
如果重新准备:更强调写干净代码的习惯(不只是写对),练习用 fintech 或 trading 语境讲系统取舍,并且更系统地准备 behavioral 故事。祝正在面的人好运。