技术面试要点 —— 如何准备微软开发工程师面试?
最近越来越多的开发工程师朋友来找我帮忙内推,同时也会问我面试的流程和面试要点。所以今天我想聊一下微软开发工程师的面试要点和面试技巧,希望能帮助开发工程师朋友更好地准备面试。
『面试流程』
开发工程师的面试一般从开始到拿到Offer需要3-6周,包括3个阶段:
Phone Screen Interview: 这是第1轮面试,一般通过电话或者Microsoft Teams视频会议,面试官一般是Hire Manager或你将来的同事。
Full Loop Interview:这个阶段一般会安排5轮面试(也可能根据情况增减)。现在由于疫情,面试都会通过 Microsoft Teams 视频会议来进行,一般在1到2周内完成。
注:前4轮是技术面试,每轮都会考查算法。最后1轮通常是AA面试,AA面试一般考查软技能,看候选人是否适合微软的文化。(如果前面算法表现不是特别好的话,也有可能在AA面试中继续考查算法)。
Feedback & Next Steps: Full Loop面试结束后,一般还需要1周进行整理反馈;然后由招聘人员告知整个面试的结果,以及后续的安排。
『面试的考查点』
过往的项目:一般会讨论你过去做过的项目,你或你的团队遇到了什么样的挑战,这些最后是如何解决的,你是如何想出解决方案的,这个方案是不是最优解?
算法:需要考查算法和数据结构的基础知识,可以去开发者社区Leetcode检验一下你的算法能力。
注:不仅仅是开发工程师面试时需要考查算法,一线开发经理也需要考查算法。
测试与验证:你需要增加测试代码,尤其是Corner Case的处理情况。
系统设计/设计模式:我们考查候选人是否可以运用知识、理论和经验来解决真实存在的问题,你的设计可能需要支持几百用户同时使用。
英语面试环节:我们还会考查英语沟通能力,一般会有自我介绍环节。不同的组对英语要求是不同的,主要是看这个职位是否需要经常和国外团队沟通。另外,如果申请资深工程师或开发经理则对英语要求也会高一些。
敲黑板:薪资和级别会在面试中确定,所以面试非常重要。如果希望面到更高级别,就需要多准备一下英语,因为资深开发工程师和开发经理会承担更多和上下游团队沟通的任务。
『准备面试的技巧』
面试中的互动:面试中常常会考查候选人处理复杂问题的能力。在面试官给出题目后,一定不要马上写代码。首先,要明确需求,可以向面试官提问;然后,可以花时间整理下思路,和面试官进行一个初步的沟通;如果面试官认可这个思路,那就可以写代码了。如果没有好的思路,你也可以告知面试官你的方案可能不是最优解,也许在沟通过程中,你又会有新的灵感,也可以再进行优化。
Corner Case和测试用例:确保你考虑到各种 Corner Cases。面试官可能还会让你写一些测试用例。在设计测试用例时,要考虑基本功能、边界情况、性能测试等。此外,要能准确地分析出时间复杂度和空间复杂度。
算法:我曾在微软的同事圈做过一个调查,进微软需要刷多少题?结果如下:
在433个码农参与者中,36%的人刷题量超过200,31%的人在51-200之间,也有33%的人不到50。从评论中可以看到,这33%大概率有一定的基础,比如加入微软之前就是做算法的,或者曾经打过周赛的。所以一般情况下,建议150以上中等难度再加几十道Hard。
此外,可以在纸上写代码,这样能帮忙你熟悉正确的语法,也会让你的思维变得更清晰。
开发者社区: 如果你有一个好的开源项目,将是一个加分项(如:简历上的GitHub链接)。如果没有自己的开源项目,也可以参与到其他项目,或者去StackOverflow帮助其他开发者解答问题,StackOverflow的高分Reputation也是不错的。
项目介绍技巧:回答这类问题推荐使用STAR原则。参考面试就是讲故事
练习英语:最好找一个英文环境。推荐Toastmasters俱乐部(www.toastmasters.org),每周都会有活动,且主题不同,包括即兴演讲和备稿演讲。多锻炼,英语水平肯定会提高。
『其他注意事项』
有任何问题,请随时联系你的Recruiter。
如果面试官在面试开始10 分钟后没有给你打电话或加入会议,请联系你的面试安排人员。
如果使用Microsoft Teams面试,推荐打开视频,这样可以拉近彼此的距离。
提前下载并测试Teams,确保面试时可以正常工作。
https://products.office.com/zh-cn/microsoft-teams/download-app
End
全宇宙首本 VS Code 中文书,来了!
955.WLB 不加班公司名单!再新增 5 家公司!
2021 年终总结:内推40人、全网15万粉、Code Runner 3000万下载、发扬WLB、进军视频领域
微软永远离破产只有 18 个月
在微软(Microsoft)工作是怎样一番体验?
微软内推,长期有效
HJ说
大厂内推 · 职业规划 · 业界资讯
技术面试要点 —— 如何准备微软开发工程师面试?相关推荐
- 《Android 开发工程师面试指南》
<Android 开发工程师面试指南> <Android 开发工程师面试指南 LearningNotes >,作者是知乎Android开发工程师陶程,由梁观全贡献部分.大家可以 ...
- Android 开发工程师面试指南
原文链接:https://github.com/GeniusVJR/LearningNotes <Android 开发工程师面试指南 LearningNotes >,作者是知乎Androi ...
- 软件开发工程师 - 面试手册
软件开发工程师 - 面试手册 岗位概述 软件开发工程师是IT行业中最常见的岗位之一,主要负责设计.开发和维护软件应用.他们需要熟悉至少一种编程语言,了解软件开发的基本流程和原理,具备良好的解决问题能力 ...
- Java高级开发工程师面试笔记
最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05 ...
- Android开发工程师面试指南
Android开发工程师面试指南 功能介绍 给Android开发工程师的一份面试指南,包含面试题集与简历模板. 面试题集 面试题集里的答案大部分来源于我的博客,因此这个题集也相当于是我的博客 ...
- php开发工程师考试试卷,腾讯PHP开发工程师面试试卷
1. 请对pOSIX风格和兼容perl风格两种正则表达式的主要函数进行类比说明 ereg preg_match ereg_replace preg_replace 2. 请说明在php.ini中saf ...
- 嵌入式软件开发工程师面试指南_总结
嵌入式软件开发工程师面指南 一.C语言 1.1.局部变量能否和全局变量重名 1.2.如何用C编写死循环 1.2.new和malloc 1.3.static的用法(定义和用途)(必考) 1.4.cons ...
- Java开发工程师面试总结
Java开发工程师面试总结 1. Java基础 1.1 接口与抽象类的区别 1.2 重写与重载的区别 1.3 集合 1.4 多线程 1.6 反射 2. Spring框架 2.1 IOC 2.2 AOP ...
- 校招末班车 — 记我的爱奇艺测试开发工程师面试之旅
自从二月底离职后,一直没有找到合适的归宿,但是好在终于有了校招的意识.在网上疯狂投递17届校招.曾经有一个礼拜每天都有笔试面试,刚好又是毕业季毕设论文还压着,心力交瘁.陆续收到几份offer,Java ...
最新文章
- 计算机教案制作电子表格,人教版七年级信息技术上册《制作电子表格》教案
- linux shell which 和 whereis 区别
- SQL Server 2005 的版本和组件[转载]
- 海量数据处理之倒排索引
- TCP解决connect函数的超时问题
- AttributeError: module ‘tensorflow‘ has no attribute ‘constant‘
- Windows Server 2012中的多元密策略
- AspnetCore 缓存篇
- 弹簧优化设计MATLAB,基于MATLAB的圆柱螺旋弹簧的优化设计
- 何谓计算机思维(转载)
- 高级计算机怎么计算增速,增速的计算公式
- ACM数学专题: 最大11的倍数
- idea文件夹代颜色代表的含义
- 如何在iPhone 12上管理5G设置来保护流量和电池续航
- 我最喜欢的10个顶级数据科学资源,kaggle、TDS、arXiv......
- Linux下gzip, bzip2, zip压缩率的比较
- xrander/cvt自定义分辨率
- 早秋山居 --温庭筠[唐.五言律诗]
- Openssl移植到ARM开发板
- Java程序界面设计