我面了 BMS 的 system design 轮,岗位是他们 data platform team 的 Senior Software Engineer(大概 L5)。这家公司里「senior」意味着大量跨团队协作,所以这轮设计题也反映了这一点。
题目大概是:给临床试验数据设计一个数据摄取和处理 pipeline,需要落到多个下游系统(analytics、regulatory reporting、patient portal)。他们一开始就明确把合规和数据隐私作为约束。
他们真正关心的是: 带合规意识的设计。 追问很狠:PII 放哪,怎么做 audit logging,怎么跨区域强制 data residency 规则。HIPAA 也被明确提到。如果你没做过受监管数据系统,得补课。 可靠性比聪明更重要。 我提了一个很花的 event-driven 架构,想用 Kafka 做 exactly-once semantics,但面试官更在意的是:关键试验窗口里如果停机 6 小时,你们怎么扛。运维上的简单性会加分。 跨职能的清晰表达。 他们问我会怎么把这些 tradeoff 讲给一个完全没有工程背景的 regulatory affairs 团队听。这很 BMS。
我希望自己当时做得更好的一点:我在 happy path 上花太久,失败模式讲得不够。他们明显是在评估你在受监管环境里对「什么会坏」的判断力,而不只是架构覆盖面。
形式:45 分钟,协作 Google Doc,加上 Teams 白板。面试官会提前分享一个写了题目的 doc。感觉更像一起工作一会儿,不是挖坑。
如果你要面 BMS 的 infra 或 platform,建议复习:data residency、audit logging 的常见模式、idempotent pipeline,以及怎么把技术决策解释给非工程师。这不是那种「design Twitter(设计 Twitter)」的公司。