韩老师 2012 年暑期在微软实习,2013 年正式入职微软,算下来在微软已经快有 7 年的时间了。虽然是 90 后,但在微软可以算是个老员工了~ 七年间,韩老师作为面试官面试过许多人,作为推荐人也推荐成功不少优秀的候选人。在这篇文章中,韩老师总结了一些微软面试的要点,希望帮助大家能更好地来准备面试,拿到自己心仪的 offer ~

最近微软正在热招,有兴趣的童鞋,请砸简历到 junhan(AT)microsoft(DOT)com , 如果合适,我会帮大家内推~ 也欢迎找我来咨询详情~

[内推] 微软大量职位热招:Azure Management Experience & Java on Azure

长期准备

想要拿到微软 offer,只靠面试前几周的冲刺是万万不够的。只有细水长流,把自己的实力全面提升,才是重中之重。

  • 基础知识

这个不用多说,作为一个优秀的程序员必须要很好地掌握编程语言、数据结构、算法、数据库、操作系统、网络等基本功。

  • 刷题

韩老师当年毕业找工作时,看的是何海涛老师的《剑指Offer》,讲的非常全面,值得一读。

近些年来,刷 LeetCode 越来越流行。有很多童鞋会问,刷多少比较合适呢?当然是多多益善咯~ 不过一般来说,韩老师觉得,至少刷个 50 题,是个比较合理的数量。当然,如果你之前搞过 ACM 或者 NOIP,你可能只需要练练手,找回当年的感觉就行了。

在 LeetCode 刷题时,要注意控制做题的时间。做完题目就算 AC 了,也要参考学习一些其他人的解决方案,开阔自己的思路。刷题不仅要有数量,还要注重质量。推荐大家使用 LeetCode for VS Code: Offer 收割利器 进行刷题。

说到《剑指Offer》,还想起当年一件有意思的事。有次吃完午饭,在公司附近散步,正好遇到了何海涛,他说他那时来面微软,遇到了各种奇形怪状的难题,也是醉醉的。哈哈~ 我在想,也许当时面试他的面试官都是看的他的《剑指Offer》面进的微软,一定是要绞尽脑汁,出一些何老师没有遇到的题吧~

  • 英语

无论你是否在外企工作,当遇到技术问题时,用英语在 Google 或者 Bing 进行技术相关内容的搜索是必备的能力。有大量的第一手的技术文档或是博客都是英语的,如果你没有用英语进行学习的能力,很难成为一个真正优秀的程序员。

做一个骄傲的 Stack Overflow 程序员也是走向成功的必经之路。

在微软的话,有些组是需要和美国总部或是其他国家的同事合作的,能否与国外同事谈笑风生,就要看你平时的积累了。

  • 开源项目

近些年来,微软越来越拥抱开源。VS Code 就是一个最好的例子。如果你有一个好的开源项目,一定是一个加分项。如果没有自己的开源项目,积极地参与到其他开源项目,也是个很好的选择,可以发 PR 也可以提 Issue。

参与开源项目,对自己也会是一个很大的提升。韩老师自己就是个很好的例子:[VSCode插件开发] 由浅入深,带你了解如何打造百万级产品

针对性准备

针对所要面试的职位,做出有针对的准备,才能事半功倍。

  • 简历

  1. 准备英文简历

  2. 事实就是:除非你是真的精通某个技术栈,否则慎用“精通”二字。

  3. 针对面试的职位,突出重点:比如你是面我们的 Java 组,在简历中可以着重突出 Java 相关的项目和技术栈。

  • 白板做题

微软面试一般是在白板上做题。离开了 IDE,你是否还能轻松写出高质量的代码?建议在面试之前,脱离 IDE,进行一些训练。一般来说在面试做题时,对语言没有硬性要求。如果做题时,忘了某个语言的 API 具体的签名或是参数,也不是问题,只要和面试官说清楚就行。我们并不是考察你对某个语言的 API 有多熟练。

面试流程

微软的面试流程一般是:1 轮电话技术面试 + 4-5 轮现场技术面试( 45-60 分钟 /轮)。和大多公司的面试情况一样,面试轮数越往后,面试官的基本越高。一般来说,最后一轮的面试官就是你面的组的大老板了。每一轮面试一般分为三个方面:自我介绍、聊项目、做题。

  • 自我介绍

自我介绍时,要突出重点,把自己的优势都展示出来。而且也要准备英语版本的自我介绍。当然,你也可能遇到外国童鞋面试官,那你就要全程英语面啦~

  • 聊项目

自我介绍之后,面试官一般会根据简历和你的自我介绍进行提问,聊聊你的项目和技术栈。最重要的一点,还是“实事求是”。自己简历上所提到的所有东西一定要能对答如流谈笑风生。介绍项目时,可以使用 STAR 面试法:

  1. Situation:简短的项目背景

  2. Task:自己完成的任务

  3. Action:具体实现,用到的技术

  4. Result:自己的贡献

  • 做题

做题当然时面试的重点啦~ 在面试官说出题目后,一定一定要先了解清楚需求,不要马上就蒙头写代码。要善于向面试官提问,把需求了解清楚,然后花时间去想一想思路。有了思路后,也不要急于撸代码。先和面试官沟通下你的想法,如果面试官觉得 OK,那就可以开始写了。如果一开始没有想出最佳的算法,也可以先想个简单的方案,和面试官说说你的可能不是最优解的想法。也许在沟通过程中,你又会有新的灵感,或者面试官也认可你先写当前的方案,可以之后再优化。

多沟通!多沟通!多沟通!重要的事说三遍!

