一亩三分地论坛

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

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

微软实习 on campus 一面跪经

[复制链接] |试试Instant~ |关注本帖
cjhjames89 发表于 2016-4-6 04:03:58 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 本科 实习@Microsoft - 网上海投 - 校园招聘会 |Otherfresh grad应届毕业生

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

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

x
感觉我这应该是左后几批的面试了. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

今天刚面,面试官是一个两鬓斑白的manager,不是烙印,像伊朗或者中东的,在irvine office做SQLServer的database,主要涉及distrubuted system
他自我介绍完我就知道这妥妥地跪了
. 1point3acres.com/bbs
先问了喜欢和讨厌什么课,还有passion =.=
. Waral 鍗氬鏈夋洿澶氭枃绔,
然后问了一个problem solving。一个distrubuted system里有K台机器,每台机器里都有data,假设data都是int,问如何删除这个system里的duplicate values

然后写了一题code,在一个BST里找一个val,如果没有,return 比val小的最大的node. 鍥磋鎴戜滑@1point 3 acres

                     15. from: 1point3acres.com/bbs
          10                  20
   5                    18          25
找16 return 15. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

评分

2

查看全部评分

 楼主| cjhjames89 发表于 2016-4-8 01:08:20 | 显示全部楼层
lubor 发表于 2016-4-6 21:33 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
我觉得你的这个思路更可取啊,如果最开始int随机分布在各个机器里,每次hash某个int到某个machine需要进 ...
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
嗯,如果每个node的data都在一个hashset里,就已经自动去重了 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

面试官说了,是2层hash,每个node自己内部,和所有node
回复 支持 1 反对 0

使用道具 举报

wtcupup 发表于 2016-4-6 05:08:23 | 显示全部楼层
乍一看以为是find inorder predecessor 其实是find closest value变种
回复 支持 反对

使用道具 举报

chenyuhaohy 发表于 2016-4-6 05:15:06 | 显示全部楼层
这么晚的on campus啊。。LZ加油。。
回复 支持 反对

使用道具 举报

mclover 发表于 2016-4-6 05:25:02 | 显示全部楼层
分布式去重那题lz怎么答的?
回复 支持 反对

使用道具 举报

 楼主| cjhjames89 发表于 2016-4-6 11:30:18 | 显示全部楼层
mclover 发表于 2016-4-6 05:25
分布式去重那题lz怎么答的?

我一开说可以每台机器sort一遍data,blablabla,然后他问我不sort怎么办。想了一下,没想出来,就说了目前思路,说可以在每台机器上把data放到一个hashset里,然后我还在想怎么查重的时候他就直接说了,估计在掐时间。他说 you are on the right track,只要把每个 int hash 到不同的机器里,把机器当做bin,具体做法就是每个 int 放到第(int % K) 个机器里
回复 支持 反对

使用道具 举报

 楼主| cjhjames89 发表于 2016-4-6 11:32:19 | 显示全部楼层
chenyuhaohy 发表于 2016-4-6 05:15. 鍥磋鎴戜滑@1point 3 acres
这么晚的on campus啊。。LZ加油。。
. 1point 3acres 璁哄潧
谢谢!不过估计没戏了,面试前没怎么准备
回复 支持 反对

使用道具 举报

mclover 发表于 2016-4-6 11:36:43 | 显示全部楼层
cjhjames89 发表于 2016-4-6 11:30
我一开说可以每台机器sort一遍data,blablabla,然后他问我不sort怎么办。想了一下,没想出来,就说了目 ...

这样的话make sense, 不过数据的储存的位置也变化了, 不要求放回到原来对应的机器里吗?我觉得一开始存数据的时候就应该用这个思路,这样每次特定的数进来就放到唯一固定的node里, 每个node维护一个set, 这样就可以确保没有重复了
回复 支持 反对

使用道具 举报

lubor 发表于 2016-4-6 21:33:53 | 显示全部楼层
mclover 发表于 2016-4-6 11:36. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
这样的话make sense, 不过数据的储存的位置也变化了, 不要求放回到原来对应的机器里吗?我觉得一开始存数 ...

我觉得你的这个思路更可取啊,如果最开始int随机分布在各个机器里,每次hash某个int到某个machine需要进行机器与机器间的传输,这个overhead是比较高的吧,所以我想应该是首先让各个机器进行一次去重,然后再进行面试官说的hash,不知道这么答会不会好些
回复 支持 反对

使用道具 举报

b20160819 发表于 2016-9-29 10:02:56 | 显示全部楼层
wtcupup 发表于 2016-4-6 05:08
乍一看以为是find inorder predecessor 其实是find closest value变种

inorder感觉也能做,但复杂度要高点
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-6 17:01

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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