由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - G家面经,求bless
相关主题
系统设计能力提高捷径为什么那么多人喜欢去infra?
大家都怎么准备面试?受不了了 mitbbs
说到年老色衰的程序员,贡献个面经吧。offer 选择求建议:Google vs Netflix
G里面搞big data的是不是出来没市场?签了g家的offer,可以反悔吗?担心进入黑名单
[bssd]糖一下骑马找独角兽的过程还有一周onsite,怎么看Hadoop.The.Definitive.Guide效率最高?
google onsite杯具+设计题怎么答前员工追忆百度乱象:上下异心 狼性压制人性(转载)
准备跟800题大牛一起啃system design的硬骨头了System design总结
Oracle其实不错不会C++,后果多严重?
相关话题的讨论汇总
话题: emit话题: python话题: bless话题: 加面
进入JobHunting版参与讨论
1 (共1页)
w**********2
发帖数: 20
1
到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
题,大家做过的。我总结下板上讨论比较少的几个问题。
1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
不用,估计直接就跪了。python帮我简化了不少。
2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在
那了。折腾了半天才弄出来。
3. 常见题型大家要练熟,思路要清晰。我的问题是做的太慢,一个interviewer 最多
两题,而且基本第一题就耗完了所有时间。其实我的题目都是常见题,只是面试前,没
有来过这个MITBBS,吃了大亏。所有大家还是要常来这里。
4. 大家尽量争取bug free, 我几乎每次都有小bug 给揪出来,导致我至今还在求
bless。但是我的感觉如果你有小bug,迅速纠正,应该问题不大,不要影响后面的答题
。我觉得我的最后结果,可以判断,G对面试中bug的态度。
5. Recruiter 的话未必可信。我的Recuiter在给我的加面通知里面特地强调了要考
system design的题。我看了三个星期paper,面试前两天,他还给我发邮件“I also
wanted to advise you that these last interviews will be focusing more on
system design and other open-ended questions (rather than just coding /
algorithms)”。我当时心里还想,这个算不算透题啊。。还很自信的回了一封邮件,
表示哥的system design 复习了,绝对没问题。加面的第一个interviewer 直接给我上
了算法和数据结构。 第二个进来的时候,也非常nice的表示准备了些算法相关的题目
。。 当时,我把我的情况给interviewer说了(system design 好像是hc的要求)。
interviewer 表示很诧异,又在电脑上查了一下邮件,然后告诉我他没有接到任何这方
面的通知。不过他还是很nice的给我编了两道system design的题目,第一个是信息抓
取相关的,就是在网页里面去整理餐馆的营业时间,营业时间的格式是不固定的,有可
能是 Mon: 10:00am-10:00pm, Tue-Fri: 10:00am-9:00pm, closed weekend。这个题
目我没有能答的很好,他总是能够找出我设计里面的漏洞,给我反例,最后一个击败我
的反例是 如果是个pub 从第一天的10:00pm 开到第二天的早上4:00am 怎处理。第二个
是 youtube的设计,怎么存视频文件,怎么推荐视频。 这次的经历更像是聊天。
6. 我的位置远离美洲大陆,加面的第一面是通过video做的,感觉不如白板的效率高,
要是白板的话,我的表现可能会好点。所以,如果有类似情况的同学,还是尽量争取用
白板。
7. 加面第一个interviewer问题目采用了一种很奇怪的方式。他说给我一个dict,里面
有很多words,并且给了一个简单的例子。然后让我根据dict 输出一个单词。当我问他
根据什么规则的时候,奇怪的事情出现了,他让我猜。。。哥当时就迷惘了。。难道这
就是open ended question?。。各种尝试之后未果,他才肯把他的要求说出来。后来
回家和LP说了这个事情,她提醒我说,对方可能在判断我有没有做个这题。。我觉得我
LP说的有道理。可能中国人在K题是大家都知道的事实。所有面试的时候还是要留意,
最好不要让别人看出来你做过这题。不过他的第二问就是从我猜的题目中取了一个。时
间没剩几分钟了,就让我描述一下怎么做。我猜的都是我有把握的 (trie 做input
suggestion),所以算他水给我的吧。
这个周应该出结果。 攒个RP 求祝福。
l*****a
发帖数: 14598
2
bless,old wolf

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

P*******b
发帖数: 1001
3
第二题怎么做?

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

P*******b
发帖数: 1001
4
好奇system design应该看些什么paper?

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

m******s
发帖数: 1469
5
Bless

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

j*****y
发帖数: 1071
6
那道 map reduce 的题目,感觉是 partion数据的时候,要有 overlap是吧?

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

B*******1
发帖数: 2454
7
bless.

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

C***U
发帖数: 2406
8
bless

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

