记一次微软现场面试(没干货,破事水)

今年微软实习的笔试题特别简单,侥幸过了得到面试机会。
于是今天早上6点从床上爬起来赶火车到苏州,到达时已是10点多。
鉴于本人水平过菜,基本上抱着过来看看的心态来的,微软的环境确实非常好。
一起等待面试的同学大概有二十来人,包括我在内的八人被HR带到一个会议室等待面试官来领人。
基本上11点准时开始,一个老外走进来,领走了一个人。
卧槽有英语面,那不是凉了。
不过运气很好的是,面试我的是中国人,大概有5个人运气不好,是老外面试。

一面
面试官:“从XX过来的?昨天还是今天”
“今天过来的”
“那你挺辛苦的啊”
“啊哈哈”
“自我介绍下吧“
“其实我水平很菜的……怎么说呢……不要抱太高期望,我也感到很抱歉”
笑了下,“看来你没什么自信啊”
“巴拉巴拉(自我介绍),其实我是个很认真负责的人,但是其实说这个没什么用,所以我带了点实习时写的交接文档来展示下,需要看吗?”
“good,在微软就是需要主动的展示自己,你觉得必要的话就拿出来看看”
大致翻了下后
“这个文档有导读,内容挺多的,目录也很清晰,写了多久啊?”
“大概是一周内完成的”
"不错,考你个简单的算法题吧,一个二叉树,每个节点有ID值,ID值唯一,如何寻找某个指定的ID值“
这么简单?!
“遍历下就行了吧”
给纸和笔,“写写看”
巴拉巴拉写完后讲解了一下
“恩,没什么错误,现在需求变了,每个节点还有个TAG值,TAG值可以重复,找出所有的TAG的节点”
想了下,“用vector返回的话不太方便,传入vector的引用来做吧,其实还是遍历,在原有代码基础上巴拉巴拉”
“好,分析下时间复杂度吧”
“ID的话,时间复杂度不稳定,最大为N,递归深度为树的高度,TAG的话需要遍历完所有的节点,应该是完整的O(n)复杂度”
“对,现在又有新的需求,有如下函数node* findByAction(node*,Action[]),Action可以是findbyid,也可以是findbytag,每次返回对应的节点,在tag的情况下会给一个INDEX参数”
沉默,想了一会
给了点提示:“Action你好好考虑下怎么设计”
“Action作为一个抽象类,提供find(node*)方法,find放到子类去实现”
“写出来试试”
巴拉巴拉写完了
“恩,可以,分析下findByAction的时间复杂度”
想了有一会
给提示:“你也可以直接考虑最坏的情况”
想了一会
“先说ID的情况吧,巴拉巴拉,O(n)复杂度,但是tag的情况,复杂度是稳定的n^2”
“能优化下吗”
“findtag的时候根据vector.size判断,取到第INDEX就停”
“这种情况下的复杂度呢?”
想了一下,“O(n)复杂度吧”
“大致上是正确的,不过正确复杂度是n和Action[]数组的长度取较大值”
恍然大悟“哦,对”
“我这边没什么问题了,你可以先去吃饭了,等会应该有第二面”

一面大概一小时,出来时大部分人在我之前都出来了。
面完我挺开心的,因为大部分都答出来了。基本上每说几句,面试官就会嗯一下表示可以。开心的吃了个饭等二面。

二面
非常lucky,还是中文面。
先聊了聊项目
“给你一道题目,这个题目很容易做,但是是个开放设计题目,你要设计出易于变更的代码”
一番探讨,写了一个简单的实现
盯着看了半天“确实做到了规模可以方便的更改,方法也可以简单的替换”
“说说你怎么测试让这个做到bugfree”
“可以设计测试用例,code review,但是bugfree我想是不可能保证的。”
“对,设计下测试用例吧”
陷入思考
提示“你可以把这个抽象方法实现以下,里面有很多坑的”
“好,我写写看”
“要注意边界情况”
写完了,之后,面试官看了一会
“你这里没有考虑-1数组越界的情况吧”
“不是在这检查了吗。。。”
“哦,对,好像没什么问题”
“那接着设计测试用例吧”
“可以从规模和值两个角度考虑,值可以随机生成,写一些有规律的数据”
“你可以把要测试的方面1,2,3,4写下来”
巴拉巴拉
“大概用过哪些语言”
巴拉巴拉
“老家是哪里的压?”
???你不接着问语言吗?
“面向对象和设计模式熟不,说下面向对象的五个原则”
巴拉巴拉,一番讨论面向对象设计
“有啥要问我的吗,不用担心,问啥都可以”
“有第三面吗”(一般是两面决定有没有第三面,第三面老板来面)
“面试结果不是一个人能决定的,你那么远跑过来了,流程上会走第三面的”

