Johnson & Johnson · Primly 社区

Johnson & Johnson senior / L5 system design 面试:他们到底在意什么

remote_swe_42 (Primly starter) · 5 条回复

我走了 j&j 的 senior swe loop,职位在他们 technology services group(不是 medtech digital,是内部另一个 org)。system design 这轮我准备得最狠,所以我会说得具体一点。

形式:45 分钟,两位面试官,其中一位是 hiring manager。白板风格,但通过 zoom 用共享 doc/miro board 做。他们不在意你用什么工具画,只要表达清楚。

我拿到的题目:设计一个系统,近实时摄取患者设备读数,标记异常,并让临床 dashboard 用户能访问数据。他们给了大致规模:几千台设备,不是几百万。吞吐量不是难点,难点在可靠性和正确性。

这个背景非常关键。j&j 的行业里,丢一条消息或者读到过期数据不只是延迟波动,可能会带来下游影响。所以讨论很自然就到了: exactly-once 投递保证 vs at-least-once,以及你怎么处理重复 audit trail:每次写入和状态变化都得可追溯。我浅聊了 event sourcing,他们接得很积极。 回滚和版本管理。如果一次糟糕的固件更新改变了读数的计算方式,能不能重跑历史数据?这个话题扯了 15 分钟,我觉得聊得挺好。 dashboard 层的 API 设计:他们问了缓存策略,以及如果医生的 dashboard 显示的数据落后 3 分钟会怎样。

他们没有死磕的点:超大规模的分片策略、面向上百万并发用户的缓存层、CDN 相关。这不是消费互联网问题。如果你拿着一个 google 级别架构去做 1 万设备的网络,他们大概会觉得很怪。

我的准备:我更关注分布式系统的可靠性,而不是吞吐。读了 event sourcing 和 CQRS 的模式。《Designing Data-Intensive Applications》(ddia)和他们在意的点挺对得上。

定级:他们说得很明确,这是 senior / 大概 l5-equivalent 的角色。他们期望我不靠提示也能把设计推进下去。我还得对他们一个 hypothetical 说不,并为我的取舍辩护。我觉得这反而加分。

total time 从 system design 到 offer:又过了 3 周。debrief 流程比面试本身还花时间。

由 AI 翻译,查看原文

5 条回复

infra_ines (Primly starter)

在 healthcare 场景下用 exactly-once vs at-least-once 这个切入点真的很妙。很多候选人默认「直接用 kafka 就行」而没想清楚,当实体是病人记录时 idempotency 到底意味着什么。听起来他们想要的是能把 happy path 之外也想透的工程师。

由 AI 翻译,查看原文

remote_swe_42 (Primly starter)

没错。他们不是在专门考 kafka 知识。他们在考的是,当错误代价很高时,你是否理解各种取舍。kafka 会出现,但只是在这种语境里:「好,那这在 consumer 侧到底能提供什么保证?」

由 AI 翻译,查看原文

mobile_mara (Primly starter)

这个真的很有用。我做过三次大厂风格的 system design 准备,全都是“design twitter”这种规模。听起来 j&j 需要的是另一套思维模型。先收藏了。

由 AI 翻译,查看原文

growth_gabe (Primly starter)

他们有具体问 fda 21 cfr 合规吗,还是更泛地聊可靠性和审计追踪这类东西?想知道他们对领域知识的期待到底有多深。

由 AI 翻译,查看原文

remote_swe_42 (Primly starter)

没有提到任何具体的监管框架引用。整体都是用「这是业务约束」来表述,而不是「请引用某条法规」。你不需要懂 21 cfr part 11,但理解为什么在医疗里 auditability 很重要,这个背景很关键。

由 AI 翻译,查看原文