上个月刚结束我的 Ramp 流程。下周入职,做 senior SWE。想写一下 system design 那轮到底长什么样,因为我进去之前找不到太多细节。
设计面 60 分钟。面试官是工程师,不是 recruiter。他们很快就会给题,然后让你主导。我拿到的题是:设计一个 spend limits 和 approvals 系统的核心。对 Ramp 来说非常契合他们的产品,不是那种泛泛的「design Twitter(设计 Twitter)」题。
他们真正评估什么: 你能不能快速定 scope?他们不想你花 20 分钟问澄清问题。问 3-4 个高质量问题就推进。 你是否理解真实 fintech 规模下的数据建模?Transactions、分类规则、审批工作流。考虑幂等性,以及如果 approval webhook 触发两次会怎样。 API 设计:REST 还是 event-driven。我选了用异步事件做审批流,他们会 push back 一点看我怎么 defend。能 defend 你的选择比选「正确」方案更重要。 故障模式。他们专门问了如果 approvals service 在交易中途挂了会怎样。我一开始有点答崩了,然后面试官引导了我。
Level 大概对标 FAANG 的 L5。他们不公开用 L 编号,但你可以在 offer call 里问。
Comp 参考:我的 offer 是 $195k base,~$250k 的 equity(4 年),标准 health。NYC remote。我觉得对这个 level 算合理。base 基本没怎么动,但我谈判拿到了更多 equity。
有一件事没人提醒我:带上你真实做过的系统例子。他们想要细节,不想要教科书答案。我聊了我在上一家公司做的 rate limiting 系统,效果很好。
欢迎提问。下周一开干。