一亩三分地论坛

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

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

bloomberg on campus 面经

[复制链接] |试试Instant~ |关注本帖
wpc 发表于 2015-9-26 17:27:20 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类 硕士 全职@Bloomberg - 校园招聘会 - 校园招聘会 |Otherfresh grad应届毕业生

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

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

x
bb貌似校园宣传从来都很有力度,今年这次是在career fair上和他们交流之后得到了on campus面试的机会,不管怎样,把经历拿出来和大家分享一下:-google 1point3acres
1. 第一轮 on campus: 一位烙印和一位国人姐姐,他们首先是对着我的简历问了java的基础概念,虽然他们不是专门用java的,不过就这样也在一问一答中对java的体会有所增加,然后是两道题,一个是电话本设计,要求可以动态提示名字,我先说了hashmap然后再提了trie,他们要我写下trie中node的代码,然后再问了下细节。 第二题是reverse linked list,虽然题不难,他们质疑了我用的dummy node,认为一个reference可以解决着实没必要再create一个元素,确实很有启发,平时代码里的冗余自己都没有意识到,再要求用recursion解决方法,代码没要求写。
2. 第二轮 on campus: 两位白人,感觉他们还是比较nice也比较有包容,先是询问了上一轮的题,然后要求sort 一个char array,里面有重复字母,用了长度26的int[]可以解决。 之后一位要求实现arrayList的代码,注意actual size==arr.length就还好,不过其中我遇到了些细节问题,稍微有点纠结。
3. 第三轮 on campus:一个hiring manager和HR,可能他们觉得我之前遇到的题目还不够难度,所以稍微challenge了一点,由于我是学EE之前,问我三极管数字电路什么的会不会写,我立即跪舔说忘光了,他没纠缠,然后出了个题,一个bst,输出min max之间的所有node,我先说in order出来,然后截取,但是还觉得最好能locate到两个node,略纠结,但是他问,即使locate到了怎么在之间遍历,于是要我写出了基本方法,之间dfs然后判断,再之后问能否优化,我加了左右判断于是有些node就不用遍历了,他表示满意,还说不要觉得题没答好,算是perfect(现在觉得他好像在讽刺我。。。)然后HR来了一堆behavior,我继续扯了一会。随后manager说来个brain teasor,pirate&wine问题,1000个slave,1000杯酒,一杯有毒,如何使用最少slave来测哪一杯有毒。我确实体会到我对好多cs方法理解不够灵活,举一反三比较迟钝,他提示1一个slave能测几杯,我说2,然后2个slave几杯,我说3,他说不是4个,然后推算到3个,对应8个,所以10个slave够了。follow up是每个slave几杯酒要喝,我说错了两次,最后他画了个图,说n/2。感觉受教了,不知道以后还有没有机会投bb,毕竟我是用java的,以后毕业工作几年他们不一定愿意train非fresh grad C++了。大家参考一下,希望对你们有帮助~~

评分

4

查看全部评分

shanni 发表于 2015-9-28 08:53:52 | 显示全部楼层
leixiang5 发表于 2015-9-27 03:01
那为什么slave不可以一直喝呢?因为有可能到最后一杯才是毒酒。

因为同一个slave 一直喝要撑死啦 就不能测出是不是毒死的了。
回复 支持 3 反对 0

使用道具 举报

mnmunknown 发表于 2015-9-27 04:09:30 | 显示全部楼层
leixiang5 发表于 2015-9-27 03:01
那为什么slave不可以一直喝呢?因为有可能到最后一杯才是毒酒。

你可以理解为一个slave是一个二进制的bit,每一杯酒可以有自己独特的二进制编号,对应的是某个slave喝或者不喝;这样 2^10 = 1024 ,10个slave (bit) 就可以表示 1024 杯酒了
回复 支持 1 反对 0

使用道具 举报

leixiang5 发表于 2015-9-26 22:15:08 | 显示全部楼层
感觉楼主分享。. From 1point 3acres bbs
楼主能解释下brain teaser吗?为什么一个slave能测2杯?意思是每个slave只能喝2杯吗?
回复 支持 反对

