【公司调研】微软
面试流程
微软的面试流程一般是:1 轮电话技术面试 + 4-5 轮现场技术面试( 45-60 分钟 /轮)。和大多公司的面试情况一样,面试轮数越往后,面试官的基本越高。一般来说,最后一轮的面试官就是你面的组的大老板了。每一轮面试一般分为三个方面:自我介绍、聊项目、做题。
自我介绍
自我介绍时,要突出重点,把自己的优势都展示出来。而且也要准备英语版本的自我介绍。当然,你也可能遇到外国童鞋面试官,那你就要全程英语面啦~
聊项目
自我介绍之后,面试官一般会根据简历和你的自我介绍进行提问,聊聊你的项目和技术栈。最重要的一点,还是“实事求是”。自己简历上所提到的所有东西一定要能对答如流谈笑风生。介绍项目时,可以使用 STAR 面试法:
Situation:简短的项目背景
Task:自己完成的任务
Action:具体实现,用到的技术
Result:自己的贡献
做题
做题当然时面试的重点啦~ 在面试官说出题目后,一定一定要先了解清楚需求,不要马上就蒙头写代码。要善于向面试官提问,把需求了解清楚,然后花时间去想一想思路。有了思路后,也不要急于撸代码。先和面试官沟通下你的想法,如果面试官觉得 OK,那就可以开始写了。如果一开始没有想出最佳的算法,也可以先想个简单的方案,和面试官说说你的可能不是最优解的想法。也许在沟通过程中,你又会有新的灵感,或者面试官也认可你先写当前的方案,可以之后再优化。
多沟通!多沟通!多沟通!重要的事说三遍!
在写题时,要注重代码风格和命名规范,也要考虑到各种 corner case。写完题目后,要能准确地分析出时间复杂度和空间复杂度。面试官可能还会让你写一些测试用例。在设计测试用例时,对于基本功能、边界情况、性能测试,都要考虑到。