在写题时,要注重代码风格和命名规范,也要考虑到各种 corner case。写完题目后,要能准确地分析出时间复杂度和空间复杂度。面试官可能还会让你写一些测试用例。在设计测试用例时,对于基本功能、边界情况、性能测试,都要考虑到。

总结

想要成功地拿到微软 Offer,离不开平时的内功修炼和面试前的最后冲刺,做好充分的准备是成功的关键。也欢迎大家找韩老师内推,韩老师会全程进行 follow up,给出面试准备的建议,助你一臂之力!

关注韩老师的“HJ说”微信公众号,可以获取最新微软内推信息。祝大家面试成功~

“ HJ说 ”微信公众号

微软面经分享:如何更好地做好面试准备相关推荐

  1. 微软张亚勤:分享读《孙子兵法》体会和领导力培养

    微软张亚勤:分享读<孙子兵法>体会和领导力培养 --在微软中国研发集团领导力拓展峰会上的发言 张亚勤 感谢人力资源部同事的精心安排,使得我们的高层领导团队每半年就可以象今天这样聚在一起,回 ...

  2. 微软私有云分享(R2)1-自定义脚本

    各位亲爱的同学们,很久没有更新更新博客了,由于众所周知的原因,微软在去年10月份发布了Windows Server 2012 R2和System Center 2012 R2,因此我的System C ...

  3. UI设计培训分享:UI设计师如何准备面试?

    很多参加完UI培训的同学后期都是需要面临找工作的,那么面试环节是必须要经历的,今天小编为大家介绍的内容就是关于UI设计师如何准备面试?希望下面的内容能够帮助到正在找工作的同学们. UI设计培训分享:U ...

  4. 新站长更要努力做好SEO相关的优化

    网站经营是很累的,特别是新站长更要努力做好SEO相关的优化,同时要选择好网站的域名.关键词.做好内容和静态页面等,这样才能使网站优化起一点的作用,48论坛一直在这样努力进行着. 在准备网站建设的时候, ...

  5. 程序员面试第一步:如何让你的简历更受青睐,阿里面试官总结了四点

    本文转载自:程序员面试第一步:如何让你的简历更受青睐,阿里面试官总结了四点 简历是面试的敲门砖.除非你是内推,或者知名大佬,招聘人员仔细了解你,一般是从读简历开始的. 简历在以下两个场景中有关键作用: ...

  6. 微软私有云分享(R2)13 处理孤立资源

    孤立资源的定义和丢失资源类似,但其更容易产生:孤立资源是当管理员通过VMM控制台删除某台含有被特定虚拟机模板所调用的资源的库服务器时,所被动产生的. 第1步,当库服务器通过VMM控制台正常被删除时,相 ...

  7. 微软私有云分享(R2)8-PowerShell下载文件

    看过九叔之前博客的朋友应该会知道,在windows下通过命令行下载软件,使用"ftp"命令会比较方便.主要原因是windows下没有linux的命令"wget" ...

  8. 微软私有云分享(R2)26配置基线与更新

    完成WSUS服务器的集成后,并不能直接针对现有的构造资源进行更新,首先需要定义一组基线,同时进行扫描,以确认目标主机是否满足基线的要求.针对基线所设定的更新和补丁的需求,来完成补丁的更新. 该功能常用 ...

  9. 微软私有云分享(R2)17SCAC被精简的功能

    微软私有云交流群[236804566],技术分享成就梦想 欢迎关注新浪微博 @肥九叔 SCAC是System Center 2012 R2中的一个组件,全名叫做App Controller.简称SCA ...

最新文章

  1. Linux终端:speedtest_cli检测你的实时带宽速度
  2. 在“DNS管理器”中手工增加DNS主机(A)或者别名(CNAME)记录时,出现被拒绝的错误...
  3. gc日志一般关注什么_记一次生产频繁出现 Full GC 的 GC日志图文详解
  4. Ubuntu12安装RobotFramework
  5. [Struts]Token 使用及原理
  6. python图例重复显示_matplotlib中的图例中有重复项?
  7. Lua mysql insert 并发数_高并发 Nginx+Lua OpenResty系列(6)——Lua开发库Mysql
  8. WindowsXP下搭建GIT服务器
  9. python技术路线_django开发网站的技术路线?
  10. 谷歌验证码无法显示问题
  11. CAS单点登录原理及实现
  12. 修正Linux下WPS字体库缺失
  13. 绘画和照片编辑:Artstudio Pro for mac
  14. 浅谈微信卡券功能开发(2)
  15. 计算机硬盘小影响,系统C盘容量太小有哪些危害?又要如何扩容呢?今天再说一遍!...
  16. JUC —— 常用辅助类
  17. Node.jsv12.0 https请求报错
  18. java统计在线人数_java实现在线人数统计
  19. python学习 day49之CSS网页布局
  20. NetBIOS 漏洞的入侵与防御

热门文章

  1. POI HTML转Word后打开默认为WEB板式改为页面视图
  2. flexble.js自适应布局
  3. Java编程基础--循环结构语句
  4. html5 第一次作业
  5. Blender插件-头发辫子制作工具 Braids Generator V2.01
  6. android socket gprs 与 wifi 网络切换,Android应用开发Android 获取手机Wifi地址和Gprs地址,反射修改Wifi地址...
  7. 【机械仿真】基于matlab简化几何解法六轴机械臂位置规划【含Matlab源码 2128期】
  8. 2022年3月28日记:Linux服务器开发,二叉树与红黑树
  9. pythonisnan函数_JS isNaN()函数的用法
  10. 结构,设计模式,架构,框架