一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1003|回复: 6
收起左侧

Bloomberg phone & onsite

[复制链接] |试试Instant~ |关注本帖
小小平民 发表于 2015-11-20 05:39:20 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类 硕士 全职@Bloomberg - 内推 - 技术电面 Onsite |Otherfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
Phone interview: 11/05/15
Q1.  2 sum :  找到整形数组里面第一对和为10 的pair。第一对的意思是pair里的第一个数的index最小。
    Solution: hash table 或者set存之前visited过的数字。遇见一个数字checkif (10 - num) is in the hash table or set. O(n) time, O(n) space.
Follow-up:
    What if all the numbersare positive?
    Solution: 用vector<int>flags(10,0) 来存1 – 9 是否存在过就可以了,不用hash table
Q2. 用LinkedList来实现一个stack或者queue。写class 包括constructor, destructor, push, pop, empty 等函数。
给出了最直接的解法,没要求优化,只是指出了代码里的几个小bug,类似于构造函数的形参之类的。
Onsite:  11/19/15
Round 1: 俩美国白人,很nice,一个shadow没咋说话,一个主要问问题。
Q1. 写出atoi这个函数
Solution: 注意检查Corner case。其他的就比较简单了。
Q2. 给出class 里的两个函数,void seed(country, population) and string get()
    Get 会比seed用的频繁。
    意思是有一个国家和人口的列表。Seed就是加入数据,get会根据不同国家的人数来随机return 国家名字。Return的国家名字的概率要和人口数成正比。比如:中国13亿,日本1亿,美国6亿。Return的时候就要65%的概率return中国,5%的概率return日本,30%的概率return美国。
Solution:hash table 来存country – population的数据。另开一个vector来存国家名和对应概率区间。概率区间如例子中的就是: China – [0,0.65], Japan – [0.65,0.7], USA – [0.7 - 1].
然后产生0 – 1 的随机数,看在哪个区间,在哪个区间就返回哪个国家名字。这里可以用二分法。
Round 2: 一个坑比印度人,上来就说我名字是什么什么,但是你也叫不准,算了,我也叫不准你的名字。本来是该俩人来的,但是另一个人有事来不了了。全程找茬和误导和鄙视。还好问题都见过而且直接给出了最优解,不然肯定挂。
Q1:你用过C++吧,说下C++有啥特性。这问题open的我就开掰,什么封装,继承,多态开始讲。然后补问多态是啥?为啥要用多态?然后说了程序maintainence 更容易,debug更容易,code量少,一直不满意就问那对user有啥好处?然后说你随便写一个多态的例子吧。我就想着写了个动物,然后不同动物有不同的吃东西的函数。他说很好,那要是不用多态要咋写?我说那就得一个动物一个动物写。他说现在你知道啥好处了吧?尼玛不就是前面说的那些个么。最后终于放过这题。
Q2:给一堆search strings,写vector<string> getNUnique(int n) 和add(string)
    就是有一堆搜索的字符串,返回n most recent ones。Add函数就是加入一个string.
Solution: 给出类似于leetcode 的LRU cache design。Hashtable + DoubleLinkedList
Add() 是O(1) getNUnique是O(n)的。他没想到这么快就给出了解法,他就开始瞎引导:为啥用double Linked List用single linked list 不行吗。最后他说写一下add() 函数吧,syntax error 不要紧。一口气写完了,bug free。
Q3: leetcode Unique path: 障碍物是0,路是1.
不过他故意给了没用的提示。说可以从(0,0)走到(row-1,col-1)或者从(row-1,col-1)走到(0,0)。但是明明没区别的。估计想引导我用recursion去解。但是我可不吃这套,直接给了2D array 的DP solution dp[j] = dp[i-1][j] + dp[j-1]; 然后他说还能优化么?我说那用space可以优化,比如用一个vector<int> 就可以完成dp了。他好像还不放弃,想让我往recursion那里靠,就问还有别的方法么,除了这个。我说那就recursive呗,不过时间复杂度非常高。他就故意装傻问为啥呢?我就举例一格一格走给他看为啥有重复计算的。他才放过。
Round 3: Indian manager: 这个人不算nice也不是很贱。就是问题有点open。
先问你的亮点是什么?然后问为啥换到CS专业的公司。从实习的公司学到的一课是什么?实习的公司有啥缺点?
Tech question是:写出大整数相加的伪代码。需要注意哪些输入。以及要是测试这个函数咋测试。
如何评价搜索引擎的efficiency。比如有个table是user inputsearch string – 10 urls returned by the search engine – index which url theuser pick up.
首先说index肯定是越小越好,证明用户都会点前面的进去。设计一个parameter来反映这个特性。我说用平均数就可以了,然后他说平均数的话比如 5 5 5 5 和1 1 10 10 就会是一样的performance。那我说加个标准差,他说OK。
补问:咋样知道user是找到想找的东西然后不找了,还是看结果都不相关就不继续找了。我也忘了我咋扯的了。
还有就是比如搜索NewYorkplaces to visit 和New York tour info和New York interesting places 应该算相似搜索,咋样判断是不是相似搜索。
提了几个idea:提取关键词,根据返回结果等等。
Round 4: HR
基本的behaviorquestion,为啥来Bloomberg,来financial background的company会不会不适应,觉得纽约工作和湾区相比咋样。向他一个non-tech的人描述自己的project.


评分

2

查看全部评分

本帖被以下淘专辑推荐:

sarah5 发表于 2015-11-21 01:59:08 | 显示全部楼层
学长好厉害~
回复 支持 反对

使用道具 举报

pinkywmy 发表于 2015-11-21 04:15:03 | 显示全部楼层
LZ觉得达到了Leetcode什么难度
回复 支持 反对

使用道具 举报

Czon 发表于 2015-11-22 03:54:52 | 显示全部楼层
感觉题不算难啊楼主运气不错
回复 支持 反对

使用道具 举报

mc9570 发表于 2015-11-24 04:38:52 | 显示全部楼层
一般什么时候有消息?祝楼主好运!
回复 支持 反对

使用道具 举报

 楼主| 小小平民 发表于 2015-11-26 16:01:31 | 显示全部楼层
果真被烙印坑了,没有offer。
回复 支持 反对

使用道具 举报

JamesJi 发表于 2015-12-17 03:10:36 | 显示全部楼层
楼主请问一下找index最小的pair,按照hash的话,最开始找到的应该是index最大的pair吧?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-3 12:52

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表