Friday, December 18, 2015

http://www.mitbbs.com/article_t/JobHunting/33111683.html

之前也onsite了dropbox, pintreset, 和whatsapp都挂了,后来才慢慢找到点感觉。我
把面的题基本都写下了,但我不在这里和大家讨论这些题了。

A (Airbnb)

1. 2D array, 访问顺序必须是‘回’字的方式,就是从外圈转到里圈,写出class, 
Iterator, hasNext(), next().
2. 电话号码和计费的一个log, 去parse 看规定时间内哪个号码产生费用最高。
3. leetcode anagram 的一题变种
4. 有很多个sorted queue存在不同服务器上,如何有效的读取到一个 sorted 大queue
里 (google也面到了这题)
5. 设计db, 如何存取房东和房客的reviews, 如何maintain他们之间的关系。

Airbnb确实和大家说得一样面试官很nice, 内部装潢笔格明显很高,非常酷炫.
offer: 160k + 5000股/2年 = 260k


A (Amazon)

1. leetcode tree的一题,就是每层的nodes横着也是连着的
2. 设计搜索,在amazon搜索如何设计。
3. 写一个class可以把树存入到db里。
4. 设计游戏的背包ood.

onsite过了后,hr说onsite feedback很好,但要再加面一轮电面,电面只问了一些
behavior的问题,第二天收到据信,没见过这样欺负人的。


G(google)
1. 一段话,里面有几个关键词可以被替换成别的词,比如 $Foo 可以换成任意的词,
设计class搞这个。
2. 一道图的题,打印出所有的环。
3. 有很多个sorted queue存在不同服务器上,如何有效的读取到一个 sorted 大queue里
4. 在一个2d数组里,打印出某一块矩形所框范围内的所有值的和。
5. 2d数组里走格子,给你A点位置,有的格子不能走(石头)有的能走,问最短路径从
A到B.

感觉不难,面试官都很nice, 遇到的国人都很好。
offer: 150k + 500gsu = 240k 报了别家offer试着match之后的数字

G (Groupon)
1. leetcode 存水那题变种
2. 设计hashtable
3. manager 聊天
4. 设计类似hdfs的一个题
5. 把一颗树按每一层砍断,每一层变成一个linkedlist, 然后根据linkedlist复原原
来那棵树
6. hr聊天

我觉得Groupon的人水平挺高的,很多背景很牛,就是乌泱泱的烙印(palo alto)
offer: 155k + 52k股票钱 = 207k

后面几家真的记不太住了,都叉了,回头想起来再补上,我就先报一下数字,方便后人
参考。

L (linkedin)
offer: base很高,具体忘了,一年250k左右

C (cloudera)
offer: 130k + 7500rsu + 10% + signon 20k = 204K

Z (Zenefit)
offer: 160k + 50k options = 290k左右

U (Uber)

最给力的一家,也是我最后签的那家,我就多啰嗦几句。
offer: 135k + 17500RSU/4年 = 345k左右 (按48一股算的)

Uber是这几年争议最大的公司,我很喜欢他的不确定性,如果什么东西都被你看透了我
还玩个毛阿。uber不是一个去切蛋糕的公司,而是能把蛋糕做大的公司,Uber的收入、
增长率和执行力都很好,最牛的地方是在需求和供应之间建立了纽带,uber开始做你下
车的地方可以推荐附近好吃的餐馆和酒店;出去玩自动生成游玩路线和景点购票;还有
无人车,已经在路测了。实际上他在不停的创造新的行业,后面肯定会有小公司做起来
配合uber的服务形成新的产业链。我也愿意趁着年轻去拼搏一把,输赢都不重要,就如
同比起一直在岸边观看,我更喜欢和一帮小伙伴扬帆远航,探索新世界。

Monday, December 14, 2015

http://www.mitbbs.com/article_t/JobHunting/33109951.html

最近面了FLGU以及一些小公司, 运气较好,竟然全中。废话少说,直接总结准备过程并
上面经造福后人。中文表达障碍敬请谅解。打乱顺序以免麻烦。 其实这些题几乎100%
都是原题或者面经题啦。。

coding准备: 就把leetcode刷了一遍, 大概有10几题觉得好烦到现在也没做。 还好没
做:P 我觉得刷题一定要集中,不要拖太久。我刷了一个月的时候觉得受不了了,白天
上班,晚上哄宝宝,宝宝睡觉后做题,累的崩溃, 于是赶紧投了。边投边刷,效率很
高。前后全算上一共两个月。

design准备:板上有几个design总结贴,非常管用。我就是照着 flamingos和beidapig
的两个总结贴,大概看了看,学习了不少知识。
http://www.mitbbs.com/article_t/JobHunting/32777529.html
http://www.mitbbs.com/article_t/JobHunting/32984309.html

扯淡准备: 我觉得聊天很关键啊。学会聊天有助于拿offer。我这几个公司多少都出了
点纰漏,没有做到完全bug free。当然,可能别人看到是女码农就降低标准了也说不定
。。

coding:
1. 一个黑白图,用quad tree表示。 先定义数据结构,然后找intersection of two 
quad trees
2. sort colors
3. 给一个string里边每个char表示一个job, 还给了一个k, k表示俩相同job中间的最
小间隔。 input string里的job顺序不要打乱, 求最后完成这些job的总时间。
4. i) 3sum smaller ii) one edit distance
5. matrix with obstacles, 给你起点终点,BFS算最短距离。
6. find power set of a given set, with no identical numbers。 
7. 验证 UTF-8  string是否合法, count # of chars
8. letter combination of phone numbers
9. regular expression matching
10. 给一大堆点,求k nearest points 
11. house robber I and II
12. roman to int && int to roman, 怎么验证roman是不是valid
13. bst 打印sum是一个target的所有path
14. 判断俩tree是不是对称, 是不是相等
15. alien dictionary
16. 3个矩形求覆盖的面积。
17. spiral matrix I and II
18. group anagrams 
19. 原题shortest word distance I II III
20. 一个很简单的dp, 实在记不住了

design:
1. 设计spotify, 怎么实现given k, 返回当前听的最多的k个歌。
2. 设计web crawler, 给你一定数量的家用机配置的机器,设计怎么把abcd.com/index
.html上的所有link和link里的link都下载下来。
3. 设计某location based service, client 每过几秒钟report location。
4. 假设有个server, 有一些client往server上上传数据, 每个数据有序列号。 
design需要message格式。 假设要support query,  给定一个序列号,返回>这个序列
号之后的data。 设计message什么格式。这些数据怎么存储。 很多discussion记不住
了 。。
5. 设计一个股票交易相关的service, 其实是存储股票实时的价格更新,和一些实时
query. 比如你会收到各种股票的update, (股票名,价格,时间),你要设计数据结
构,设计怎么得到最近一个interval内某股票最大值最小值平均值。 数据怎么存储,
怎么更新,怎么synchronization等。
6. 设计搜索引擎。inverted index怎么存在multiple machine上。query来了怎么处理
之类。