一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2926|回复: 20
收起左侧

Microsoft Onsite interview

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

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
最近看了地里面不少面经,面试前也没签什么合约。所以来分享一下,算是回馈地里。. Waral 鍗氬鏈夋洿澶氭枃绔,
. 1point 3acres 璁哄潧
人生第一个 fulltime onsite; (如果之前做的几个internship的onsite 不算的话)很简单,简单超出我想象, 面试官也都超nice。基本都是 LC easy to medium。
On campus 的面试是和哥几个参加什么MS 的 coding challenge 争取来的,之前去career fair 随便投了一下,没消息 (当时想从return offer 所以没有认真去networking)

由于是第一个面试,就想面着玩玩,题目刷过 LC 全部easy两遍(最新几个月出的都没看过),和相当一部分medium一到两遍 和几个 hard (大多不会做,看答案记住思路这种),然后就是准备了下系统设计和地里面的面筋。
.1point3acres缃
早上八点去main campus,签到之后和一个大三MIT 美国小哥扯了20分钟 他在MIT 生活的段子,然后 就去另外一个building等着面试, 和一个像是送货的哥们扯了一会儿淡九点被 一个美国白人汉子带进去开始第一轮。

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 的 时候,在这种情况还真是想不出。
吃饭就是和这个哥们,各种扯淡,没有什么特别的。. 1point3acres.com/bbs

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即可。 然后等第二题,竟然没有第二题了...扯了扯就说看看下一步是啥。。。 我从头到尾都感觉被放水了,除了中国小哥说他还有题但是没时间了,其他几轮感觉就是一题,根本没第二题。

5, 下楼去等第五轮,期间又遇到那个像是送货的哥们,又扯了一会儿淡,然后被 boss 领走,印度人的样子,但是完全无口音,并且最后不太知道opt啥的(不会是装的吧),所以应该是美国土生土长的老印。开始问我觉得前四轮感觉咋样,排个序啥的,我把第二轮中国小哥的排最后。然后问了starting day,是不是要签证啥的。 扯了一会儿他说 表现不错,跟我透露什么 安排四轮面试,最后到他这第五轮就是good sign, 面了少于四轮的 是bad sign(真是这样么? 求真相!!), 我还能说啥,只能说 your words just made my day。 然后...他就开始不让我打断的 说微软有多好,各种侃,各种show, 各种方面轮流吹直到一个小时快到了,就随便交流了几个问题就结束了。中间还扯到,面试不错,但是不能马上答应给 offer 啥的,说他一个人说了不算,还得看接下来的几个面试者 以及其他小组一共有几个needs, 所以其实最后口气也挺官方的,也问了问我现在他们有个组考虑做 container的东西,问我是否有兴趣。 最后就是问, 如果现在马上给你offer,你有啥问题么, 我就扯了扯starting day,然后就结束啦。
. 鍥磋鎴戜滑@1point 3 acres
. 1point 3acres 璁哄潧
回到recruiting 大楼,由于是周五,我的recruitor 下班了,才三点哇。于是拿了一些赠品和一个亚裔面试的小哥扯了一会儿淡就撤了。感觉还是有点儿累的. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
. visit 1point3acres.com for more.

总体 微软面试体验挺好,没有任何 negative 的点, 面试官都特么十分nice。唯一就是每次都面满一个小时,只有撒尿喝水时间,我以为45分钟就有15分钟休息呢...
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
这些差不多就是所有细节了, 第一个 onsite, 拿不到offer 也没关系,就当练手吧,要是拿到就请哥几个吃饭吧..1point3acres缃



. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

补充内容 (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
祝楼主好运啊!. more info on 1point3acres.com
请问那个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. from: 1point3acres.com/bbs
楼主你的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
不得不说微软这个对unittest的要求真是严格。楼主写的时候格式有要求么。
我们一般写时候这样:
public v ...

没有 啥 格式要求,只是text case 的名字要对应你想test 的case 去编造即可. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

补充内容 (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
白板即可, 确保 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
问下楼主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. Waral 鍗氬鏈夋洿澶氭枃绔,
楼主是全程python么?
. more info on 1point3acres.com
是的,他们问了我会不会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 | 显示全部楼层
请问楼主面的哪个组,什么职位?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-11 14:23

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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