面试面经 · Microsoft
【Microsoft】【Software Engineer】四轮 Loop,Coding 为主 + 一轮 Behavioral,工作生活平衡感拉满
【Microsoft】Software Engineer
基本信息
| 项目 | 内容 |
|---|---|
| 公司 | Microsoft |
| 岗位 | Software Engineer (New Grad, Level 59) |
| 轮次 | OA + Loop Interview(四轮) |
| 时间 | 2025 |
| 面型体感 | 面试官整体友好、鼓励型,压力较小,但 coding 要求不低 |
| 结果 | Offer |
面试题目(按提问顺序)
Online Assessment(OA,远程,60 min)
- OA Coding 题
- Given a string, find the longest substring without repeating characters.
- Sliding Window 经典题,LeetCode #3 原题。
Loop Interview(四轮,每轮约 45-60 min)
Round 1:Coding(50 min)
- Design a Stack with Min Operation(LeetCode #155 变体)
- Design a stack that supports
push,pop,top, andgetMinoperations, all in O(1) time. - 双栈法或辅助栈法,用额外栈同步记录最小值。
- Follow-up:如果空间是限制条件,能否优化到只用一个栈?
Round 2:Coding(50 min)
- Graph Valid Tree(LeetCode #261 变体)
- Given
nnodes labeled from0ton-1and a list of undirected edges, check if these edges form a valid tree. - Union-Find 或 DFS 检测环 + 连通性。
- Follow-up:如果是 directed graph,如何判断是否为 valid tree?
- Task Scheduler(LeetCode #621)
- Given a char array representing tasks and a non-negative integer
n(cooldown), return the least number of intervals the CPU will take to finish all tasks. - 贪心 / 数学法:找出最高频任务,计算最小时间槽。
Round 3:Coding + Design(50 min)
- Search in Rotated Sorted Array(LeetCode #33)
- Given a rotated sorted array and a target value, return the index of the target. If not found, return -1.
- 二分查找变体,先判断 mid 在哪半段,再决定搜索方向。
- Mini System Design: Design a Notification System
- Design a system that can send notifications (email, SMS, push) to users based on different events.
- 考察点:策略模式、观察者模式、队列(异步发送)、重试机制、限流。
Round 4:Behavioral / As Appropriate(45 min)
- Behavioral Questions
- "Tell me about a time you worked on a team where there was conflict. How did you handle it?"
- "Describe a project where you had to learn a new technology quickly."
- "Tell me about a time when you received constructive criticism. How did you respond?"
- "Why Microsoft? What interests you about working here?"
- "How do you balance quality vs. speed when working on a project?"
面试感受 / 反馈
- Microsoft 的面试整体氛围是 四家大厂中最友好的,面试官会主动引导和提示
- Coding 题难度稳定在 Medium,很少有 Hard 题,但对代码质量要求高
- Behavioral 轮没有 Amazon 那么 deep dive,更像是"聊天式"了解你的工作风格
- Mini System Design 不是纯画图,更偏向 OOP Design / 设计模式的应用
- 四轮面试结束后有一个 hiring committee review,结果通常 3-5 个工作日内出来
- Microsoft 的 WLB 确实名不虚传,面试官自己也提到了 work-life balance 的文化
准备建议
- Coding:二分查找、Union-Find、栈设计、贪心题是 Microsoft 高频
- Mini Design:复习常见设计模式(Strategy、Observer、Factory),能画出 UML 图更好
- Behavioral 准备 3-5 个故事即可,不需要像 Amazon 那样覆盖 16 条 LP
- Microsoft 非常看重 collaboration 和 communication,面试中多展示团队合作经历
- 面试节奏比 Google/Meta 慢,有更多时间思考和讨论