一亩三分地论坛

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

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

Bloomberg 电面+onsite

[复制链接] |试试Instant~ |关注本帖
faint5370 发表于 2016-10-7 13:24:37 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Bloomberg - 内推 - Onsite |Passfresh grad应届毕业生

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

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

x
8月中旬内推,之后电面被鸽了两次。。。9月23号电面,当天通知给onsite,10月4号的onsite,隔了一天多通知过了。

电面,美国人,第一题Fizzbuzz,这是我做过最简单的题。。。第二题2sum,返回有多少个pair加起来等于target,数组里是有重复数字的需要去重。这电面真是不能更水。。。

onsite:
第一轮国人+美国人,国人大哥问了三道题,感觉放水了,lc129 + lc200 (follow up是求所有islands的周长加起来是多少)+ big integer求和。美国人只问了我一个问题:do you have any questions for us。。。

第二轮美国女+黑人男,第一题设计一本书里关键词的索引,给一个词返回这个词在书里哪页出现过,我用的trie,每个node里放一个set来存页数,让写了插入操作。第二题约瑟夫环,我用的环型双链表,这道题写了完整代码,这题好点的解法应该是dp,我没有说面试官也没让我再优化。最后好像还问了一下对bloomberg什么技术感兴趣,这我哪知道。。。

第三轮hr,都是behavior,选公司最看重哪三点,recent project,期望工资之类的。. 鍥磋鎴戜滑@1point 3 acres

第四轮美国人manager,先介绍他自己,然后问了一些我的项目,最后给我演示了terminal。我第一次面试没经验,自己的项目准备的不好,有的地方快忘了,中间说到一块被他质疑了,我还跟他理论说就是那样,后来面完出来想了下发现我记错了。。。本来以为会挂在这里。。。

这是楼主第一次面试,之前无实习经历,面第三轮和第四轮的时候两个面试官都说看你好像没什么实习经历啊。。。没想到面了一次还就过了,之前看了很多地里的面经,也发一下自己的攒人品!
fangdanzai 发表于 2016-10-7 18:35:24 | 显示全部楼层
请问楼主 约瑟夫环的具体题目是什么呢 还有big integer求和 题目原题是用链表组成的数字吗 谢谢楼主
回复 支持 反对

使用道具 举报

 楼主| faint5370 发表于 2016-10-8 00:03:36 | 显示全部楼层
fangdanzai 发表于 2016-10-7 18:35
请问楼主 约瑟夫环的具体题目是什么呢 还有big integer求和 题目原题是用链表组成的数字吗 谢谢楼主

那个题就是p个player围成一圈,从第一个人开始从1顺序报数,然后还会给一个数m,报数报到m的那个人就死了,然后从下一个人开始继续从1报,最后剩一个的时候那个人就赢了,问谁会赢。big integer他让我自己选数据结构,我就用了array,最后面试官好像觉得arraylist会更好一点
回复 支持 反对

使用道具 举报

cicean 发表于 2016-10-8 05:05:21 | 显示全部楼层
楼主 设计题, trie 的话 Node 里面是存 char 还是存 string 呢? 我没太明白怎么能快速查出 这个词的index , Leetcode 208 是建个 prefix tree。. visit 1point3acres.com for more.
能指点下,大概怎么用么?
回复 支持 反对

使用道具 举报

 楼主| faint5370 发表于 2016-10-8 10:31:49 | 显示全部楼层
cicean 发表于 2016-10-8 05:05
楼主 设计题, trie 的话 Node 里面是存 char 还是存 string 呢? 我没太明白怎么能快速查出 这个词的index ...

-google 1point3acres不需要存具体的char或者string吧,每个node里放一个set<integer>来存页数,比如你查the这个词,只需要在e节点的set里面放the出现过的页数就可以了
回复 支持 反对

使用道具 举报

期末求过 发表于 2016-10-8 11:22:53 | 显示全部楼层
周长怎么算的呀
回复 支持 反对

使用道具 举报

 楼主| faint5370 发表于 2016-10-9 00:33:27 | 显示全部楼层
期末求过 发表于 2016-10-8 11:22. From 1point 3acres bbs
周长怎么算的呀

我就一个格子一个格子加的,可能不是最好的办法吧。。。如果一个格子在岛里那它就会贡献4的周长,如果i-1,j是岛的话就减掉2的公共边,如果i,j-1也是岛的话,那就再减掉2。最后面试官说了一种办法,我没太听,但是他说我这种应该也是work的就过去了
回复 支持 反对

使用道具 举报

mengmeng88717 发表于 2016-10-11 00:03:13 | 显示全部楼层
四轮游机会还是比较大的!楼主有消息了么
回复 支持 反对

使用道具 举报

