总结帖
https://docs.google.com/document/d/1Z5R-bR63nnaV9UQb_gc7zXHaxsUV8SyMiyhrqxKxaUg/edit
within one month
https://instant.1point3acres.com/thread/247768
- [x] lc 445, add two numbers
- [x] sort 5, follow up
- [x] array, follow up
https://instant.1point3acres.com/thread/233146
- [x] lru
- [x] 马拉松题, 更详细版: https://instant.1point3acres.com/thread/118011, http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=225621&highlight=bloomberg
- [ ] singleton class
- [x] 火车山洞
https://instant.1point3acres.com/thread/246255
- [x] top-k of dream, similar to merge k sorted list
- [x] find minimum elements in an array
- [x] design, 圆
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=235481&highlight=bloomberg
- [x] dfs
- [x] next greater element
- [ ] deadlock
- [x] design 股票
- [x] moving zero
- [x] competitions
- [x] self-balanced binary tree
self-balancing BST: the height is as small as possible, for quick look-up
AVL: the difference between the height of left subtree and right subtree is not bigger than 1
Red-black tree: each node has a color, the root is black.
AVL is more restrictive, so it's better than lots of searching operations.
Red-black tree is better for insertion
- [x] 火车山洞问题
one month before
https://instant.1point3acres.com/thread/214515
- [x] lc 328, linked list
- [x] design,公司
- [ ] difference between cpp and java
- [ ] heap memory vs stack memory
- [ ] 概率题, flip coin
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=227497&highlight=bloomberg
- [x] top-10 地址
- [ ] brain teaser, matrix, path sum
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=230936&highlight=bloomberg
- [ ] match parentheses
- [ ] word abbreviations 变种
https://instant.1point3acres.com/thread/214245?from_discuz=1
- [ ] 补充code
- [ ] function, check conditions
- [ ] population
- [x] top-k, stock
https://instant.1point3acres.com/thread/215535?from_discuz=1
- [ ] trie, auto complete
- [x] string addition
two month before
https://instant.1point3acres.com/thread/209092
- [x] string, find all unique characters
- [ ] number of islands
- [ ] matrix, zigzag print
- [x] design, top-k stock
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=223930&highlight=bloomberg
- [ ] 分配candy
- [x] lc, population next right pointers in each node
- [x] design, 股票
- [ ] buffer overflow
https://instant.1point3acres.com/thread/207637?from_discuz=1
- [x] find the first unique character in a string
- [ ] dp
- [ ] find lucky number
- [x] lc 117, populating next right pointers
- [ ] design, top frequent url
- [ ] similar to 2sum
https://instant.1point3acres.com/thread/205630?from_discuz=1
- [ ] call request
- [ ] grid, chess
- [ ] book, word
- [ ] reverse integer
http://www.1point3acres.com/bbs/thread-223167-1-1.html
- [ ] array最大两个数的index
- [ ] 岛屿周长
第二题, 面经高频, 求岛屿周长, 问了如何省空间, 比如你可以boolean[][] 记录走过的路径, 但这样空间太大,
所以面试官比较想要的是用Set, 楼主使用Set<Integer>, integer部分就是y * width + x, 这样可以unique标识每一个(x, y)点.
- [x] 火车山洞
欧洲男又出了那个火车山洞的数学题, 就是一个工人在一个长度为1000的山洞里工作(距离山洞左边距离200),
山洞左边外边开过来一列火车, 已经火车速度是工人逃跑速度的两倍, 问工人应该往山洞哪边跑?
本题就是初中数学那种追及和相遇问题. 如果往左边跑, 可以算出如果火车距山洞400米, 二者在山洞相遇. 如果往右边跑,
算出是或者600米二者在山洞右边相遇. 所以本题就是若火车距离<400, 哪边跑都死, 400-600, 必须左边跑, >600 哪边跑都活.
所以策略就是, 往左边跑
然后又问了如果工人距离左边是400米, 哪边跑合适, 那种情况就是右边跑喽.
接着又问了, 那generalize一下, 工人在什么范围往左跑, 什么范围往右边跑?
这个就是一个线性二元方程组求解, 设火车距离是Y, 人距离是X, 最后Y消掉, 求出X是250. 所以<250左边, >250右边
- [ ] rand 函数
- [ ] find first duplicate
- [ ] design, storage
3 months ago
- [ ] lc 332, dfs
- [ ] lc 143, linked list
- [ ] josephus problem, circular linked list
- [x] 火车山洞
请问楼主:火车山洞是这题吗?(感觉好像两个方向都跑不出去) 山洞总长1000m, 你在入口进去300m的地方, 此时听到有火车声从入口传来,
假设火车速率是你跑步速绿的两倍, 问你往哪个方向跑生存机率大些?
http://www.1point3acres.com/bbs/thread-214675-1-1.html
- [x] top k 股票
- [ ] leetcode 232
- [ ] dp, from top-left to bottom-right
- [ ] lc 138, copy list
- [ ] lc 98, validate BST
经典题目补充
http://www.1point3acres.com/bbs/thread-124098-1-1.html
数字游戏
给一个list, list中有两个数. 过程中可以一直往list中加数进去(append在最后), 但必须一直遵守三个条件:
1. list中所有数均需大于0
2. list中所有数都必须为unique
3. 新加入的数必须为已存在list中的某两数的差
. 1point3acres.com/bbs
要做的事情是把所有可能的过程(一直加到没办法加入新的数字为止)都给打印或是回传
ex. [30, 5], 则最新加入的数只能为25, list变为[30, 5, 25]
继续, 只能再加入20, list成为[30, 5, 25, 20], 接着就有两种选择, 可以加10(30-20) 或是15(20-5).
于是会分出两个branch
[30, 5, 25, 20, 10] 跟[30, 5, 25, 20, 15], 然后再把最后一个可能补上之后变成
[30, 5, 25, 20, 10, 15]跟[30, 5, 25, 20, 15, 10], 所以就回传这两个list.
可以预见的是如果一开始的两个数大小相差很多ex[99, 1] 那最后就会回传很多种path
-google 1point3acres
只写出brute-force, 我问应该有更加的解法, 面试官笑而不答我也是醉了
查语元
给定各种语言的字典, 给一篇文章, 给定一个function getWord可以取得文章中的下一个字(从头开始, 类似iterator的getNext)
问你要怎么样check他是哪一种语言(ex, English, French 等等).
给了一个一直把字放到各个字典里比对然后对每个字典投票的算法, 面试官问有没有不用把整个字典都预读到memory的解法, 完全没头绪...
红白骰子
一个大白方块, 六面漆上红色, 然后像魔术方块那样切成27等份, 问随机挑一个丢在地上, 红色面朝上的机率?
behavior questions
- [ ] why bb?
Why Bloomberg一定要好好准备,结合自己的背景准备好一套说辞,我觉得之前地里对这个的强调不够多。
我刚好认识Bloomberg的人,给了我一些这方面的提示。
我从两个角度切入,一是我之前的背景是纯C++,和Bloomberg契合,二是我对金融感兴趣,Bloomberg提供了金融和技术这个独一无二组合(强调唯一性),Bloomberg的核心本质是技术驱动的。
尤其技术轮面试时,把这句话撂下,面试我的码农叔叔频频点头,表示马屁拍到了点上。还有第三轮manager面我culture fit,
不断从各个角度challenge我是不是真的对Bloomberg有passion,我感觉到Bloomberg很在意候选人这方面的素质,
如果想浑水摸鱼临场发挥胡邹几句蒙混过关,肯定没戏。
第三轮到后来把manager聊高兴了,convince他我真的很想给Bloomberg工作以后,他直接告诉我前两轮技术面的反馈很不错,让我放心。当时我就知道这个offer差不多到手了。
- [ ] 找工作最看重哪三个要素
- [ ] 最challenging的project
怎么知道bb的;介绍自己的经历;why bb; pending offer; 如果多offer如何选,为什么bb。
这里一定要准备好why bb这个问题,LZ表示已经准备4,5点但还是快被逼到没话说了。。。被HR反复问
又问如果给你无限资源,你想做什么东西。
LZ做过machine learning的project,就结合bb提供各种news的服务,说想做个NLP的项目,
分析抽取新闻中的有效信息,为用户提供好的股票交易策略。
manager又问你觉得这之中有什么挑战,我就结合自己做project时遇到的问题,
说如何去除原始data中redundant and irrelevant是很大的挑战,聊了聊如何解决。
还有就是不要小视问问题的环节。我第一轮问面试官他们的team多大,大约多少人。告诉我5-10人。
我是就着夸赞Bloomberg扁平化管理,结构简单,重技术,没有那么多办公室政治的话茬问的。
所以这看似是问问题本质还是把面试官哄开心,让他们觉得我爱Bloomberg爱得深沉~面试官聊高兴了说Bloomberg看似大公司,
其实有点startup的感觉。我在下一轮的拍马屁表决心环节就把这句话用上了。