我傻乎乎的觉得二面好像表现不太好。
出来的时候是2点,我是最早的,其他人至少晚我15分钟出来,过了一会,我的二面面试官又进来带走了一个人。

等到3点,三面
面试官全程微笑
“你是哪个大学的来着”
巴拉巴拉
“前两面感觉怎么样”
“挺简单的,就是不知道为啥二面时间挺短,面试官给我感觉很好”
“给你一个powshell的程序,他输出有点错误,你debug看看”
“???powershell”完全不懂,我努力的看了下,讲了下我的分析
“哦,你可以用搜索引擎查你不懂的问题”
问了很多关于powershell的问题,定位到了bug大概出在哪个位置
“我想要进一步弄清楚是怎么回事的话可能需要知道每一步详细的都做了什么,就是需要系统的学习一下”
“还有20分钟,你可以搜索看看”
搜了一会,玛德没找到官方文档。。。我又仔细的去看了下代码,理了下逻辑
最后终于弄出来,结果是因为`n打成了’n(powershell的换行符。。。)
“恩不错,所以你平时想要解决问题的时候,总是需要系统的学习一下”
巴拉巴拉
“实习想做哪方面的工作”
巴拉巴拉

3面出来4点,面试官人不错,给我的感觉挺好的。

我出来坐了会,屁股还没热,就有人来通知我
“面试结果不是很理想,你可以秋季校招再来”
效率这么高?然后我就莫名其妙的走了。

行了不想了回去吧。
做地铁去火车站,5点到,还要买票取票,排了好久取到票。
“唉,你这个是苏州园区的票,车不从这里过。”
????我想我是傻逼了吧。
去改签下,又要排队了。
“这个是购票窗口,不能改签的”
。。。。
接着排队
“你这个只能在园区改签,现在车也开了,票也不能退了,废了”
。。。。
接着买票,排队取票。

6点半的时候我终于进了站
啊肚子好饿啊,吃蓝蓝路吧。
辣堡套餐39块,比正常价贵12块。
啊我肚子好饿,我吃起了汉堡。
因为比正常价贵12块的麦辣鸡腿堡实在太好吃了,所以我情不自禁的哭了出来。
我上次哭是什么时候呢?记不得了,好远的事情了。

微软真的是很好的公司,对我这种不合格的面试者也尽量让我有良好的面试体验,可谓是仁至义尽。
当我在面试官看来根本就是弱智的问题上绞尽脑汁,当我在毫无意义的问题上尴尬的展示自己的时候,
面试官到底在想什么呢?
可笑,可悲,还是可怜?
我不知道,也许他们在想晚饭吃点啥。

我面了很多场试,被面试官说不行,数落,我也只是不高兴,也很抱歉耽误了他们的时间。
善良的面试官给我一些建议,我很感谢。
但是从来没有一场面试让我如此难受。

这不是面试。
这是侮辱。

是微软苏州吧。。。。没投,主要是他们不招搞算法的,我也不熟悉c++,也没刷爆leetcode(

说道面试,也扯两句

  1. 外企其实作风都差不多,一般不会对面试者唱黑脸,面试官代表了企业形象,毕竟政治正确
  2. 外企面试基本上纯算法题,搞过oi或者acm的很轻松,没搞过的要花大量时间刷题,对我这种转行狗来说挺坑逼的,主要不想花太多时间做实际工作里用到不多的智力题
  3. 在苏州园区呆了一年,独墅湖风景很好,金鸡湖吃的娱乐很多,没呆两天玩玩略可惜
  4. 楼主id有点印象,不会是南哪的吧

面试实力/运气五五开吧,作为生物狗这几年失败惯了,我这种死猪心态反而好点。。。祝lz好运

我语死早,写的不生动。
其实我第二轮没英语面就死了,然后他们跟我打了两轮哈哈。第二轮的那个面试官应该是专门处理我这种的。所以面的快,搞定一个面下一个。第三面估计也差不多。
应该是看简历感觉有点东西,一面直接上英语面,不行就中文试试。
真的不是心态问题,挂了就挂了,技不如人我没什么好抱怨的。
回想起来他们good,对,不错,感觉全是嘲讽。

这么成熟的垃圾处理制度,聪明人玩起心机来,我真的是恶心到了。

原来是这样 我是第一次听说还有这种稀奇的制度。。。如果是真的那有点恶心
不仅仅是微软,这种不缺人的大公司有的时候就会任性,

我觉得遇到这种情况。。。就努力一把,脱离这种应届生招聘的怪圈吧。。我其实是个反感竞争的人,但是到了面对现实的时候也挺无奈 :roll_eyes:

我猜的,反正我也不知道到底有没有这种制度。就我这次面看周围的人的情况,前两面没英语面就是凉了。这轮面的岗位应该需要一定的英语沟通能力。

我的那个第二面开始的时候就已经凉了是肯定的,你看他问我老家在哪是想干啥。最后他和我说随便想问啥问啥基本上就是最后的怜悯了,可是我当时还没意识到。

再说第三面,一般是老板决定要不要你的。他上来问我哪个大学的,压根没看过我简历。

感觉挺迷的。不知道他们招什么样的人,实习具体做什么,匹不匹配。
我在小厂还是挺看重这些的。。。搞不起这些劳什子,毕竟睾贵的微软。 pat pat

这公司这么多套路的吗,真恶心

不是不重要,但是面试起码不怎么考你这个,实习生不可能让你做关键设计,你只在框架里搬砖。是因为这问题很重要,而且再菜的人也能答点东西。所以适合打哈哈

小厂打杂瑟瑟发抖

:048_:

有点像相亲,明明不喜欢,场面上总要多聊几句,给介绍人个面子。

这个,我来说点不好听的。

我觉得大可不必感到别人侮辱你什么的,感觉是你自己把姿态放的太低。如果别人问几个技术问题就是侮辱人,这也太轻贱自己了。问题“弱智”?难道非要问你ACM FINAL的题目,然后看你抓耳挠腮做不出,最后再指导你一番,这种就不"弱智"了?题目本无弱智之分,面试官提出的问题或许很简单,但是如果你能轻易就解决掉,想必他们会逐层加码,提高难度。我觉得从面试里了解自身的水平,之后再针对性的学习,下次面试可能就成功了。他们和你无亲无故,无冤无仇,何必侮辱你。

另外,如果真有面试官在面试中侮辱你,那也是他个人素质有问题,不懂得尊重人,你可以感到气愤,但是难过却不必,因为本来就不是你的错。

当然,如果你觉得我对侮辱理解有误,或者觉得我发言欠妥,请联系我删除。

我这样和你说吧,按我的理解,我第一轮的时候已经被毙掉了。
二三轮是走流程,按第二轮面试官透露的说法是因为我大老远跑来很辛苦。
面试的目的已经不是考察水平了,往好了说是让你有个良好的面试体验,往差了说就是逗你开心。就问些看上去挺像回事,其实他也不是很关心,反正总能聊下去的问题。
最可笑的是我没意识到这件事。还自我感觉良好,说明他们确实达到目的了。

你问我为什么这样想:
理由如下:
1.二面太快结束,二面问我老家和语言的时候就感觉很奇怪了。
2.前两面没有英语面。
3.三面我都不想说了。上来问我哪个大学。
4.面试完结果出来非常快,基本上是早就做出决定了,时间基本上花在请人过来通知上了。

侮辱我并不是他们的本意,我也不认为他们怀有恶意,但是这样的面试对我来说就是侮辱。我宁愿他指着我鼻子骂我不行,然后把我毙掉,也没必要做这样的事情。

哦,我知道了,面试官态度不端正,敷衍你,虽然想早点把你打发走,但碍于公司制度或者是看你大老远过来不容易,只能干耗时间,这确实不好。

其实最让人难受的是你很努力的在那巴拉巴拉,最后才发现别人其实在逗你玩。

还要让人侮辱啊,工作果然很麻烦,还好我找了几次找不到工作就不找了 :125_:

大公司吗……真是阴损 我原来以为最恶心的是你回去等通知然后没下文的招数没想到还有这一招