w**********2
发帖数: 20
9
Reduce 的输出肯定是(i,j) -> 下一次的值。Map的输出目的就是,想办法能把reduce
计算(i,j)下一时刻的值需要用到的数据group到一起。 假设map的输入是(i, j) ->当
前值,计算(i,j) 下一时刻的值需要用到它的八邻点,反推他的八邻点下一时刻的值也
需要用到(i,j)当前值。 所以 map的输出就是 (i-1, j) -> (i,j)当前值,(i+1,j) ->
(i,j)当前值,...输出8个键值对。对reduce来说就好办了,需要的数据都gourp好了。
def map(partMat):
for k, v in partMat:
i, j = k
emit((i-1, j-1), v)
emit((i, j-1), v)
emit((i+1, j-1), v)
emit((i-1, j), v)
emit((i+, j), v)
emit((i-1, j+1), v)
emit((i, j+1), v)
emit((i+1, j+1), v)
def reduce(k, group):
emit(k, average(group))
我后来回家想了想,其实把(i, j) 和他的邻点关系想成是graph,这和mapReduce经典
example reverse graph 是一样的。

【在 P*******b 的大作中提到】
: 第二题怎么做?
:
: python

x****o
发帖数: 29677
10
cong,你说面试准备什么,他还能给你改阿
相关主题
google onsite杯具+设计题怎么答为什么那么多人喜欢去infra?
准备跟800题大牛一起啃system design的硬骨头了受不了了 mitbbs
Oracle其实不错offer 选择求建议:Google vs Netflix
进入JobHunting版参与讨论
t*********h
发帖数: 941
11
恩 不错 从当前的输入(reducer)开始想上次的输出(mapper)

reduce
->


【在 w**********2 的大作中提到】
: Reduce 的输出肯定是(i,j) -> 下一次的值。Map的输出目的就是,想办法能把reduce
: 计算(i,j)下一时刻的值需要用到的数据group到一起。 假设map的输入是(i, j) ->当
: 前值,计算(i,j) 下一时刻的值需要用到它的八邻点,反推他的八邻点下一时刻的值也
: 需要用到(i,j)当前值。 所以 map的输出就是 (i-1, j) -> (i,j)当前值,(i+1,j) ->
: (i,j)当前值,...输出8个键值对。对reduce来说就好办了,需要的数据都gourp好了。
: def map(partMat):
: for k, v in partMat:
: i, j = k
: emit((i-1, j-1), v)
: emit((i, j-1), v)

w**********2
发帖数: 20
12
http://www.mitbbs.com/article_t/JobHunting/32134627.html
large scale 方面
我google 的看了 mapreduce, gfs, bigTable, Spanner, chubby. google 的东西不太
好懂,而且没有源码可以参考。我觉得除了MapReduce 和 GFS 外,其他的过一遍就差
不多了。
facebook 的看了 cassandra, 这个有源码可以看,但是好像 很多地方和paper上面已
经不一样了。
yahoo 的看了 zookeeper,
Amazon 的看了 Dynamo, 我感觉这个最好,paper 比较好懂
所有的paper都是讲large scale 设计中的几个重要问题,
route(consistent hashing 还是B+ tree 类似的lookup table),
consistency, replica 的策略,
failure detection 和应对,
如果做预处理提高读取效率,
master election 策略,
nodes communication protocol,
另外, 再看看DHT, consitent hashing,nosql 优点, paxos (看paxos made simple
那片, 原文晦涩难懂), bloom filter, vector clock,gossip protocol, merkle
tree,
在熟悉 design pattern 和 multi-threading (我觉得停车场和订餐的例子练习一下就
好了)
推荐一个douban 小组
http://www.douban.com/group/systems/
经过板上大家的帮助,我真心觉得自己system design 复习的还行了,可惜
interviewer 只是随便问了问,没有深入。

【在 P*******b 的大作中提到】
: 好奇system design应该看些什么paper?
:
: python

w**********2
发帖数: 20
13
我就是这么处理的,也不知是好是坏,当然,你得说,hc想考察这方面的东西。。

【在 x****o 的大作中提到】
: cong,你说面试准备什么,他还能给你改阿
B*******1
发帖数: 2454
14
看来你这offer拿定了啊,你是面你哪里的职位还是总部的职位啊?

【在 w**********2 的大作中提到】
: http://www.mitbbs.com/article_t/JobHunting/32134627.html
: large scale 方面
: 我google 的看了 mapreduce, gfs, bigTable, Spanner, chubby. google 的东西不太
: 好懂,而且没有源码可以参考。我觉得除了MapReduce 和 GFS 外,其他的过一遍就差
: 不多了。
: facebook 的看了 cassandra, 这个有源码可以看,但是好像 很多地方和paper上面已
: 经不一样了。
: yahoo 的看了 zookeeper,
: Amazon 的看了 Dynamo, 我感觉这个最好,paper 比较好懂
: 所有的paper都是讲large scale 设计中的几个重要问题,

