一亩三分地论坛

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

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

微软 ONSITE 面经

[复制链接] |试试Instant~ |关注本帖
bunnyNova 发表于 2016-10-6 09:36:53 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Microsoft - 猎头 - Onsite |Pass在职跳槽

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

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

x
上周参加的Hiring Event,人还真是挺多,上下午加起来差不多40人。
微软的Hiring Event就是群面了,都是4轮,上午7点半到12点或者下午12点半到5点。

第一轮:
1. 在doc里找skip bygram,搞了半天才明白意思。一直围绕这个东西讨论
就是说你搜索几个work:w1 w2 w3 w4,再给你一个doc你要在doc里找到"w1 w2" "w2 w3" "w3 w4" 这样的组合以及"w1 xxx w3", "w2 xxx w4", "w1, xxx, xxx, w4"这样的组合-google 1point3acres
要写代码
.鏈枃鍘熷垱鑷1point3acres璁哄潧然后问如何优化,如何扩展到millions of doc,然后当算法已经足够好了还怎么优化(我又是一脸懵逼。。这里其实牵扯到system design).鐣欏璁哄潧-涓浜-涓夊垎鍦

第二轮
1. 上来就说我给你个表达式,比如1+2+3 这种,你用什么design pattern,什么数据结构,还跟我说输入也不一定是string啊blabla,搞了半天我直接写了个calculator也不知道面试官觉得怎么样
后来我问他你到底啥意思,他说我其实是想让你搞个表达式树....其实我也不是不知道不过上来被他的design pattern以及输入也不确定是什么格式搞蒙了
2. 如何搜索实现typeahead,如何处理高并发,如何实现LRU(没写具体代码)
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
第三轮
1. LEETCODE word break I
2. 如何debug multi thread的core dump
3. 如何deploy application on thousand servers
.鏈枃鍘熷垱鑷1point3acres璁哄潧
第四轮
1. 面试官看着很屌,说话非常自信。聊了几分钟就说做题:给你一个普通树,不是二叉树,然后把它变成一个二叉树,但通过这个二叉树你还能还原原来的树。不用写code,说思路。
我说了一个之后他很高兴说你这是最优解,还有没有别的方法...花10分钟相处第二个他又说不错,还有没有第三种。。。。然后最后10分钟介绍他们的组。.鐣欏璁哄潧-涓浜-涓夊垎鍦

总之觉得就是微软这面试好多不按套路出牌的地方,而且问的很杂,每个人都或多或少设计design的东西,而且头两个人的问题还很模糊。。。当时面完感觉很一般,结果周一就口头告诉我有offer,还算是开心吧. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴



补充内容 (2016-10-9 11:51):
第一题是word不是work

评分

3

查看全部评分

本帖被以下淘专辑推荐:

 楼主| bunnyNova 发表于 2016-10-6 12:07:57 | 显示全部楼层
caeser123 发表于 2016-10-6 12:01. 1point 3acres 璁哄潧
第四题是不是用两个queue做bfs?并且在二叉树的node上记录原先有几个children

没那么复杂,不让用额外的数据结构
其实面试官的意思是,你如何设计你的binary tree以至于你自己能够recover回原来的树. From 1point 3acres bbs
我第一个解法说的是,我的binary tree 右节点代表child,左节点代表siblings 这样对于转换的2叉树我也可以画出原来的树的墨阳。
第二个解法,面试官提示我可以用给二叉树的node 加一个指针指向原parent。。。其实我很不喜欢他这个解法,我觉得这么做很没意思
第三个解法是在二叉树中间加placeholder node 比如说我原树 root是1,连着2,3,4,5 四个node 那么我新的二叉树root 是1,两个孩子还是1,意味着这是placeholder 然后左1下面连2,3, 右1下面连4,5.鏈枃鍘熷垱鑷1point3acres璁哄潧
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
其实除了第一种解法我觉得后两种都是有点乱来,不过面试官也说了第一种是最好的
回复 支持 1 反对 0

使用道具 举报

 楼主| bunnyNova 发表于 2016-10-6 15:36:46 | 显示全部楼层
say543 发表于 2016-10-6 14:45
第一轮 work list很大吗? 优化怎优化呢 ? 第四轮怎解阿? 能说说楼主的三个方法吗? thanks
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
word list 不会太大,就是你query的那几个word肯定比doc里的word少,除了暴力就是统计每个word出现的index,然后对两个word的list做比较.1point3acres缃
比如第一个word出现在1,3,5 第二个出现在2,8,9 第三个出现在7
那么1,2是一个bygram,5,7是一个bygram
对于很多docs优化的方法就是倒排索引,只查含有这个word的doc
再就是有些东西可以offline算好不需要每次query都重新计算 所谓offline/online mode. more info on 1point3acres.com

第四轮我在之前回复了
回复 支持 1 反对 0

使用道具 举报

 楼主| bunnyNova 发表于 2016-10-6 09:37:53 | 显示全部楼层
第一轮的题 是搜索word不是work
回复 支持 反对

使用道具 举报

caeser123 发表于 2016-10-6 12:01:45 | 显示全部楼层
第四题是不是用两个queue做bfs?并且在二叉树的node上记录原先有几个children
回复 支持 反对

使用道具 举报

caeser123 发表于 2016-10-6 12:58:04 | 显示全部楼层
原来是这样,还是你这个方法好!
回复 支持 反对

使用道具 举报

say543 发表于 2016-10-6 14:45:05 | 显示全部楼层
第一轮 work list很大吗? 优化怎优化呢 ? 第四轮怎解阿? 能说说楼主的三个方法吗? thanks
回复 支持 反对

使用道具 举报

say543 发表于 2016-10-7 04:20:28 | 显示全部楼层
bunnyNova 发表于 2016-10-6 12:07
没那么复杂,不让用额外的数据结构. 1point 3acres 璁哄潧
其实面试官的意思是,你如何设计你的binary tree以至于你自己能够rec ...
.1point3acres缃
第一种解法 如果原本是三叉数 一个node 可能会有三个children 这样一个node 的右节点 会是一个list ? 感觉null node 也要考虑 这样list  会不会有order 的影响?  thanks for sharing so detail  求指教
回复 支持 反对

使用道具 举报

chs5003 发表于 2016-10-8 06:40:23 | 显示全部楼层
楼主现在收到follow up了吗
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 10:49

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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