bloomberg onsite

前几天去面试了彭博,可能跪了。第一轮两位印度裔美国人,先问了简历,然后只问了一个题,在一个二维大海上面,假设有个神奇的函数 boolean hasShip(Pair a, Pair b),可以返回a, b 两坐标所构成的矩形区域内是否存在船只(a, b里面含x,y 坐标,分别是矩形的两个对角),然后让用这个函数实现int countShip(Pair a, Pair b)。我最开始的办法是一行一行的找,每行逐渐二分,被告需要否继续优化。然后我的解法找出矩形中间的点,将此区域分成4部分,然后递归,两人表示同意。写完代码后让我问问题,我问了很多,聊天聊的很好,这一轮完美。

然后第二轮来了一个中东相貌的人和一位中国大姐。 中东哥们儿出了个string的题,两个函数,加入字符串以及根据prefix取出所有字符串,就是用tries。我第一次自己实现tries,写的时候略卡顿,但最终还是写出来了,中东哥们不置可否。然后中国大姐出了纽约地铁的题目,这道题我没做过,而且她的描述非常模糊,我花了好多时间才理解这道题是什么意思,期间中东哥们儿不断插话试图给我解释,中国大姐一开始少给了我一个参数,我做了一会儿觉得不对,反问是不是少了什么,大姐想了一下说是少了个参数userID,中东哥们立即表示怀疑,他认为这道题不用userID也能做,但中国大姐最终坚持加上了userID。

然后我想出了一个方案,用两个hashmap记录一些信息,还没说完就被告知需要进一步做空间优化,估计她是看到我说的跟标准答案不一样直接给我喊住了,这是想让我一口喊出答案的节奏,我想了很久,最终给出了两个hashmap, <userID, (time, staion)> 和 <Station, <Station, (total_time, num_of_people)>>。中国大姐表示方法正确,但却不停的说空间复杂度太高,追问让我再做进一步优化。我最后实在没有别的思路。就不了了之。感觉他们两个人都不是很清楚这道题。

最后让我问问题,结束后两人告诉我hr今天不在办公室,她应该会在未来几天联系我,然后送我下电梯,叫我享受下纽约的好天气。估计跪了。。。

我知道肯定跪在第二轮,这轮面试体验非常不好,感觉他们自己也不清楚想问什么,对于我的回答两人均是一幅不置可否地样子。中国大姐全程没说过几句话,然后我也很难理解她说的话,给的题一开始也是错的,感觉被坑了。。。总之已经过去了,

真要怪就应该怪自己当初没有更坚持一点,被他们误导。。。这次面试得到很多教训。。。

我所有问题都是第一次见,全部都回答上来了。整体也有一个思维的过程,从复杂到优化。如果说真是有问题,那就是第二轮跟两个面试官聊的不是很热烈,自己解法表述的不是特别清楚,然后写代码的过程中略卡顿,但我觉的这其实是一个正常人解决问题时候应该有的表现。。。不知道了,还在等最终结果。