首页 > 笔经面经 > 我的微软现场面试经历

我的微软现场面试经历

头像
剑指MS
编辑于 2016-04-29 16:20:58
回复17 | 赞 21 | 浏览11938
26号微软面试,不幸的是被微软拒了。

第一面:
面试官是个平头,看起来挺精神的小帅哥。
(1)面试官看我简历上写着hadoop。便让我用hadoop写一个矩阵相乘的算法。
楼主已经大半年没写过mapreduce程序了。 想了一阵子,中途面试官也不断提示。最后用两个mapreduce完成了这个算法。
(2)一个矩阵中元素分类的算法。一个矩阵中的元素和它周围八个元素是相邻的。如果两个元素相邻切相等就认为他们是一类。
输入m*n矩阵A,输出分类后的m*n矩阵B。
例如:
输入一个2*2矩阵
1 2
3 4
输出一个2*2矩阵
a b
c d
输入一个4*4矩阵
1 2 3 3
5 6 7 3
1 2 0 3
3 3 3 5
输出一个4*4矩阵
a b c c
d e f c
h i j c
c c c m

我说这是一个深度优先遍历问题。然后面试官说深度优先遍历肯定能解出来这道题。但如果m和n都特别大的时候,递归调用栈很深,可能栈会溢出,还有没有别的解法。
我想了想,又说出一种解法。从上往下遍历的时候,给元素标类,如果有冲突,就认为属于一类,先记下来。比如上图中遍历到最后一行第三个元素的时候,才知道k和c应该是同一类。这时候,把k和c标记为同一类。用一个容器存着对应关系。
a b c c
d e f c
h i j c
k k k m
第二次遍历的时候,把属于同一类的都换成同一个,这里把k都换成c。
面试官听我说完,说我这是一个m*n*p复杂度的算法,p是有冲突的对数。问我还有没有更优的解法。这时候面试时间快到了,每个面试官都要控制面试时间。我没想几分钟。他就说时间到了,然后面试官自言自语道,这一题算简单的。。。 我本着求知的精神,问他最优解是什么。他就balabala。说从上往下,再从下往上遍历。当时我也没时间细想。他问我有什么问题没。

我问,据我了解,微软面试很喜欢问算法。是因为微软很重视这一块吗?他回答说,微软希望招一些聪明的人。。他们更希望跟一些智商比较高的人一起工作,这样合作比较顺利。。然后说当然,勤能补拙。。。 反正听起来不是很舒服。尤其在只有两个人的小屋里。

一面之后,吃了顿微软的盒饭。。




第二面:
面试官没有第一个看起来那么精神。
先让我用English introduce yourself.
然后他看我简历上有课程学过,机器学习与数据挖掘,还有自然语言处理。他就让我选一个给他讲讲课程里的东西。
于是我就把机器学习课程里写过的一些算法。我就试着从分类,聚类,回归的角度说。朴素贝叶斯,KNN,决策树,SVM,Kmeans等算法都简要说了下。他问了我决策树里,信息增益和信息增益率都是什么。然后问了看过什么论文?知道最近某会议刚发表的一个分类算法吗?不知道。
然后就写了一个打印菱形的算法。输入菱形的高度,打印这个菱形。我一想,这么简单。
最后写了分上下两部分遍历的算法。上半部分一个for循环,下半部分一个for循环。
写了之后,他问了我如何优化。我看了看说这两部分其实可以合并的。但还是没有get到他的点。他最后说这里可用绝对值。最后用绝对值写了一个解法。面试结束。问了他两个问题。


第三面:
前两面后,等了两个小时才到第三面。
面试官穿着拖鞋,大神的既视感。    PS:穿着拖鞋还穿着袜子。。
自我介绍随便聊了聊,项目随便聊了些。然后又是一个算法题。
给一个二叉树 和一个值 判断,从根节点到叶子节点的路径中,有没路径之和等于给定值的路径。
看到这一题的时候想,这不是剑指offer上的吗。leetcode也刷过。
想都没想写了一个层序遍历的算法。但这一算法要改变节点上的值。面试官又说如果不能改变节点的值呢。我又写了一个前序遍历的算法。然后一直问我还能优化吗。在当时的情况下,确实没能想出更优化的算法了。
我问他最优化的算法是什么,他说这一题我一会还用呢。。。


三轮面完后,一个类似HR的人把我叫出去,谈了一会。委婉的告诉了我我被拒了,不match他们。尤其第三面的时候,没有搞清楚面试官的需求。 结构能不能改变,树中有没可能存在负数等,没有跟面试官好好沟通,以后见客户,做工作的时候这样不好之类的。。然后说了些需要加强coding skills什么的,这次面试结果不影响秋招。

