中级农民
- 积分
- 127
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2015-8-7
- 最后登录
- 1970-1-1
|
2018(10-12月)-CE博士+1-3年 | 内推|BayArea湾区 码农类General全职@
先说结果好了,拿了Google FB Uber Linkedin 和 quora 的offer,失败的有Airbnb Pinterest 和robinhood。在18年感恩节开始面试,在圣诞节前全部面试完毕,大部分公司都是几天内出结果,在一月份就签了offer。
然后说说面试准备吧,相信这是大家最关心的。我是从8月份开始刷题,一共刷了450道,1000个submission所以acceptance rate还可以。之后集中精力和小伙伴一起专攻了一下system design,研究了一些九章的课件,相互mock interview对我的帮助很大。
这是刷题网站的submission:
因为拒上次找工作只有两年,所以还有一点基础。我是按acceptance rate从高到低刷的,只刷50%以下的题。感觉现在面试的要求水涨船高,easy的题已经没什么意义了。之后在面试阶段又研究了一下各个公司的面经题。我个人的经验,不仅要仔细的写每道题目,弄清楚正确答案(vote最高的答案水平都是很高的),而且要能够稳定得写出答案。我看以前的submission发现每次写出来的思路都不太一样,而这次刷题的后期基本上每次写出来的code都相差不大。有一些经典的基本功问题要多下功夫,比如directed graph dfs traversal,最general的情况是disconnected graph, cyclic, has reconverging path,需要一个visited set和一个finished set。比如实现heap。比如DP的基本要素sub problem和suboptimality。至于语言,我在工作中用过go/scala/python/javascript/php,但我刷题还是最喜欢java,这是一个用几个简单的规则创造出来的复杂系统,不像其他的语言用很多自定义的规则来换取flexibility。. check 1point3acres for more.
第二部分,system design是个很难练习的能力。特别是对于new grad来说没有一些基本的common sense学了也只是纸上谈兵(不过大多数公司对new grad不会考这个)。不过大家也不用怕,因为设计过MAU 500M系统的工程师也不多,很多时候你的面试官也只是纸上谈兵。我面试中间实际只遇到过大概一两次system design被面试官完全压制,确实是experience的差距(BTW这两次还都是小公司)。除了九章的课件非常推荐以外,我觉得还有一些比较有帮助的paper:
. ΧHDFS
https://static.googleusercontent ... ve/gfs-sosp2003.pdf
Cassandra
https://www.cl.cam.ac.uk/~ey204/ ... hman_ladis_2009.pdf
TAO
https://www.usenix.org/system/fi ... 3/atc13-bronson.pdf
MapReduce
https://static.googleusercontent ... apreduce-osdi04.pdf
BigTable
https://static.googleusercontent ... bigtable-osdi06.pdf
其中一些技术已经被淘汰了,但是了解一下这些基本架构还是很有用的。另外就是每个公司的核心业务架构,比如Uber的location service,Google的search engine,FB的feeds都要准备好。
最后就是时机也很重要,据说最近狗和FB的head count都比较紧。这方面消息灵通的朋友们比较有优势。
祝大家好运,求大米打赏
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
上一篇:SWE实习期间参加学术会议 下一篇:校招和社招一起走
|