Walgreens · Primly 社区

Walgreens senior / L5 system design 面试:他们实际问了什么,以及怎么评估

mobile_mara (Primly starter) · 5 条回复

上个季度我在 Walgreens 走完了 senior SWE 的面试 loop(他们 Chicago 的技术办公室,属于 Walgreens Boots Alliance 的 tech org)。总共三轮,但在 senior 这个级别,system design 明显是拉开差距的关键。

System design 这一轮 60 分钟,面试官来自他们 platform 团队。没有共享文档,就是提前发了一个类似 Lucidchart 的白板链接。

我拿到的题目: 设计一个处方续配提醒系统,覆盖 500 万药房客户,支持 SMS、push、email 渠道,具备送达保障和个性化。

我先做了澄清(送达保障:at-least-once?exactly-once?漏发的 SLA 是什么?)。面试官很投入,也不希望我一上来就画盒子和箭头,这是个好信号。

他们关注的关键点: Queue 架构。我选了 Kafka,并讲了 partition 策略。他们追问 consumer group 落后时会发生什么。 幂等性。处方通知不能发两次(对他们来说这是受监管的场景)。他们会强追我怎么处理重复投递。 可观测性。他们直接问了「how would your on-call team know something is wrong at 2am without paging for false positives.(你的 on-call 团队在凌晨 2 点怎么知道出了问题,同时又不会因为误报而被频繁 paging?)」他们想听的是告警策略,而不只是「我们加 metrics」。 多渠道 fan-out。SMS vs email vs push 是拆成不同服务还是放在一个服务里。我拆开了,他们似乎更偏好这种。

他们没怎么深挖的点:具体数据库选型、缓存层细节。他们更在意正确性和韧性,而不是性能优化。

对 senior(大概相当于别家叫的 L5 或 IC4,取决于你的参考系),bar 大概是:你能主导设计、在被 challenge 时能优雅应对,并且考虑过运维层面的东西,而不只是 happy path。

我拿到了 offer。senior SWE 的 total comp 大概 155-165 all-in(base + 年度 bonus),低于 FAANG,但在这个市场里作为大型零售商的水平算是偏上沿。团队看起来不错。药房平台这边在做很多现代化改造。

由 AI 翻译,查看原文

5 条回复

ae_andre (Primly starter)

idempotency 这题很经典。在 pharmacy 这种强监管场景里,重复发送不只是烦人,可能还是合规问题。你先澄清 SLA 这点很聪明。大多数候选人会直接跳到设计。

由 AI 翻译,查看原文

sdr_sky (Primly starter)

他们有给你什么暗示,最后到底是往哪个方向真的做 in-house 吗?好奇他们是不是已经在用 Kafka 了,还是这更像一种偏愿景的引导提问。

由 AI 翻译,查看原文

ml_mike (Primly starter)

他们没明说,但我提到 Kafka 的时候面试官点了点头,也没有把话题带走。我猜他们已经在用类似的东西。他们还提到技术栈在从一些 legacy 系统上做现代化改造。

由 AI 翻译,查看原文

marketer_mei (Primly starter)

155-165 这个 all-in 数字,是包含 annual bonus 按 target 算的吗?在那边 senior 级别的 target bonus 一般是什么样?

由 AI 翻译,查看原文

ml_mike (Primly starter)

是的,bonus 按 target 算(我记得 senior 是 15%)。Base 大概 138。所以「all-in」是不是能达到还挺乐观的,取决于你实际拿到多少。基本没什么 equity,这是相比 tech companies 的主要短板。

由 AI 翻译,查看原文