NiceOffer

面试面经 · Microsoft

【Microsoft】【Software Engineer】四轮 Loop,Coding 为主 + 一轮 Behavioral,工作生活平衡感拉满

MicrosoftSoftware EngineerNew Grad面经Loop Interview

【Microsoft】Software Engineer

基本信息

项目内容
公司Microsoft
岗位Software Engineer (New Grad, Level 59)
轮次OA + Loop Interview(四轮)
时间2025
面型体感面试官整体友好、鼓励型,压力较小,但 coding 要求不低
结果Offer

面试题目(按提问顺序)

Online Assessment(OA,远程,60 min)

  1. 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)

  1. Design a Stack with Min Operation(LeetCode #155 变体)
  • Design a stack that supports push, pop, top, and getMin operations, all in O(1) time.
  • 双栈法或辅助栈法,用额外栈同步记录最小值。
  • Follow-up:如果空间是限制条件,能否优化到只用一个栈?

Round 2:Coding(50 min)

  1. Graph Valid Tree(LeetCode #261 变体)
  • Given n nodes labeled from 0 to n-1 and a list of undirected edges, check if these edges form a valid tree.
  • Union-Find 或 DFS 检测环 + 连通性。
  • Follow-up:如果是 directed graph,如何判断是否为 valid tree?
  1. 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)

  1. 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 在哪半段,再决定搜索方向。
  1. 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)

  1. 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 慢,有更多时间思考和讨论