使用道具 举报

 楼主| wpc 发表于 2015-9-27 00:52:37 | 显示全部楼层
是一个slave可以喝2杯,比如杯子1和杯子2,喝杯子1的酒,看slave死没死。. From 1point 3acres bbs
然后两个slave测4杯,slave1喝杯子1,slave2喝杯子2,都不喝杯子3,都喝杯子4,看是死一个还是死两个判定哪个杯子有毒。
回复 支持 反对

使用道具 举报

sevenwonder 发表于 2015-9-27 02:50:47 | 显示全部楼层
wpc 发表于 2015-9-27 00:52
是一个slave可以喝2杯,比如杯子1和杯子2,喝杯子1的酒,看slave死没死。.鏈枃鍘熷垱鑷1point3acres璁哄潧
然后两个slave测4杯,slave1喝杯 ...

你这个算是限定条件吧,要不一个slave直接从1喝到1000不就是最少的人数么
回复 支持 反对

使用道具 举报

leixiang5 发表于 2015-9-27 03:01:04 | 显示全部楼层
wpc 发表于 2015-9-27 00:52-google 1point3acres
是一个slave可以喝2杯,比如杯子1和杯子2,喝杯子1的酒,看slave死没死。
然后两个slave测4杯,slave1喝杯 ...

那为什么slave不可以一直喝呢?因为有可能到最后一杯才是毒酒。
回复 支持 反对

使用道具 举报

wentworth 发表于 2015-9-27 03:33:01 来自手机 | 显示全部楼层
周二就要面最后一轮了,看见lz发的突然好紧张。我听以前的人说第三轮都是纯behavior的,怎么还有coding
回复 支持 反对

使用道具 举报

mnmunknown 发表于 2015-9-27 03:37:51 | 显示全部楼层
看id好像是万总啊。祝好运
回复 支持 反对

使用道具 举报

sevenwonder 发表于 2015-9-27 09:50:41 | 显示全部楼层
mnmunknown 发表于 2015-9-27 04:09
你可以理解为一个slave是一个二进制的bit,每一杯酒可以有自己独特的二进制编号,对应的是某个slave喝或 ...

多谢解释!
回复 支持 反对

使用道具 举报

子弋 发表于 2015-9-28 10:18:03 | 显示全部楼层
还是有点不懂,二进制那个例子,每个slave要喝n/2杯,如果真可以喝这么多,为何不直接用2个slave呢?可以解释一下吗?比如用3个slave的例子
回复 支持 反对

使用道具 举报

 楼主| wpc 发表于 2015-9-28 14:47:08 | 显示全部楼层
shanni 发表于 2015-9-28 08:53
因为同一个slave 一直喝要撑死啦 就不能测出是不是毒死的了。
. From 1point 3acres bbs
哈哈,有道理!实际上算是限制条件,毒药30天见效,而要求我们三十天后直接可以知道结果,说白了不让周期过长
回复 支持 反对

使用道具 举报

 楼主| wpc 发表于 2015-9-28 14:48:36 | 显示全部楼层
sevenwonder 发表于 2015-9-27 02:50
你这个算是限定条件吧,要不一个slave直接从1喝到1000不就是最少的人数么
. From 1point 3acres bbs
对,算是,不然纯粹一个一个喝下去也不是考察目的,那个三十天后才知道毒没毒死就是想限制这个的
回复 支持 反对

使用道具 举报

 楼主| wpc 发表于 2015-9-28 14:50:24 | 显示全部楼层
wentworth 发表于 2015-9-27 03:33
周二就要面最后一轮了,看见lz发的突然好紧张。我听以前的人说第三轮都是纯behavior的,怎么还有coding

我感觉纯粹看你前两轮的难度和个人背景,如果技术面对你的技术已经得到肯定或者背景丰富值得manager对你有深入了解,应该就无coding状态。
回复 支持 反对

