彭博 昂赛 标准两轮游

第一次发帖 彭博是我最后一个面试,之后会陆陆续续把以前其他公司的面经发上来。

onsite 两轮 技术面 直接说题目

第一轮
三个人,一个拉美小哥,一个小白,一个国妹(目测是shadow,好看)
第一题,拉美小哥提问。有两个算数操作,第一个是 x/3 (得到的是整数), 第二个是 x*2。给一个目标数 n(整数),如何经过这一系列算数操作可以从整数1得到这个目标数 n。
例如目标数为 5,那么 1 * 2 * 2 * 2 * 2 / 3 = 5。
用BST
第二题,白人小哥提问,given a BST, get the largest, 2nd largest, 3rd largest number。没让写代码 只让说思路
用Stack
第三题,given two sorted lists of chars, merge them to one “sorted” list. merge的要求: 如果在某个input list 里面,c1在c2之前,那么,在output list中 c1 也必须在 c2 之前
For example,
input list 1: C,B,D,F,H
input list 2: J,B,K,H,A
output list can be anyone of
C,J,B,D,K,F,H,A
J,C,B,D,K,F,H,A
C,J,B,D,F,K,H,A
C,J,B,K,D,F,H,A
结果不唯一 但返回一个正确的就行
我给了个很复杂的方法,不好实现,但是optimal performance,代码写不完。。。

第二轮,两位国人大哥
第一题,给一些分数式 A/B=7, B/C=5, C/D=10, D/E=3, Z/B=4, 求Z/D
输入的分数是一定是简单的分数,一个分子一个分母一个值,分子和分母都只是一个变量,所以一个分数可以用(分子,分母,值)来表示
所求的分数也一定是一个分子一个分母的形式
这个题貌似要转化成图的问题 然后求两点的path
但是有好多不同的输入情况需要考虑
第二题,国人大哥说是very easy question,结果问了个LRU cache…
没时间写完了。。。

楼主没有看过彭博的面经,所以面的很渣,思路都对,但基本都是现场想,需要和面试官讨论很多,所以没有时间写完代码。
两轮之后,被人带出公司,一路上气氛相当尴尬,简直是世上最尴尬的面试。带我出去的人也不咋和我聊天,真的尬的很。

我觉得如果是真心想去彭博的,真的是要去刷他家的面经,写代码的速度得快。楼主基本佛系面试,给大家提供点面经,希望能对各位有帮助。

这几个面试官给我感觉都是屌屌的,可能因为彭博在NYC确实有比较高的地位吧。

另外,真的很爱NYC,对于习惯北方气候,不考虑房价,不怕走路,不怕做公交,不喜欢开车的我来说,真的很完美了。

lz第一题应该怎么做?我能想到的:
第一轮:

  1. 对于一个数n,如果是奇数,那么只能是 /3 来的,那么就在 [3x, 3x + 1,3x + 2]中选。其中只有3x + 1是偶数,所以只能选这个数,否则的话还得乘3。如果是偶数的话,虽然也可以/3这么来,然是还是*2的比较快吧。所以就是就考虑x/2. 有点类似于bfs。不知道楼主怎么答的
  2. inorder变种吧,inorder 是 left, root, right,你这里right, root, left的话,前三个就是最大的三个
  3. 能想到就是建一个图,然后拓扑排序

第二轮

  1. 里口叁舅舅, 原题么?
  2. 里口

请问楼主什么时候面的

11/13/2018

1.1 楼主就暴力BFS了,每到一个新的state就继续explore *2 和 /3之后的state,层主的方法应该可以减少一些不必要的计算。
1.3 嗯,应该是可以用拓扑排序的

2.1 是的

唉,你吃亏就吃亏在时间点了,这个点没多少hc 了

然后第二轮给你第一题的小哥不是国人,是纯血的ABC