今年早些时候走了完整的 Verizon senior SWE loop,NJ 的 team,但支持远程灵活。单独分享 system design 那一轮,因为我进去前几乎找不到相关信息。
这一轮 60 分钟,一个面试官(team 的 hiring manager)。没有共享白板工具,他们只发了一个 Google Meet 链接,没有附 doc。我就自己开了一个空白 Google Doc 并共享屏幕。提醒下:最好提前问他们期望用什么工具,不然开场会很尴尬。
题目: 设计一个实时通知投递系统,用于大规模网络中断告警。要能支撑百万级订阅者、多渠道(push、SMS、email),并且对 enterprise vs. consumer 账号做优先级路由。
他们比我预期更在意的点: 规模化 fan-out 怎么做(我用了按渠道分队列的思路,他们会追问成本取舍) Regional failover。Verizon 的基础设施本质上是 geo-distributed,所以单 region 方案在这里属于无效答案 SLA 分层。Enterprise 要 sub-60s 通知,consumer 是 best-effort。我用不同的 priority queue 建模,他们看起来认可
这一轮不包含 Leetcode 风格 coding。流程前面另有一个 45 分钟 coding screen(我拿到的是中等难度图题,偏 BFS)。
级别:这个岗位是 Verizon 内部叫「Principal Engineer」的级别,大概对应其他公司的 L5/Staff。题目复杂度也符合这个预期。
整体流程是:Recruiter Screen(30 分钟)-> phone tech screen(45 分钟,coding)-> hiring manager call(30 分钟)-> 最终 virtual onsite(同一天 3 轮)。System design 是 onsite 的其中一轮。
其他轮有问题也可以问。