cicean 发表于 2016-10-11 01:00:56 | 显示全部楼层
faint5370 发表于 2016-10-8 10:31. 鍥磋鎴戜滑@1point 3 acres
不需要存具体的char或者string吧,每个node里放一个set来存页数,比如你查the这个词,只需要在e节点的set ...
. visit 1point3acres.com for more.
机智,理解了…
回复 支持 反对

使用道具 举报

小A要当码农 发表于 2016-10-12 12:00:46 | 显示全部楼层
faint5370 发表于 2016-10-9 00:33.1point3acres缃
我就一个格子一个格子加的,可能不是最好的办法吧。。。如果一个格子在岛里那它就会贡献4的周长,如果i-1 ...

求楼主具体说一下约瑟夫问题的双链表的解法呀。。头尾相连 一直循环过去吗? 感觉很容易出BUG呀。。。
回复 支持 反对

使用道具 举报

 楼主| faint5370 发表于 2016-10-12 12:28:01 | 显示全部楼层
mengmeng88717 发表于 2016-10-11 00:03
四轮游机会还是比较大的!楼主有消息了么
. From 1point 3acres bbs
面完隔了一天就通知过了
回复 支持 反对

使用道具 举报

 楼主| faint5370 发表于 2016-10-12 12:29:35 | 显示全部楼层
小A要当码农 发表于 2016-10-12 12:00
求楼主具体说一下约瑟夫问题的双链表的解法呀。。头尾相连 一直循环过去吗? 感觉很容易出BUG呀。。。
-google 1point3acres
是的,就是先建一个环,然后一个循环一直在里面删到剩一个
回复 支持 反对

使用道具 举报

小A要当码农 发表于 2016-10-12 12:48:05 | 显示全部楼层
faint5370 发表于 2016-10-12 12:29. more info on 1point3acres.com
是的,就是先建一个环,然后一个循环一直在里面删到剩一个

太强了,感谢。。。
回复 支持 反对

使用道具 举报

zzgzzm 发表于 2016-10-12 23:20:27 | 显示全部楼层
"设计一本书里关键词的索引" 按照楼主的设计(C++):. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  1. struct TrieNode {
  2.   set<int> pages;
  3.   vector<TrieNode*> next;
  4.   TrieNode() :next(vector<TrieNode*>(26, NULL)) {}
  5. };

  6. class KeyWordSearch {
  7. private:.鐣欏璁哄潧-涓浜-涓夊垎鍦
  8.   TrieNode* _root;

  9. public:
  10.   KeyWordSearch() :_root(new TrieNode()) {}. visit 1point3acres.com for more.

  11.   void addPage(const string& word, int page) {
  12.     TrieNode* cur = _root;
  13.     for (auto& c : word) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  14.       int i = c - 'a';
  15.       if (!cur->next[i]) cur->next[i] = new TrieNode();
  16.       cur = cur->next[i];
  17.     }
  18.     cur->pages.insert(page);
  19.   }

  20.   set<int> getPages(const string& word) {
  21.     TrieNode* cur = _root;
  22.     for (auto& c : word) {
  23.       int i = c - 'a';. visit 1point3acres.com for more.
  24.       if (!cur->next[i]) return set<int>();
  25.       cur = cur->next[i];
  26.     }
  27.     return cur->pages;
  28.   }
  29. };
复制代码
回复 支持 反对

使用道具 举报

zzgzzm 发表于 2016-10-13 03:29:59 | 显示全部楼层
"约瑟夫环", 按照DP的解法时间复杂度是O(n) (n是人数,与报数k无关),空间复杂度最优可以是O(1)。
假设每个人的编号是1, 2, ..., n.
  1. int JosephRingWinner(int n, int k) {
  2.   if (n <= 0 || k <= 0) return -1;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  3.   int prev = 1, cur = 1; // prev: winner for (n-1) people; cur: winner for n people.鐣欏璁哄潧-涓浜-涓夊垎鍦
  4.   for (int i = 2; i <= n; ++i) {
  5.     int firstOut = (k-1)%i+1; // the person killed first
  6.     if (firstOut == i) cur = prev;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  7.     else {
  8.       cur = ((prev-1) + (firstOut-1)) % (i - 1) + 1; // firstOut is also the start index for (n-1)-people. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  9.       if (cur >= firstOut) cur++; // restore index for n-people
  10.     }
  11.     prev = cur;
  12.   }
  13.   return cur;
  14. }
复制代码
. 1point3acres.com/bbs
补充内容 (2016-10-13 03:37):.1point3acres缃
如果用double linked list, 复杂度是 time O(n*min(n,k)), space O(n)吧
回复 支持 反对

使用道具 举报

fangdanzai 发表于 2016-10-14 05:51:21 | 显示全部楼层
faint5370 发表于 2016-10-8 00:03.1point3acres缃
那个题就是p个player围成一圈,从第一个人开始从1顺序报数,然后还会给一个数m,报数报到m的那个人就死了 ...

感谢 祝楼主好运 早日拿到offer
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-8 20:33

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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