新鲜出炉的bloomberg面经

原帖地址:一亩三分地

一轮电面:
白人小哥口音,上来聊了聊简历,问做过的最有趣的一个project。然后出了一个题,一个类似facebook的社交网络,对于用户A, 写一个function计算网络中其他节点相对A的得分,他描述题目就描述了很久,大致是类似pagerank如果B是A的朋友,或者是A有很多朋友都认识B,那么B的得分较高,依次类推。这题做完之后就没时间了,估计面试官心中也没有完美的解法。。。。

Onsite:
第一轮:中国小哥+白人大叔
白人大叔上来问了一个hashmap的get操作如何优化其worstcase的时间复杂度,然后又问为什么标准库不用这种优化方式。
第二个题是中国小哥问的 validBST, leetcode原题。
第三个题是白人大叔写了一串代码,然后问了很多java string的细节,包括immutable,还有内存的allocate等等。

第二轮:亚裔小哥+印度小哥
第一个题,给一个手机键盘和一个字典,2对应abc,3对应def。。。。等等, 要求写一个函数,输入是“223”这种数字组成的字符串,输出是所有这种字符串能产生的字母组合中在字典里出现的字符串。
很简单的backtracking,follow up 是如果可以对字典进行预处理,如何用O(1)的时间得到数字串对应的字符串列表。
第二个题,要求写一个函数,计算两个正整数的乘积,不允许用*,/,%,只允许用位运算和加减。要求时间复杂度less than O(n)。
第三个题,让你设计一个list容器,然后可以支持整数类型和null的存储,我的解法是再开一个list来存null的index,后来经提示用bitvector来存null的位置。

第三轮:亚裔manager
聊了一个most challenge program,聊了一些behavior question 还有 why bloomberg之类的。。

第四轮:白人妹子recruiter
聊了一下选择offer的因素,同样 why bloomberg,然后说入职会有12周的培训,之后match group之类的。。。。

早上11点正式开始面,中间基本每轮完了有10分钟,下午3点走出bloomberg大楼。