c********s
发帖数: 817
15
Bless!
w**********2
发帖数: 20
16
说的是总部那边的,我都展现的是好的一面。 我的最大问题就是 bug不断,做题太慢
。 我感觉我的加面和上一轮on-site 表现差不多。上次既然是bar附近了,这次估计也
是~~
谢谢你的bless

【在 B*******1 的大作中提到】
: 看来你这offer拿定了啊,你是面你哪里的职位还是总部的职位啊?
h****e
发帖数: 928
17
Bless! 感觉LZ的经历和Bayesian1很像:又加了一轮onsite。
w**********2
发帖数: 20
18
其实就是你和Bayesian1 帮我理清了 system design 的思路, 不管结果怎样,先谢过
二位了。 ^_^

【在 h****e 的大作中提到】
: Bless! 感觉LZ的经历和Bayesian1很像:又加了一轮onsite。
B*******1
发帖数: 2454
19
这里还有一哥们也加面2轮了,不过他没说。g家现在喜欢这么搞啊

★ 发自iPhone App: ChineseWeb 7.8

【在 h****e 的大作中提到】
: Bless! 感觉LZ的经历和Bayesian1很像:又加了一轮onsite。
w****a
发帖数: 710
20
马上G家电面,给个bless,求个bless
相关主题
签了g家的offer,可以反悔吗?担心进入黑名单System design总结
还有一周onsite,怎么看Hadoop.The.Definitive.Guide效率最高?不会C++,后果多严重?
前员工追忆百度乱象:上下异心 狼性压制人性(转载)狗狗面试题目类型
进入JobHunting版参与讨论
a*h
发帖数: 346
21
bless

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

w**********2
发帖数: 20
22
bless

【在 w****a 的大作中提到】
: 马上G家电面,给个bless,求个bless
P*******b
发帖数: 1001
23
顶一个,谢谢

【在 w**********2 的大作中提到】
: http://www.mitbbs.com/article_t/JobHunting/32134627.html
: large scale 方面
: 我google 的看了 mapreduce, gfs, bigTable, Spanner, chubby. google 的东西不太
: 好懂,而且没有源码可以参考。我觉得除了MapReduce 和 GFS 外,其他的过一遍就差
: 不多了。
: facebook 的看了 cassandra, 这个有源码可以看,但是好像 很多地方和paper上面已
: 经不一样了。
: yahoo 的看了 zookeeper,
: Amazon 的看了 Dynamo, 我感觉这个最好,paper 比较好懂
: 所有的paper都是讲large scale 设计中的几个重要问题,

a********m
发帖数: 15480
24
bless
B*********3
发帖数: 36
25
bless

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

l*********u
发帖数: 19053
26
bless

python

【在 w**********2 的大作中提到】
: 到上周五为止, 我再G家已经面了七个interviewer了, 一个phone interview, 一轮
: on-site 四个interviewer, 一轮加面两个interviewer。题目都不难,基本都是常见
: 题,大家做过的。我总结下板上讨论比较少的几个问题。
: 1. 我是用python答的题,我写起来比较顺手。7个interviewer 中有一个表示他python
: 不熟,希望我用别的,但是我自己知道用别的肯定挂,所有坚持用了python并且向他保
: 证思路一定清晰,好理解。他那题实际上用c++会涉及到一些函数指针当参数,c++长期
: 不用,估计直接就跪了。python帮我简化了不少。
: 2. 有一类题型,大家好像没有讨论过,就是一个很大的2D矩阵,如果某点的值,由他
: 周围某些点的值决定,(例如下一时刻(i,j) 的值取当前时刻他的8邻点的平均),怎么
: 用MapReduce做。这个其实MapReduce比较熟悉的,想通了特别简单,但到时我差点挂在

1 (共1页)
进入JobHunting版参与讨论
相关主题
不会C++,后果多严重?[bssd]糖一下骑马找独角兽的过程
狗狗面试题目类型google onsite杯具+设计题怎么答
究竟G还是F?(请轻拍)准备跟800题大牛一起啃system design的硬骨头了
tableau 昂赛面经Oracle其实不错
系统设计能力提高捷径为什么那么多人喜欢去infra?
大家都怎么准备面试?受不了了 mitbbs
说到年老色衰的程序员,贡献个面经吧。offer 选择求建议:Google vs Netflix
G里面搞big data的是不是出来没市场?签了g家的offer,可以反悔吗?担心进入黑名单
相关话题的讨论汇总
话题: emit话题: python话题: bless话题: 加面