推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 4665|回复: 21
收起左侧

Microsoft Onsite interview

[复制链接] |试试Instant~ |关注本帖
daybreaklee 发表于 2016-1-23 12:47:11 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Microsoft - 校园招聘会 - Onsite |Otherfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
最近看了地里面不少面经,面试前也没签什么合约。所以来分享一下,算是回馈地里。

人生第一个 fulltime onsite; (如果之前做的几个internship的onsite 不算的话)很简单,简单超出我想象, 面试官也都超nice。基本都是 LC easy to medium。
On campus 的面试是和哥几个参加什么MS 的 coding challenge 争取来的,之前去career fair 随便投了一下,没消息 (当时想从return offer 所以没有认真去networking)

由于是第一个面试,就想面着玩玩,题目刷过 LC 全部easy两遍(最新几个月出的都没看过),和相当一部分medium一到两遍 和几个 hard (大多不会做,看答案记住思路这种),然后就是准备了下系统设计和地里面的面筋。

早上八点去main campus,签到之后和一个大三MIT 美国小哥扯了20分钟 他在MIT 生活的段子,然后 就去另外一个building等着面试, 和一个像是送货的哥们扯了一会儿淡九点被 一个美国白人汉子带进去开始第一轮。
. 1point 3acres 璁哄潧
1,先是扯扯两个实习,然后扯扯一次失败project 的教训和体会等。 随后coding, 一看题傻眼了, 在逗我么,two sum 稍微变变形,写完了讲完了之后说没问题,问其他解法,给了个 递归解法(还不如之前的解法呢) ,然后就扯淡了,这哥们是manager,人非常好。

2,国人小哥,10来年工作经验,看起来异常年轻。让我介绍最有趣的项目,我说了一个关于docker, distributed application 的东东, 吹到nginx reverse proxy 的时候 不小心透露了这个项目是internal use, 就被识破 既然是 internal use 啥的, 搞load balancer 和 container images 无非就是想减轻一下server CPU cycle的压力么, 我只好承认了我那项目确实不是搞了什么牛逼的东西...
然后就做题, validBST, 还是好简单,做完之后 followup3 个,第二个是 如果有dup 而且 dup return false 的时候会 failed 一个corner case, 想好久,最后他给了hint 要在函数加另外两个参数才能行。(如果我悲剧了,那就是因为这轮吧,因为确实这个算没做出来) 第三个followup 是让我 用iteration做,还好做出来了,虽然办法够笨。这小哥还挺好,最后还给我提interview 的建议,说让我思考好了跟面试官聊通算法再写。
. 1point 3acres 璁哄潧
3,美国白人汉子,但口音略欧洲,说话很逗。扯了一会儿,让我 写一个函数,给一个node,代表一个人,返回他linkedin 或者facebook network, 我去 我想这水放的真够大的,不就是BFS 图算法么。 python 写了各种class, api 等,他各种吐槽 duck typing 语言怎么这也不declair 那也不定义 好奇怪,我只能跟着复合说,确实啊,挺危险的如果不小心的话。 这题做完 followup我才知道是重点。 问 如果一个用户 用这个api,那个node 的朋友很多,million to billion 级别,那么response感觉很慢怎么办。 然后我就扯扯API layer啊 loadbalancer啊 , shard 读优化啊等优化方法,连mapreduce split data 都 扯了(没用过mapreduce 不知道这个场合是否合适)。 然后他又问, forget about server end, 在 client 这边咋优化。我想了20秒,以前没这么考虑过问题,没啥好方法只能告诉他 每次只显示部分结果, 用 AJAX 可以弄,然后你滑动手机屏幕啥的就可以显示更多。 他说 forget about ajax, focus on your function,想了想 说那就 iterator 吧(在python 里面我就跟他写了一个叫 generator 这个东西), 每次request把结果的中的前100个传过来啥的,他表示略赞同但是又问那你还是要先算所有结果啊,能不能换个方法。然后我就不太会了,他说答上来算bonus,20秒之后没答上来,他就在函数里添加了callback的 参数,然后blablabla, 听起来好像很牛逼,不是特别懂,然而以前用callback都是http request 的 时候,在这种情况还真是想不出。
吃饭就是和这个哥们,各种扯淡,没有什么特别的。. Waral 鍗氬鏈夋洿澶氭枃绔,

