微软一、二、三面
不得不称赞微软的效率实在太高了,一面,二面,三面一天内搞完。
本人投的是苏州,因为通过打hihocoder获得了免笔试资格,收到4.17上午9点的Skype在线面试邀请。
之前有过5次面试,hypereal跪了,图鸭信息科技跪了,华为两面等消息。腾讯一面跪了
(还是被OMG弃了,被IEG捞的),京东因为太远加上要分多次面,最初选择了放弃,后来面试官打电
话说可以电面,但是面完之后现在没消息,估计跪了
(一面感觉自己表现得还是不错的,绝大部分问题都答出来了,估计是因为自己不去现场面的原因。。)
所以在面微软之前并没有那么的紧张。9点面试官加入了会议,先让我自我介绍了一下,然后说我有准备
哪些东西,说一下,然后我就说了红黑树和AVL树的
相关特性(之前作做过不少总结,面试官觉得还算
满意)。然后写了两道题,第一道二分,给一个非递减数组,让查询
某个数在这个数组中出现的次数,二
分求上界和下界然后相减即可,建议不要直接用STL中的函数,我自己手写的。
第二道题类似于dp,给一
个只包含0和1的序列,找出最长连续子序列,保证0和1的数目相同。我的解法是线性扫一遍,
记录当前
0和1的差值,用数组vis[num+add](num是差值,可能为负数,add是偏移值,为防止下标取到负)记录第
一次num
出现的下标,当下一次出现的时候用ret=Max(ret,i-vis[num+add]);时间复杂度O(n).
每道题之后
面
试官都会问如何设计测试用例,
面试官问我有什么问题,我就问了
一般会有几面,他说至少3面,我
说如
果有hr面的话我去苏州现场面没问题的。
然后10点之后二面面试官打了电话,我一面面完就去上课
了,不
知道是连在一起的。。奔回寝室二面。先做了自我介绍。
然后让我说那个课设,我就说把课设写
上去的原
因是想表明自己不仅仅只是能去搞ACM,也能够写长一点的代码,也能
有自己的思考和设计在
里面。面试官
让我谈一下打ACM的感受以及遇到过哪些困难,此处省略(此生入ACM不后悔)。
然后问
了一道题,有一
个send函数,要实现在1秒内执行100次,我说我不会计时,面试官说你可以查api,然后
我就
查看别人博
客,过了十分钟之后,用clock写的,到这里就30多分钟了,面试官说面试先到这里。
下
午1点三面面试
官
打来电话,没想到来的这么快,然后先也是自我介绍,问了我ACM相关的情况,集训队
队长主要负责
什么,
在队伍里面负责哪些内容。前半程像是聊人生,后来问了一道题,我是用字典树去
解
决的。与面
试官讨论,
然后
将代码改短。最后面试官问我有什么问题,此处省略。
微软的面试风格
喜
欢
写代码,没
问基础,然后
可能会考你现学的能力。
希望能有个好结果吧。虽然前面挂了那么多
家,
但
是
一定要有自信。