使用道具 举报

 楼主| wpc 发表于 2015-9-28 15:58:50 | 显示全部楼层
mnmunknown 发表于 2015-9-27 03:37. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
看id好像是万总啊。祝好运

嘿嘿,刚刚看到富农给的大米,满满的都是爱~~~ 好运啊!等着你好消息!jiao!
回复 支持 反对

使用道具 举报

 楼主| wpc 发表于 2015-9-28 16:03:08 | 显示全部楼层
子弋 发表于 2015-9-28 10:18
还是有点不懂,二进制那个例子,每个slave要喝n/2杯,如果真可以喝这么多,为何不直接用2个slave呢?可以 ...

我应该当时理解有偏差,应该是每杯酒被多少人喝过,例如3个slave
000
001. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
010
011
100
101.1point3acres缃
110
111
统计每列的1的个数都是4(8/2),抱歉误导你了
回复 支持 反对

使用道具 举报

子弋 发表于 2015-9-29 05:15:26 | 显示全部楼层
wpc 发表于 2015-9-28 16:03
我应该当时理解有偏差,应该是每杯酒被多少人喝过,例如3个slave
000
001

楼主不好意思我还是没懂(感觉我智商不够啊= =)楼主举的这个例子应该是8杯酒,worst case需要3个人?我看到是用人喝不喝代表01然后3个人就三个bit可以表示8杯这个意思吧?然而还是觉得理解不了这个过程。。。楼主能描述下这个过程吗?比如三个人先分别喝一杯,如果都没死,说明这三杯没问题,然后为何要变成两个人喝一杯呢。。。
回复 支持 反对

使用道具 举报

mnmunknown 发表于 2015-9-29 05:24:59 | 显示全部楼层
子弋 发表于 2015-9-29 05:15
楼主不好意思我还是没懂(感觉我智商不够啊= =)楼主举的这个例子应该是8杯酒,worst case需要3个人? ...

第一杯酒: 编号 000 , 三个人都不喝。如果最终结果是三个人都没死,说明第一杯酒有毒。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
第二杯酒: 编号 001, 前两个人不喝,最后一个人喝,如果只有最后那个人死了,说明第二杯有毒。
第三杯酒: 编号 010, 只有第二个人喝。如果只有第二个人死了,说明第三杯有毒。
第四杯酒: 编号 011 ,第二第三个人喝,如果最后只有他们死了,说明第四杯酒有毒。

以此类推,你会发现最后可以根据 “第几个人死了,第几个人活着” 这个信息反推出原来酒的二进制编号是多少,从而得知是第几杯酒有毒。

同时,对于每一个人,也即每一个bit,在从0000 数到 1111 的过程中,都是有一半的时间是 0, 一半的时间是 1, 所以每一个人要喝的杯数就是总共能代表酒的数量  n 除以 2.
回复 支持 反对

使用道具 举报

子弋 发表于 2015-9-29 05:30:16 | 显示全部楼层
mnmunknown 发表于 2015-9-29 05:24
第一杯酒: 编号 000 , 三个人都不喝。如果最终结果是三个人都没死,说明第一杯酒有毒。
第二杯酒: 编 ...

嗯,谢谢解释啊!所以题目意思是一次性把所有的喝酒行动进行完再判断吗,是吗?不然可以让两个人一杯一杯试就好了
回复 支持 反对

使用道具 举报

mnmunknown 发表于 2015-9-29 05:34:43 | 显示全部楼层
子弋 发表于 2015-9-29 05:30. 1point 3acres 璁哄潧
嗯,谢谢解释啊!所以题目意思是一次性把所有的喝酒行动进行完再判断吗,是吗?不然可以让两个人一杯一杯 ...
. more info on 1point3acres.com
这个题目肯定是有条件限定让你不会立刻看出来的,比如说喝了毒酒的人一个礼拜或者一个月才会死。。

不然的话就找一个苦逼不停的一杯一杯喝,剩下999个slave看着他喝,看看他到底喝到哪一杯挂掉。。想想都觉得惨啊
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-5 02:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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