4,美国白人妹子,看到她桌面有两个可爱的娃,就扯了一下娃, 表示两个男孩5岁左右那还不简直闹死了,还是一男一女好...然后她开始介绍大组目前在干啥,问了一些 dev ops 在组时间分配问题,on call 的问题, 问了问 MS exchange cloud deployment的问题。 就剩半个小时了,开始coding: reverse word in string 变种,就是可以有leading trailing space,然后中间可以多重 space 的变形(这也简直不能算啥变形)。 由于之前也写过,开始很顺利,不想在做UNIT test 的时候failed 一个case, 搞了5分钟,改了几行code即可。 然后等第二题,竟然没有第二题了...扯了扯就说看看下一步是啥。。。 我从头到尾都感觉被放水了,除了中国小哥说他还有题但是没时间了,其他几轮感觉就是一题,根本没第二题。. from: 1point3acres.com/bbs

5, 下楼去等第五轮,期间又遇到那个像是送货的哥们,又扯了一会儿淡,然后被 boss 领走,印度人的样子,但是完全无口音,并且最后不太知道opt啥的(不会是装的吧),所以应该是美国土生土长的老印。开始问我觉得前四轮感觉咋样,排个序啥的,我把第二轮中国小哥的排最后。然后问了starting day,是不是要签证啥的。 扯了一会儿他说 表现不错,跟我透露什么 安排四轮面试,最后到他这第五轮就是good sign, 面了少于四轮的 是bad sign(真是这样么? 求真相!!), 我还能说啥,只能说 your words just made my day。 然后...他就开始不让我打断的 说微软有多好,各种侃,各种show, 各种方面轮流吹直到一个小时快到了,就随便交流了几个问题就结束了。中间还扯到,面试不错,但是不能马上答应给 offer 啥的,说他一个人说了不算,还得看接下来的几个面试者 以及其他小组一共有几个needs, 所以其实最后口气也挺官方的,也问了问我现在他们有个组考虑做 container的东西,问我是否有兴趣。 最后就是问, 如果现在马上给你offer,你有啥问题么, 我就扯了扯starting day,然后就结束啦。


. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴回到recruiting 大楼,由于是周五,我的recruitor 下班了,才三点哇。于是拿了一些赠品和一个亚裔面试的小哥扯了一会儿淡就撤了。感觉还是有点儿累的

.鏈枃鍘熷垱鑷1point3acres璁哄潧
总体 微软面试体验挺好,没有任何 negative 的点, 面试官都特么十分nice。唯一就是每次都面满一个小时,只有撒尿喝水时间,我以为45分钟就有15分钟休息呢...

这些差不多就是所有细节了, 第一个 onsite, 拿不到offer 也没关系,就当练手吧,要是拿到就请哥几个吃饭吧.





补充内容 (2016-1-28 01:40):
offer 昨天已收到, 还是那个感觉: 奇怪 MS 要放我这么大的水, 我不是妹子...

评分

3

查看全部评分

hakusama1024 发表于 2016-1-24 10:37:12 | 显示全部楼层
祝楼主好运啊!
请问那个callback的问题。意思是lazy load么。比说往下翻啥的才继续load么。
回复 支持 反对

使用道具 举报

 楼主| daybreaklee 发表于 2016-1-28 01:39:38 | 显示全部楼层
hakusama1024 发表于 2016-1-24 10:37.1point3acres缃
祝楼主好运啊!
请问那个callback的问题。意思是lazy load么。比说往下翻啥的才继续load么。

我感觉差不多就是这个意思, 一开始我就跟他说 用 AJAX 的lazy load, 然而其实他最想要的结果 是 让我自己实现一个异步函数 callback 去做 lazy load 的事儿, 但是,我最后也不是很懂,他随便说了下就结束了
回复 支持 反对

使用道具 举报

sevenwonder 发表于 2016-1-28 02:10:30 | 显示全部楼层
楼主在哪面的西雅图么?
回复 支持 反对

使用道具 举报

 楼主| daybreaklee 发表于 2016-1-28 02:12:39 | 显示全部楼层
sevenwonder 发表于 2016-1-28 02:10
楼主在哪面的西雅图么?

是的 在 main campus 面的
回复 支持 反对

使用道具 举报

sevenwonder 发表于 2016-1-28 02:24:38 | 显示全部楼层
楼主你的unittest 是要自己写么还是有模板啊当场要run么?
回复 支持 反对

使用道具 举报

 楼主| daybreaklee 发表于 2016-1-28 02:55:11 | 显示全部楼层
