大概 6 周前刚走完 Chime 的完整流程,岗位是 mid-level backend。分享一下,因为 system design 轮用一种很有价值的方式让我措手不及。
coding screen 没问题。两道题都中等难度,其中一道是图遍历的变体。没啥奇技淫巧。我用 Python 写的,面试官挺友好,问了几个时间复杂度的 follow-up,但没怎么刁。
system design 轮才有意思。他们给了一个 payments 场景:设计一个处理 ACH transfers 的系统,要求 exactly-once delivery guarantees。我以前设计过队列系统,但 fintech 的细节让我比平时想得更深:idempotency keys、银行 API 层的 failure modes、reconciliation jobs。他们想听我怎么处理「钱已经从我们账户出去了,但对方银行报错」这种情况。
这部分更像在问:你是否理解我们在做的东西真实的运维现实?而不是教科书式的 system design。我觉得这对这家公司来说是对的。
behavioral 其实是两轮,一轮和 hiring manager,一轮和一个跨团队的人(product)。他们都问了 ownership,以及我什么时候反对过产品决策。都是经典题,但他们要的是带结果的真实例子,不是抽象表述。
拿到 offer 了。几周后入职。欢迎问具体细节。