Blog of Ditsing

三日不读书,便觉言语无味,面目可憎

微软霸王面归来:怒!

| Comments

今天早上六点我从睡意朦胧中醒来,开始了今天的MS霸王面之旅。

洗漱吃完饭加上各种杂事,我们一行四人到达香格里拉酒店的时候已经是七点半了。卢大神有面试通知,直接去面试了。icek大神,canoe大神和我尝试与HR姐姐沟通争取面试机会。第一被秒的是icek,他被秒的非常欢乐,具体细节不说了。HR姐姐留下了canoe学长和我的简历并承诺替我们找机会,因为面试官都很忙。十点卢大神面完了出来我们才被告知12点之前不会有时间了。于是我们三个就回到了学校。卢大神的情况貌似还不错,我们也都挺高兴的去上了半节编译原理。

中午十二点,我们基本放弃了希望,中午还没有通知肯定就是没戏了。但是我们吃午饭的时候,canoe学长突然接到HR的电话,要我们下午一点到酒店笔试。我们俩二话不说打车直奔香格里拉。拿到面试题之后HR给我俩就近找了桌子坐下写。题目估计是面试官中午的时候抽空出的。看起来不是很难的样子^PS1

  1. 合并两个链表(原文:Merge two linked lists.);
  2. 求一个链表的倒数第五个元素;
  3. 求一个数的二进制表示中1的个数。

按顺序看题吧。第一题,合并两个链表?怎么合并?题意不明确先跳过。第二题一下子也没有好想法。第三题!这不是位运算经典题吗?略加思考写了一个十六位的版本,觉得意思意思就好了。然后是第二题,这题意肯定不是让写回溯的啊,于是就YY了一个naive的方法。最后是第一题,我继承了第二题的思路,觉得肯定不会是naive的把一个链表接到另外一个后面,否则就应该用concatenate这个单词了。于是尝试向HR询问,失败。题意问题困扰了我好久。最后,我费了点时间,费了点精力写了个两个链表交错merge的程序。最终代码也很简单,但是不太好懂。

虽然说了很多,但是其实我们俩只花了20分钟就交卷了。HR姐姐告诉我们接着等。我们两个苦逼就在酒店大堂里干坐了2个小时,又困又累又热。中间交流了一下想法,我还发现了我第二题的做法有点漏洞,不过也无所谓吧。下午三点钟我们的答卷终于被送到面试官手里了。我和canoe学长就在HR的房间淡定的坐等结果。12分钟之后,HR姐姐拿回了结果,她先告诉canoe学长答的很好获得了面试机会。之后她对我说:很遗憾你的答案“错的太多”blablabla。

听完这句话,愤怒的情绪直接把我淹没了。什么叫“错的太多”?这样的三道题也能让我错的太多?怕是你的面试官没看懂我的程序吧。我立刻没有了跟她继续交流的兴趣,尽管之后她还说了几句安慰我的话。跟canoe学长告别之后我气冲冲的回到了学校,决心晚上写一篇博客吐嘈一下MS坑爹的面试。

你以为这就完了吗?错了。晚上做完实验回到基地,遇到了面试归来的canoe学长。他传达给我了一个更加狗血的消息:HR姐姐理解错了面试官的意思,面试官不是说我“错的太多”,而是说我“第一题写得太乱了”。所以我本来是有面试机会的。

难道这样就高潮了吗?不是!面试官还据此怀疑我第三题是背的!背的!!背你妹!!!我的肚子就这样被小人之心度了。我从早上六点折腾到下午三点,最后还被人说是“背的”!虽然我不太喜欢微软的作为,但我还曾认为MS是一个伟大的公司。现在呢?我只想说:MS,玩儿蛋去吧!

吐嘈归吐嘈,淡定了之后还是希望卢大神和猴神能和MS一块儿玩儿蛋去。祝两位神拿到offer,祝各位MS实习愉快!

PS0:非死不可的HR告诉我,不要“assuming the interviewer is smarter”。MS,领教了。

PS1:如果在文章中公布微软面试题有任何不妥,请联系我。我没有签署任何保密协议。

Comments