Fw: [心得] COVID期间拿到Google FB 微软 Offer Part3

楼主: ghostreporty (ghost)   2020-11-17 13:16:29
※ [本文转录自 Soft_Job 看板 #1VirlYow ]
作者: ghostreporty (ghost) 看板: Soft_Job
标题: [心得] COVID期间拿到Google FB 微软 Offer Part
时间: Tue Nov 17 13:13:04 2020
如何准备面试和谈薪水
上一篇我分享了我在 COVID-19 期间如何拿到 Google 、FB、Microsoft Offer 的经验。
这篇我会讲一下我是如何准备面试和如何谈薪水。
面试 — Leetcode
我个人建议是千万不要盲目的从第一题开始写,因为每一题并不等价。有些题目是经典中
的经典,有些则是太偏颇。以下是我的写题目经验分享:
1. https://leetcode.com/list/xoqag3yj/
这个是在 Blind 这个论坛有个 FB 工程师整理出来的。很多人非常推,我个人也非常推
。这个清单集合大部分的经典题目。可以把它想成是基础题目,很多其他题目都是由这些
题目衍伸出去的。
2. https://www.programcreek.com/2013/08/leetcode-problem-classification/
这个就有点像是上面的扩充板,我个人也非常喜欢。这个清单也会依照不同的主题分类让
你想要一次大量练习某个主题的经典题时很方便。我会建议里面的 Dynamic
Programming 可以先跳过。
3. 上面两个假如你都写完的话 (其实上面两个写完也很够了)。我个人会建议可以花钱买
一下Leetcode Premium 然后开始写 Amazon、 FB、 Uber、 Microsoft 的题目。Google
则是建议不要写,有跟 Amazon、 FB、 Uber、 Microsoft 重复就没差。Google 的题目
很多太变态,要用一些很奇特的解法,但是真的面试时其实也不是很常遇到。
再来谈一下我的写题目哲学:
千万千万不要背题目,你要背的是后面的算法和思考模式。背题目无法长久的。
我平常没在找工作时,一个星期可能也会很悠闲写个两三题,就是看看一些解法想一下。
这样子主要是随时保持一定的手感,以防跳槽时不会感觉从0开始。
我有一个像下面的记录表,记录着我写过什么题目。此表的用途是让自己更了解这个题目
我写过几次,该题是不是比较弱的地方。还有写题目时,我习惯今天写题目时看一下昨天
的题目,想一下如何解。周日看一下整个星期的题目,每个月最后一天看一下该月最不熟
的题目。题目都会被记录在表上,所以你也可以马上知道自己该题目的熟悉程度。
https://imgur.com/a/88vXxvR
面试 — System Design
1. Grokking the System Design Interview
这个是一个付费的资源。没有很贵我也觉得很值得。主要就是把几个比较经典的题目拿出
来讨论,但是千万不要只读这个,因为他探讨的非常表面,你需要更深入去研究每个一个
系统,不然面试时很容易被看破。
2. https://github.com/donnemartin/system-design-primer
这个也是一个很棒的资源,也是把一些经典的题目拿出来讨论,比上面更深入,所以会建
议搭配上面一起用效果会很好。
3. Conference Talks
这些演讲我真的受益良多,都是各大公司经验谈。看这些演讲时,细节就不用真的去专研
,主要是了解他背后的架构和哲学。我挑的这些都是这些公司早期如何应付大流量的
Refactor 经验谈。这些都是面试很爱讨论的
Instagram: https://youtu.be/hnpzNAPiC0E
Slack: https://youtu.be/WE9c9AZe-DY
Reddit: https://youtu.be/nUcO7n4hek4
Twitter: https://youtu.be/pme_n2zQiDQ
Dropbox: https://youtu.be/PE4gwstWhmc
Zuck 的 Memcache 演讲: https://youtu.be/UH7wkvcf0ys
4. Classic Papers 有空的时候可以加减读一下
The Google File System
Dynamo: Amazon’s Highly Available Key-value Store
Bigtable: A Distributed Storage System for Structured Data
The Chubby lock service for loosely-coupled distributed systems
Scaling Distributed machine Learning with the Parameter Server
Spanner: Google’s Globally-Distributed Database
5. DDIA 圣经 (Designing Data-Intensive Application)
不要直接拿来啃,会非常崩溃。请把他当工具书,遇到比较不了解的系统再去翻这本
我本身就是有 SRE 的经验,所以公司内部的系统大约有个概念,所以准备起来也比较上
手。L4 (有经验但还未到资深工程师) 的System Design的大架构其实就是 Front End
-> Load Balancer -> Internal Proxy -> Middleware -> Cache ->
Storage/Database/CDN 等等。中间变化很多,细节也很多,所以就看个人想要专研到什
么程度,但大架构一定要理解,这样才比较好讨论。
个人建议是一定要找一个比较了解系统的人帮你 mock interview 和实际把图画出来,不
然真的面试时会非常卡。
谈薪水
谈薪水文章很多了,所以下面我就讲一下我的一些建议和实战经验。
薪资资讯网站
1. Levels.fyi
就是一个匿名的薪水申报网站。美国软件大公司的整包薪水和职等在上面都写得很清楚。
2. Blind
Blind 是一个匿名的论坛。上面会有各式各样的方想文章,分享内部八卦、分享薪资、分
享如何准备面试。但因为匿名所以里面的文化有点太金钱主义,所以不要相信每个东西
3. 一亩三分地就大家比较熟的中国论坛
4. H1B Salary Database
可以看到每个公司帮H1B的员工申报的薪水。请注意这里的薪水是只列底薪。所以想要谈
底薪的话,这个网站非常有帮助。
谈薪水注意事项
1. 千万不要先开价, 这是定锚效应。谈判的艺术就在这里,你永远不知道公司认为你的价
值在哪里。假如你今天开了一个低于行情价的数字,公司肯定不会给你更高的
2. 谈薪水在美国是非常正常的,只要你不是狮子大开口,什么都可以谈的,也不会你谈就把
你 Offer 撤掉。公司都花了这么多时间和金钱在面试你,肯定不想这样就放弃。狮子大
开口:例如行情价约是 100k 年薪,你给他开个 200k 这样。
3. 想尽办法要到email上的数字。很多公司都要你有证据才愿意 Compete。
4. 最后一张牌:假如你发现你已经谈不上去的话,最后一张牌就是直接跟 Recruiter 说:
只要给我XXX 薪水,我现在马上签。Recruiter 听到这句的时候,都会想办法帮你搞到那
个数字,因为代表你已经摊牌了,没有什么好谈的了。
我谈薪水实战
我Offer顺序是这样子:Facebook -> Google -> Microsoft
Facebook
起初 Recruiter 一直要我给数字。我的答复一律:这个职位资讯比较少,所以我真的无
法开出一个数字。真的不好意思啊。最后 Recruiter 也发现我不愿意讲,他们就先开数
字。我也没有跟他们谈,因为当时 Google 已经选到组而且我比较想去 Google。我个人
道义上不想要让公司进到Bidding War, 因为之前有听说过两败俱伤加上又耗时。
Google
跟 FB 一样一直要我开价码。我答复也一样:我人现在在德州,我不太了解非德州的行情
,所以我真的无法开出一个数字。真的不好意思啊。我知道 Google 是出了名假如你没有
其他他认可的 Offer 他会开个很低的数字,所以我有特别跟 Recruiter 讲我有
Facebook 和 Microsoft 的 Offer 再谈。
果不其然,第一个给出来的价码偏低。我也是好声好气的说谢谢,但是可否给我更高,因
为我觉得有点低,假如有签约金那更好。注意我并没有给数字虽然我心里已经有一个数字
。Recruiter 说他回去问问 Compensation Team。过了一天他回来给我第二次数字。数字
已经很接近我的预期了,所以我就直接摊牌说你们能给我 1.1 * (我预期的薪水) 我就马
上签。当天 Recruiter 就回来给我1.05 * (我预期的薪水)我也就马上签约了。
Microsoft
当时 FB 已经知道数字了,而且我很确定 Microsoft 不太可能给到那个数字,所以我就
直接给他 FB 的数字,想试试看定锚效应是不是真的。果然给出来的数字还比较低,只用
签约金冲上下去。 Recruiter 还跟我一直讲微软福利多好,还问我有没有养宠物,我们
可以在 relocation package 里面帮你加运宠物的费用。一般你听到公司跟你谈的不是薪
水而是其他事情时,应该就要知道这是他们的极限了。
总结
看很多人都说 CS 末班车要开走,其实我觉得要开走其实还很早。现在难的是在如何上车
,再加上疫情让公司变得保守起来。全世界都知道美国软件业爆炸性成长,所以来美国读
书的学生也跟着爆炸性成长。美国各大学也发现了这个趋势所以开始疯狂开名额让学生来
读,举我学校德州农工来讲,我2014年来只有三个硕博士学生,到了近几年都快十个有时
候甚至超过。学生数量变多了,但公司的缺额并没有跟上学生数量的成长,导致工作好像
变难找。对新人来说的确变难了,但对有经验的人来说没什么差。
最后祝福各位不管在求职还是求学的路上都能顺利,等到自己成功的那天也不要忘记帮助
未来也想出国读书找工作的台湾人。
我想了很久后来决定发在软件版,因为我相信有很多这里的强者也有思考过是否该出去闯
希望我的文章能对大有帮助。非常感谢!
作者: addison2 (我的极限在哪里￾N N)   2020-11-17 14:28:00
薪资谈判很有帮助,推
作者: Khalilli (卡里里)   2020-11-17 18:24:00
曾在NCU受你照顾了,谢谢你的分享:)
作者: ADEMAIN (阿德门)   2020-11-17 19:28:00
作者: emmAQBB (WEI)   2020-11-17 20:12:00
ㄊㄨㄟ推*
作者: agario (Agar.io)   2020-11-17 20:30:00
有经验的人,表示他已经就上了以前发车的班次了末班车开走通常指的是已经没有新发车的班次,之前发车的当然还在持续行进中
作者: homer00 (肥宅乡民)   2020-11-17 21:07:00
帮推
作者: cosco (我是一只盆栽)   2020-11-17 22:10:00
推好文
作者: ms6163   2020-11-17 23:03:00
好文
作者: FSAC00840116 (NightGoD)   2020-11-18 02:32:00
作者: marco3133 (Marco)   2020-11-18 02:36:00
还轮不到CS的车开走吧Data Science跟Data Analytics的车搞不先取消营运*搞不好先
作者: kimberly1225 (柚子)   2020-11-18 07:37:00
推!
作者: hiarpu (up)   2020-11-18 08:42:00
作者: chieher ("Be all you can be")   2020-11-18 09:43:00
感谢分享!
作者: wenchi0417 (狂飙兔)   2020-11-19 06:23:00
太厉害了
作者: bleedwolf (123)   2020-11-19 08:17:00
作者: comaniac (coding cody)   2020-11-19 16:12:00
推一个内容中肯
作者: silron (silron)   2019-01-07 09:59:00
推!
作者: stan1234567 (射惊)   2019-01-12 05:13:00
很详细谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com