总结:微软面试其实考的还是算法,不仅写出解法,还要尽量写出比较优化的解法。由于去之前已经拿到阿里,网易offer了,心态有了些变化。没有在去苏州之前,再刷刷题。当然,认真准备都不一定能通过呢。。

这次苏州之行,虽然没有拿到offer。但面试官说的很对,需要不停的沟通,不停的了解,面试官或者客户真正想要的是什么。而不是给你一道题,照着自己的理解闷头写。

找实习的经历到此结束。接下来等秋招的时候,再看看是否跟MS还有缘分。

附上微软正面照一张,那天面试完,下起了雨。



17条回帖

回帖
  • WeeiCv头像

    WeeiCv 1#

    楼主你面的哪个城市?
    发表于 2016-04-29 16:16:54 回复(1) 赞(0)
  • Undertaker头像

    Undertaker 2#

    加油加油!!!
    发表于 2016-04-29 16:31:53 回复(1) 赞(0)
  • niu21736281头像

    niu21736281 3#

    确实是要沟通细节,感觉一开始问的都是不明确的问题(特别是三面),然后思考过程很重要
    发表于 2016-04-29 16:43:01 回复(1) 赞(0)
  • 牛客869277号头像

    牛客869277号 4#

    话说你不是在写文档么
    发表于 2016-04-29 17:18:06 回复(1) 赞(0)
  • summerInspiron头像

    summerInspiron 5#

    这么牛,楼书面的是SDE还是NLP?
    发表于 2016-04-29 17:21:42 回复(1) 赞(0)
  • cheerJ头像

    cheerJ 6#

    我昨天今天面了4轮。。。。
    发表于 2016-04-29 17:57:21 回复(2) 赞(0)
  • 牛客909705号头像

    牛客909705号 7#

    我觉得咱们可能见过,我也26号的苏州
    发表于 2016-04-29 23:38:54 回复(0) 赞(0)
  • 潇洒哥头像

    潇洒哥 8#

    我远程面试,也是三面过后被拒了,感觉也是有点沟通不够
    发表于 2016-04-30 11:06:32 回复(3) 赞(0)
  • 管理员头像

    管理员 9#

    楼主贴的好详细,图片都有,棒棒的~期待拿到心仪的offer~
    发表于 2016-04-30 12:29:31 回复(0) 赞(0)
  • 牛客453713号头像

    牛客453713号 10#

    看起来好厉害,祝楼主拿到offer!
    发表于 2016-04-30 13:41:14 回复(0) 赞(0)
  • 我是哈哈哈头像

    我是哈哈哈 11#

    微软面试一定要表现出:
    思考过程(分析过程)+沟通过程+良好的编码习惯(变量名,测试用例)

    如果有,请一定要表现出来,就算算法写出来了,往往也没什么鸟用。

    以上是我的面经。
    发表于 2016-04-30 13:53:34 回复(1) 赞(2)
  • 听我ViVi道来头像

    听我ViVi道来 12#

    楼主好强,这次只是有点运气不好。总结总结秋天再来。
    发表于 2016-04-30 15:14:04 回复(0) 赞(0)
  • 自由Jboy头像

    自由Jboy 13#

    我擦,感觉我第三面的时候跟你一个主考官,也是这道题目
    发表于 2016-04-30 18:06:11 回复(0) 赞(0)
  • forgot93头像

    forgot93 14#

    我发现我都会做这些算法题,但是并没什么用
    发表于 2016-05-06 21:23:10 回复(1) 赞(0)
  • 蓝河头像

    蓝河 15#

    第一面的(2)可以用并查集吗
    发表于 2016-07-05 17:53:54 回复(1) 赞(0)
  • fulm头像

    fulm 16#

    杭州金柚网B轮一亿RMB,全国中小企业社保代缴服务标杆,2015荣登大中华区人力资源服务机构第68位(100强中唯一一家于2014年后成立的公司)。招聘开发(java、架构师、web 前端、测开)产品经理、内容运营、SEO、设计师(ui),行政,互联网2年以上工作经验。公司地址:杭州江干区凯旋路385杭钻大厦11f(闸弄口地铁站、浙大华家池公交车站)[愉快]简历接收邮箱fulm@Joyowo.com qq80929170 欢迎推荐或自荐[拥抱

    发表于 2016-07-06 11:02:46 回复(0) 赞(0)
  • Leo枫子头像

    Leo枫子 17#

    矩阵那一题,自上而下是左上角开始,自下而上是右下角开始吗??
    发表于 2016-10-12 16:21:57 回复(0) 赞(0)
牛客网,程序员必备求职神器
QQ群:169195721
微 信:www_nowcoder_com 关注
微 博:牛客网 关注

扫一扫,把题目装进口袋