春假扭腰Bloomberg一游

春假去了趟扭腰参观了下Bloomberg,发现总部在Mahattan这种寸土寸金的地段还挺大的,里面装修也还不错。最重要的是,放眼望去,男女比例还是不错的,比一般的IT公司还是要均衡很多,至少给我面试的人里面都是男女成对出现,虽然不知道这是不是凑巧而已。两星期前刚好有2个同学来这面试,都是面了一轮就完了,于是我在面试的前一天还约了人吃中饭,结果我去的时候居然给我面了4轮,直接从早上10点弄到下午4点。

最坑爹的是,整个面试过程居然没给时间吃中饭,面完三轮以后直接到了下午3点半,被告知还有第四面,于是被饿了好久的我随便在公司找了点免费吃的,也就两个巧克力棒+ 一根香蕉+两杯果汁,准备吃第三个巧克力棒的时候感觉实在太腻了,吃不下去,于是对这个公司的好感也差不多都消失了。还有一点坑爹的是,公司给我订的机票是下午3点半的,搞得我面完两轮就慌着准备赶飞机去了,结果下楼的时候被HR电话叫了回来,说面试官在找我。那叫一个囧啊。。。只能后来跟面试官说担心自己赶不上飞机,怕成了流浪的孩子,于是面试官哭笑不得的让安排行程的人给我改了机票。

言归正传,说说面试吧。话说他家开发主要用的C++,所以建议大家写code的时候最好用C++,以免产生误会。感觉考的算法地方很少,偶尔会冒出个编程语言问题在中途问问。


第一轮:白女+印度男

先问简历,问我会什么语言,然后问了点编程语言方面的问题,例如java和c++区别,malloc和new的区别什么的。之后就跟面试官聊到了memory leak,在解释有什么方案的时候,我顺便提及了下可以用smart pointer去处理,没想到面试官直接说那你的第一个题目就来个实现smart pointer吧。

这个题目做得比较失败,因为自己只用过library,也没想过怎么实现。尝试好几次,不断完善自己的class,但还是不断被指出还有某某功能没有实现出来,几番努力之后还是没有达到要求,至少性能要求没达到。

第二题是关于excel题目,给出column的string值(例如ABC),要求对应的序号的值。挺简单的,直接秒之。

第三题让我反转表示一个浮点数的字符串,也没什么难的,分成整数部分和小数部分分别处理就好了。


第二轮:白男+亚裔女

第一题是实现pow函数,非常基础的题目。

第二题是给出一个规则:一共1-n这n个数,从1扫到n,扫到尾部就又从头开始扫,每隔k步去掉一个数,问最终剩的那个数是什么数。我就只接给出了最直接的O(n*k)解法,把1-n用一个双向链表表示解之。感觉应该有更优的解,不过没有想出来。

第三题是要求把二叉树根据一些规则更新节点值:对于重复出现的节点,节点值全部置0,没有重复出现的节点,节点值另外分奇偶处理。首先想到的就是先扫描一遍二叉树建一个哈希表,记录下所有重复出现的节点值,然后再扫描一遍更新各个节点即可,反正心想O(n)也是最优了。不过马上被告知希望只扫描一遍,于是把哈希表的结构改了下,key是原来的节点值,value是node指针。每次碰到一个节点,如果是新节点,就加入hash表,否则找到对应的指针,将之前重复的节点值置0。面试官的标准解法貌似跟我的想法不一样,一开始说这样做可能不行,后来我演示给他看了才相信。


第三轮:白男项目经理

白男很nice,得知我需要改订机票的时候直接说让人给我订个头等舱弥补下我,搞得我很感激。问我的是一个手头上的真实项目,分成两块。第一块是对数据流的实时分析,time series analysis,问我算法问题。刚好我做过类似的东西,然后稍微customize了一下自己还在under review的论文里的一种算法,顺利解之。白男boss发现居然可以这样解决问题,比较满意。

第二块比较无聊,大概意思就是说,所要的结果应该综合对数据流查询的实时结果和对数据仓库查询的实时结果,虽然第一块解决了对数据流查询处理解决了,对数据仓库的查询怎么解决。由于各种查询非常多,而且单次的查询开销大,该怎么办。我先给他了一种pre-aggregation的解决方法,毕竟自己做过这方面的project,他不怎么了解pre-aggregaiton这个方法,解释过后他说不准有任何的近似求解,并且否定了这个方案。后来我说就用空间换时间,弄一层cache layer。他就说数据太多,cache不够大怎么办,我说用做成分布式的,用hash partitioning就行了。他又说我现在就一台机子,怎么办?我后来跟他说那就把数据压缩下吧,顺便弄成column-store,获得更好的压缩比例。他继续问,如果压缩以后cache还是装不下怎么办?我想了会儿,他提示其实很多查询并不是会被经常用到。坑爹呢,早点提示这点不就行了,我连忙说只存储最常用的查询结果就可以了,另外查询的就直接访问后台数据库吧。然后补充道这个必须以各种查询的频率分布是倾斜的为前提,例如zipf分布什么的。他估计就盼着我说这一点了。

这一轮自己感觉非常幸运,毕竟两个星期前才开始接手一个数据流处理的project,投的简历里根本没有写有这方面的背景,好在两个星期的初步学习使得我现在对他说的那些概念都非常了解。另外很多问题我都有相似的项目经历,甚至用上了自己论文里的算法思想,实在是太幸运了。。。


第四轮:HR MM

长得挺漂亮的,一顿狂侃,没有问什么所谓的behavioral question。最后她怕公司太大我走迷路,送我出门。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值