我在 2026 年初做了 Merck senior 的 SWE system design 轮。面完立刻记了笔记,因为形式跟我想的不一样。
先说一下定级背景。Merck 的内部 level 不太能直接映射到 Google 那种 L5/L6/L7,或者 Meta 的同等体系。他们把 senior 的 IC band 按 org 不同叫成类似「principal」这种。就我面试的这个岗位,他们说大厂语境里等价于「senior」,在 pharma 通常意味着 7-10 年 YOE。
system design prompt 本身是:「design a platform that ingests clinical trial data from multiple sites and makes it queryable by researchers in near-real-time.(设计一个平台,从多个站点摄取临床试验数据,并让研究人员可以近实时查询)」。偏领域相关,不是泛泛题。我很庆幸自己对临床试验数据 pipeline 的样子有点概念(site submissions、audit trails、监管约束)。如果你在 Merck 面 health tech 或受监管行业的岗位,建议复习一下 data lineage、audit logging,以及为什么在受监管数据集里你不能随便 DELETE rows。
他们最在意的: 大规模数据 ingestion(streaming vs batch,他们两者都接受,只要你能自圆其说) 对合规关键数据的 consistency vs availability 取舍 访问控制:谁能看什么,明确聊到了 RBAC 设计 failure modes,以及你会怎么做告警
他们没怎么逼问的: 纯粹的延迟数字(这不是低延迟交易系统) CDN / 前端分发 超大规模的成本优化(他们不是 AWS 级别)
面试官是 principal engineer,问的澄清问题都挺好,不是来挖坑的。我在深入讲 monitoring 之前时间就不够了,他就说「我们先记下来,往下走」,感觉很协作。
有一点我想强调:别假设他们只想要纯 cloud-native microservices 的答案。他们有不少 on-prem 基础设施要跟 cloud 集成。在设计轮里问「what's the existing environment(现有环境是什么样的)」得到的反馈很好。
整轮 60 分钟:大概 10 分钟定范围,35 分钟设计,15 分钟 Q&A。带点关于他们实际在做的平台的问题去问。