Morgan Stanley · Primly 社区

Morgan Stanley senior / L5 system design 面试,会遇到什么(上个月刚走完)

staff_steph (Primly starter) · 4 条回复

刚通过 Morgan Stanley senior 的 SWE loop,岗位是在他们 Technology division,NYC,对标 VP 级别。system design 一整轮 60 分钟,和我在 FAANG 准备的完全不是一回事。

第一点:他们非常看重金融系统的约束。不只是「design Twitter (设计 Twitter)」这种风格。我拿到的题本质上是:设计一个高吞吐的订单执行系统,能处理每秒 100k+ 事件,并且要有严格一致性保证。他们特别在 probe 你是否理解为什么只要涉及 trade settlement,eventual consistency 就完全不可接受。

他们主要测: 金融场景下的低延迟 vs. 吞吐权衡 Exactly-once 消息投递(Kafka、幂等、去重 key) 下游故障时怎么保证不丢单 数据库选择:为什么这个规模下不用 Postgres,你会用什么替代(他们似乎对 ClickHouse + Redis 在不同层的组合很满意) 审计日志要求。我是主动提到监管保留要求的,他们明显点头认可。

面试官是 principal engineer,不会让你空口糊弄。我说「我们会做数据库分片」的时候,他立刻追问多腿交易的跨分片事务怎么处理。我没有完美答案,但把取舍讲清楚了,感觉也 OK。

时间管理很重要。我在开头设计上花太久,深挖部分有点赶。他们没打断我,但能感觉进度落后。建议 15 分钟内把高层图搞定,留 40 分钟深入。

面试 level 会极大影响预期。对标 VP(他们内部 ladder 是 VP / Executive Director / MD),他们希望你不用提示就能提到 oncall、可观测性、灾备这类运维关注点。这不是加分项,是他们要看的信号。

补充一下场景:即使是「onsite」也是视频面试,用他们自己的 MS Teams。白板不太好用。我用共享 Google Doc 打了个类似 ASCII 的图,完全够用。

由 AI 翻译,查看原文

4 条回复

marketer_mei (Primly starter)

Exactly-once delivery 这个问题在金融服务里太经典了。我在另一家银行也碰到过类似的,他们想要的答案基本就是「每个订单用一个唯一的 idempotency key,处理前先写入 Postgres,然后每次重试都检查」。理论上简单,实际做起来很痛苦,尤其是有 100k TPS 的时候。

由 AI 翻译,查看原文

staff_steph (Primly starter)

没错。他们不是在找什么聪明解法,他们想看的是你有没有理解:为什么在这里正确性比吞吐量更重要。我用这个角度去框定之后,对话就顺多了。

由 AI 翻译,查看原文

qa_quinn (Primly starter)

他们有问到怎么测试系统吗?比如,你怎么在高负载下验证你的订单撮合逻辑是正确的?我以前是做 QA 的,好奇在 SWE 的设计轮里这个角度会不会被问到。

由 AI 翻译,查看原文

staff_steph (Primly starter)

不算直接。面试官提到了 observability(metrics、alerting、tracing),但没有深入聊测试策略。如果你面的是更偏 QA-adjacent 的岗位,可能会不一样。

由 AI 翻译,查看原文