Microsoft SDE-2 面试经验
面试详情
Round 1:算法与数据结构
第一题是 Longest Repeating Character Replacement 的变体。
面试中讨论了 brute-force 和 optimal 两种解法,并进行了代码实现。
第二题是一道 Medium 难度的 Tree Traversal 题目。
此外,本轮还讨论了一些基础的 DSA 概念。
Round 2:Windows Notification System
设计一个 Windows 的通知系统(Notification System),允许不同的应用程序生成并显示通知。
本轮面试允许并要求使用 AI 辅助。
面试官重点考察的并不仅仅是直接使用 AI 生成代码,而是整个 AI 辅助开发过程,包括:
- 如何撰写 Prompt。
- 如何根据 AI 的回答不断 Refinement Prompt。
- 如何评估 AI 给出的回答。
- 如何判断 AI 生成的结果是否合理。
Round 3:Proximity Search
设计一个 Proximity Search 系统,用于外卖场景下查找 10 公里半径范围内的餐厅。
本轮包含多个 Follow-up,需要针对具体场景不断深入讨论设计方案。
面试结束前,还需要手写实现所讨论的设计方案中的部分代码。
Round 4:Linux cp 命令
本轮围绕如何实现 Linux 的 cp 命令展开。
在此基础上进一步深入讨论了 Operating Systems 和 C++ 的底层概念。
同时结合简历中的项目经验,考察了大量与以下方向相关的知识:
- Operating Systems
- C++
- Low-level concepts
Round 5:Behavioral
本轮围绕简历、过往工作经历和个人成就展开行为面试。
主要讨论:
- 过往项目经历。
- 技术架构决策(Technical Decisions)。
- 个人贡献(Individual Contributions)。
- 项目中遇到的挑战(Challenges)。
- 工作带来的影响力(Impact)。
面试结果反馈
- 最终结果:Pass




