6 轮面试,进微软了

leetcode 题目太多了,目前总共有 2491 道题(还在不断增长中),不知道哪些是高频题,无从下手,除了买plus会员外,你还可以参考这个网站:

https://codetop.cc/home

该网站也是微软的一个同事开发的,收录各大厂高频面试题。

目前网上写 leetcode 题解的特别多,遇到问题的时候搜一下能找到很多精彩的题解。

对于算法一定要特别重视,现在国内大厂也向国外大厂看齐,都考察算法,腾讯的 6 轮面试有 4 轮面了算法,其中第 3 轮几乎全是算法。leetcode 中国网站排名第一的哥们是前微软员工,他总共通过了 2456 道题!!

还有一部分编程题不是纯算法,算法与实际问题结合,难度较大,一般不会让当场写代码,但是会让说思路,然后面试结束后把完整代码发给面试官。解决这种题目,平时的技术积累和思维方式很重要。

关于系统设计这是面试的另一个重头戏,除了最后一轮外其余每轮都有系统设计题。系统设计的问题比较开放,主要是口述,有的也会让写伪代码。平时需要多积累,知识要有广度,对一些好的协议、系统设计都要了解,达到融会贯通、举一反三,这样才能在遇到未见过的问题时,能从平时的知识积累里提炼出解决方案。Github 有一个仓库是专门针对系统设计面试题的,可以作为参考,但是仅依靠这个仓库不足以通过系统设计面试,平时还是要多思考、学习各种系统的实现方式。

https://github.com/donnemartin/system-design-primer

关于英语不同的部门面试时对英语的考察不一样,有的要求英文自我介绍,有的英文面试具体问题,准备个英文版的自我介绍应该是基本的要求。英语是微软的工作语言,后续的 offer、公司的资料、邮件全是英文,英语不好的话会比较吃力。英语对程序员也是非常重要,学好英语很有必要。我本人是英语 6 级,建议没有过 4 级的(以前我以为所有本科生都过了 4 级)努力补一下这块短板。

项目经历这是最后一轮大老板的主要问题。每个写在简历上的项目都要了熟于心,你在其中担任的角色,做的主要贡献,遇到了什么难题,项目最后达到了什么样的效果。提前按照简历准备一遍,做到心中有数。

基础知识这部分问题相对少点,主要是计算机的基础知识,包括操作系统、网络协议以及一些具体的开源库。

大概就是这些,主要考察内容还是算法和系统设计。另外注意一点,在面试的时候如果遇到算法题不会的时候,可以跟面试官说出你的思路,让面试官给些提示,切记一言不发的思考,最后说不会。外企面试官喜欢沟通探讨(这一点跟国内大厂很不一样),有些问题本身也是开放性的,有多种思路,积极跟面试官沟通讨论很重要。

不同部门和不同面试官的面试风格、侧重点可能差别很大,但主要考察点应该没有太大出入。网上也有很多人写微软的面经,也可以多搜一些作为参考,但是他们列出的面试题在你面试的时候可能一个也不会遇到!

Copyright © 2088 斯诺克世界杯_世界杯排名榜 - zhaoxiaotian.com All Rights Reserved.
友情链接