sevenwonder 发表于 2016-1-28 02:24
楼主你的unittest 是要自己写么还是有模板啊当场要run么?

白板即可, 确保 code coverage, 然后确保 corner case 不会fail。 我就是有个题写完了,面试官马上就说我某个corner case 没想到,而且那个case 会fail。 感觉那样好伤
回复 支持 反对

使用道具 举报

hakusama1024 发表于 2016-1-28 03:03:09 | 显示全部楼层
不得不说微软这个对unittest的要求真是严格。楼主写的时候格式有要求么。
我们一般写时候这样:
public void XXXFunction_X_Not_Null()
{
    //Arrange

    //Act. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

    //Assert
}
回复 支持 反对

使用道具 举报

 楼主| daybreaklee 发表于 2016-1-28 03:06:15 | 显示全部楼层
hakusama1024 发表于 2016-1-28 03:03.1point3acres缃
不得不说微软这个对unittest的要求真是严格。楼主写的时候格式有要求么。
我们一般写时候这样:
public v ...

没有 啥 格式要求,只是text case 的名字要对应你想test 的case 去编造即可
. 1point3acres.com/bbs
补充内容 (2016-1-28 03:19):
test case...手残
回复 支持 反对

使用道具 举报

sevenwonder 发表于 2016-1-28 04:29:52 | 显示全部楼层
问下楼主BST那题allow duplicates是咋做的呢加了那两个参数呢
回复 支持 反对

使用道具 举报

donnice 发表于 2016-1-28 11:12:19 | 显示全部楼层
恭喜LZ啊!主要还是算法功底厚实的缘故
回复 支持 反对

使用道具 举报

hakusama1024 发表于 2016-1-29 09:45:55 | 显示全部楼层
感觉每家准备的都不一样。微软偏重设计和unitest。google偏重算法数据结构思路。同时面SRE和SDE感觉快歇逼了。
回复 支持 反对

使用道具 举报

redsilence 发表于 2016-1-30 12:52:11 | 显示全部楼层
好赞!后面的题我完全不会!
回复 支持 反对

使用道具 举报

redsilence 发表于 2016-1-30 12:53:05 | 显示全部楼层
daybreaklee 发表于 2016-1-28 02:55-google 1point3acres
白板即可, 确保 code coverage, 然后确保 corner case 不会fail。 我就是有个题写完了,面试官马上就说 ...

楼主经验好丰富啊,各个领域都会!
回复 支持 反对

使用道具 举报

2015fallcser 发表于 2016-2-1 05:57:03 | 显示全部楼层
楼主是全程python么?
回复 支持 反对

使用道具 举报

 楼主| daybreaklee 发表于 2016-2-1 08:38:11 | 显示全部楼层
sevenwonder 发表于 2016-1-28 04:29. more info on 1point3acres.com
问下楼主BST那题allow duplicates是咋做的呢加了那两个参数呢

大概就是 如果 允许 dup,而且 在比较的时候 等于 是 返回 true, 那么corner case 就是用递归 的话 输入的树的节点如果 都是 integer.maxValue ,那么 叶节点的地方会被 判定false. 所以要加flag 判定 一下。 具体记不太清了,反正当时2个类似的followup 有点晕
回复 支持 反对

使用道具 举报

 楼主| daybreaklee 发表于 2016-2-1 08:39:09 | 显示全部楼层
2015fallcser 发表于 2016-2-1 05:57
楼主是全程python么?

是的,他们问了我会不会C#,我不是很熟但是用过强行说会。 不过面试都是python,面试官都不怎么会,所以他们要求我一行行解释。
回复 支持 反对

使用道具 举报

2015fallcser 发表于 2016-2-1 09:33:10 | 显示全部楼层
daybreaklee 发表于 2016-2-1 08:39
是的,他们问了我会不会C#,我不是很熟但是用过强行说会。 不过面试都是python,面试官都不怎么会,所以 ...

给这些面试官跪了啊。。。不知道我是不是应该突击一下C#...
回复 支持 反对

使用道具 举报

illuminati 发表于 2016-2-1 09:56:02 | 显示全部楼层
一翻历史帖原来是我交学长。。经历好传奇啊!学习学习
回复 支持 反对

使用道具 举报

yijingzeng 发表于 2016-2-21 13:46:10 | 显示全部楼层
请问楼主面的哪个组,什么职位?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-8-21 10:54

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表