刚开始一时兴起到会议室去面,结果skype插件加载不上,折腾了20分钟,最后换到工位的机子才行。
一面
面试官人很好,感觉跟我差不多,老实话少型的。然后他说浪费了很多时间,要快一点了,然后就直接问了3sum问题。我一听很眼熟,但没多想,直接想怎么做,首先秒回了n^2很简单,就枚举两个数相加,hash表判断相加的数是否存在。然后说可能有n*logn的,然后就开始想了。想了将近十分钟,面试官有些忍不住了,说hash的方法已经很好了,我打断他说用排序加指针移动的行不行,然后又自己推翻了下说好像复杂度还是n^2。然后面试官又说hash的方法已经不错的,然后问我细节。然后之前福鸡发了一个3D美女图片的网站给我,我点开一直在加载,结果面试官给的编码网站打不开,面试快结束才发现是福鸡的网站导致的,关掉后就打开了。面试官说没事,下一轮会考察编码。哦还问了找中位数,说了线性找第k大的类似快排的算法,结果他说不能交换,然后扯最小堆混过去了,想不出不交换没多余空间的O(n)。最后面试官说我算法比较扎实,应该是给过了。
二面
等了十分钟左右吧 ,第二个面试官在skype上呼我,一听声音是个女的,马上就虚了,风格肯定不搭。她一上来就说赶时间,问我个题热身,就是不用递归实现中序遍历。秒回她用栈了,然后就开始写了。这个要是比赛时爱怎么写怎么写,但是这里就要设计数据结构,类什么的,最后栈没办法,用全局静态开辟的数组模拟了。然后问项目,问我将下做过的项目,我就讲了网络爬虫那个,然后问我多线程细节,还有多线程要注意的地方,因为最后的爬网站关键部分没实现,只是看了剑平的代码,就挺虚的,那面试官就以为我很紧张...然后问了个设计题,叫我设计类,类似UML吧,写了超级土的几个类代码,自己都觉得好虚。然后好像就没了,最后问我有什么问题,没什么好说的了...
三面
以为结束了,上了下厕所,回来手机响,果然是微软的,说待会还有一面。很可能是二面面试官不满意,然后加面了。三面面试官男的,也挺不错的吧。上来问了我一道单源最短路问题。然后问了罗马数字转换的,并且编码实现。最后就是那种主观题吧,问一个团队队员生病了,他负责的工作没法继续了,怎么办。最后问我那个在线编辑器怎么测试,有什么要改进的,叫我说好几点,勉强混过去了吧,然后就没什么了。
感觉MS面试难度没BAT高,不考什么技术,更看重算法、基础知识、个人素养之类的吧。
英语自我介绍,临时抱佛脚搜了下,结果没用上,记录一下
good afternoon ,my name is xxx. It is really a great honor to have this opportunity for a interview.
My major is Computer software and theory .
I'm expected to graduate next year from xx University.
in march
In the past few years I spend most of my time on study, and have acquired basic knowledge of my major.
I spend a lot of time on xxx