微软面试笔试经验

在线笔试

去年是在hihocoder上笔试,有4道题,400分满分。每道题有5~10个测试用例,按AC的个数给分。

测试用例有难度阶梯,比如前两个数据量为10,后3个数据量为1个亿,那么如果没考虑数据规模的话就拿40分。

Dev和PM做的题目是一样的,但是要求有差别。

一般来说,第1题直接有思路,2、3题努力想想有思路、4题想不出来。(我是信通的,计算机网研ACM请忽略此句),Java程序员请练习好输入输出。

Runtime Error一般就是程序崩了,不要以为在自己机器上不崩就OK,你又不知道对方用的什么测试用例。所以一定要考虑好各种corner case,不要有侥幸心理,设计测试用例的人会考虑好各种奇怪的情况的。

否则就会出现..第一题上来10分钟写好代码,提交了以后改50分钟都改不出来的情况。

既然是正规OJ,那种题目就是要在IDE里写,编译调试以后上传源代码的,所以,什么浏览器焦点控制,摄像头,录音,都似乎没有的。

最后还是多说一句,LeetCode是用来学习的,真正这种考试,还是需要练习OJ题,大家可以试试boj,poj等等oj系统。

根据今年的经验,PM的分数要求比DEV要低很多,PM100多分就可以过笔试,而DEV大概要150分以上,过低的会收到去苏州或者上海CSS的调剂通知。

现场面试

顺利通过笔试后就可以参加现场面试了,北京这边,是在中关村的丹棱街5号进行。一般来说,面试会在一天内结束,速度快的话半天就完了。

首先大家会在一个大会议室里等待(屋里给你们准备了吃的,尽情拿),HR会根据列表叫一个一个的正式职工带你去面试。面试会在一个一个的小屋中进行。在面试结束后,回到之前的大会议室。等待下一个面试官把你带走。通常来说,需要进行三轮面试。

面试官和你的专业对口程度,一般来说关系不大。大家都是DEV,并不会像其它公司一样按不同的语言岗位分。所以,面试内容主要还是以算法为主。算法题基本上还是有套路的,能做好LeetCode和剑指offer相信想出来不会有问题。

需要注意到一点是,首先,题目的解法一般来说,是要在白板(或者玻璃板)上手写出来的,对于平常写代码少的同学一定要注意自己加强一下。不要到时候少了分号括号,忘记了函数名就尴尬了。

面试时要注意多和面试官交流,不要害怕。除了做出来题以外,面试官还很看重解题的思路和能力,在一些关键步骤上如果能让他知道你的意思,后面即使做错了也不要紧。可以把自己的想法口述出来,比如“通常来说..这里需要用XXX来做,但是您要求使用YYY来做..这就需要考虑ZZZ的问题…”,这样比站着不动干想要好的多。一般一个面试是1小时。

说这么多算法题,实际上还是因为我和面试官完全完全没有共同语言,如果你恰好和面试官有相通之处,他会很愿意和你交流专业方面的知识。因为我做Android,所以被面试官3面问了7道算法,一点专业知识都没问。

在面试前后,可能会收到多个联系电话,包括时间确认,信息咨询和英文测试。不用紧张,正常说就好。英文测试很简单,基本上就是自我介绍,项目介绍,为什么来微软这样的话,只要能说出来就可以。

最后,祝大家都取得好成绩。

文章目录
  1. 1. 在线笔试
  2. 2. 现场面试