微软苏州面经+已offer的面基群
交流群/已offer的面基群
收到苏州微软暑期实习 offer 的小伙伴可以加QQ群啦:117198845 (加群备注:部门 + 到岗日期 + 昵称)
北京微软暑期实习 offer 的小伙伴可以加 QQ 群:699396460
没收到 offer 的同学想了解相关信息的同学可以加交流群,QQ 群:571888659 附一下我的面经:
一、题目
一面:只做了一题leetcode,类似于 2050. 并行课程 III
leader面:只问了一道 OOD,设计推特应用的图片缓存系统
二、影响面试是否用过的因素
我 highly recognized 的企业 (包括但不限于美国大厂和国内外企),个人认为在面试过程中有以下共性的考点:
- coding skill
- communication skill
- ability
- emotional quotient (EQ)
代码写得好(coding skill)固然很重要,个人认为起码决定 60%的成败(某些时候可以认为是 communication skill 和 ability 的前提条件,毕竟如果对一个问题完全没有头绪怎么有效进行沟通呢),但是千万不能认为只需要代码写得好(coding skill)就万事大吉,沟通交流(communication skill),临场反应,快速学习(ability),情商(emotional quotient (EQ))也很重要!
三、建议
今年苏微扩招,hc很多,面试相对来说不算很难,注意一下几点会让你脱颖而出:
- 拿到问题(OOD或者算法题)后,先和面试官探讨问清楚题意,需求,到底要干嘛 (communication skill 和 ability)
- 在写代码之前,说清楚思路,如果能想到多种解法,先说多种解法并比较优劣(communication skill 和 ability)
- 询问是否可以 go for the code,得到明确答复用代码实现哪一种解法后,再按照要求开始 coding(coding skill)
- coding期间,边写代码,边说每一步在干什么(communication skill 和 ability)
- 写完代码,主动告知面试官要开始检查bug了(ability)
- 如确实检查无误,询问是否需要 test case 来 dry run (ability)
- 主动分析算法时间复杂度和空间复杂度,注意用词的准确(例如最好,平均,最坏情况下复杂度各是多少) (communication skill 和 ability)
- 反问环节,得到想问的问题的答案后,表示肯定,如果确实有帮助,可以用自己的亲身经历来表示对该回答的赞同 (communication skill 和 emotional quotient (EQ))
- 关闭视频之前,可以说 "befor we say goodbye, I just want to thank you again for your patience and time. Hope you a nice day! See you!" (emotional quotient (EQ))
四、其他细节
- 自我介绍:一般来说都是英文的,建议同时准备中英文
- 是否问项目:因人而异,有的面试官问,有的只字不提,我的面试官还让我用英文交流项目,不过很简短
- 是否有八股:因人而异,有的面试官问,有的只字不提
- 共享代码形式:因人而异,有的面试官使用在线共享白板编程,有的让面试者共享屏幕本地IDE编程
- 刷题多少算够:it depends;如果时间紧张,直接刷 hot 100;时间不紧张,建议系统学习算法并刷题
- 分函数:如果题目复杂,需要多个辅助函数才能求解,建议分函数实现,并为不同的函数写明注释,格式参考 Java Doc Comments (https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html)
- Java 代码规范详见:Google Java Style Guide(https://google.github.io/styleguide/javaguide.html)