彭博软件开发人员研究生职位 - 纽约
我想贡献我在纽约 Bloomberg LP 的采访经历。
第一轮-(电话面试)
这次面试很轻松。它持续了大约45分钟。第一个面试官介绍了自己,然后对我的简历进行了简短的讨论,并问了我一些问题,比如你申请彭博的原因。然后有两个编码问题
1) 查找字符串中第一次出现的子字符串,如果存在则返回它的索引。
2)向左旋转一个二维数字数组(我在没有使用额外空间的情况下解决了这个问题)。
然后他向我解释了他的角色和他的团队规模。
两天后收到hr的邮件。我在一个月内被选中在纽约进行现场面试。
他们为我提供了从机场到酒店的所有机票、酒店、出租车,另外他们还给了我一张 100 美元的礼品卡。
我在上午 10 点到达校园,并快速参观了这座美丽的建筑。
第 2 轮(编码面试)
这一轮有两个面试官。
问题1:-
在链表中,每个节点都有两个指针,一个是跳过节点,另一个是下一个节点。
此跳过节点可以指向任何节点,也可以指向 null。我们需要证明链表是有效的,如果一个节点的跳过指针不应该指向当前节点之前的任何节点或它自己或任何不存在链表的节点(它可以指向另一个链表中的任何其他节点)
我在第一次迭代中使用了一个哈希映射,其中节点引用作为键,索引作为值。
然后根据上述条件与跳跃指针索引进行比较。
问题2:-
您是婚宴的服务员,您需要为两种类型的客人提供服务
1) 要求特定类型食物的客人。
2) 要求不偏不倚的食物的客人。
但这里的条件是您应该始终为客人提供最古老的熟食。
我使用哈希映射,键作为食物类型,值作为带有时间戳的项目队列。
您可以在第一种情况下获得 O(1) 时间复杂度,在第二种情况下获得 O(Food types)。
然后他们让我休息了 15 分钟,在那段时间吃午饭。
第三轮(编码面试):-
这一轮也有两位面试官
问题1:-在二叉树中查找两个节点的第n个最小公共祖先使用递归方法来解决这个问题。
问题2:-如果一个类中有一个函数在一秒钟内被调用超过一百万次,我们需要打印一个错误。
我使用队列来存储它在每毫秒调用的次数
索引 i 处的值是 (count[i-1]+currcount- 队列头部的值) pop head if i-100>0 else count[i-1]+currcount
如果这个值大于 100 万,我们需要打印一个错误。
简而言之,我每毫秒都在数
2天后我被拒绝了。
为为何选择彭博做好准备?
希望这个经验可以帮助一些人。