3 月我走完了 Microsoft frontend 面试 loop,岗位在 Teams web client team。趁还记得清楚,分享一下笔记。
流程: 和 recruiter 的 phone screen,和 engineer 的 coding screen,然后是 4 轮 virtual onsite。
coding screen: 一道中等 LC 风格的题。它本质是 DOM manipulation,但包装成了一般算法题。他们要我用 JS/TS 写,并且希望我讲时间复杂度。没什么套路,就是基础能力检查。
onsite 四轮:
round 1 - coding:又一道算法题,中等难度,偏 graph。我感觉他们在意你会写,但并不是想用拐弯抹角的题来坑你。干净的解法、合理的复杂度就是他们想要的。
round 2 - frontend system design:这是最有特点的一轮。给了一个类似「设计一个实时协作编辑器」的题,然后深挖。他们特别追问:你怎么做 state synchronization,你对 optimistic UI updates 的思路是什么,你怎么处理 offline mode。我之前几乎没看到 microsoft 的 frontend system design 复盘,这轮比我预期更高级。
round 3 - behavioral:STAR 故事。他们问了「描述一次你不同意一个技术决策,以及你怎么处理的」和「讲讲一个你最自豪的项目」。又是那种 growth mindset 的表达。
round 4 - manager conversation:更像「这是团队情况,你有什么问题」的氛围,但他们还是在评估 culture fit。我问了 frontend 的 on-call 预期(答案:有一些,主要围绕部署健康)。
他们在 frontend 里看重什么: performance 真的是一个核心维度。我在回答里结合 bundle size、lazy loading、web vitals,效果很好。accessibility 简单提到了。他们没有特别深挖 CSS 细节,但期望你能熟练。
offer: Redmond 的 L62,base $195k,RSUs $280k(4 年)。从我接触来看 teams web 是个不错的团队。