作者yhchen2 (Sean)
看板Soft_Job
标题[心得] 代po 北美Google general SWE面试心得
时间Mon Aug 23 16:53:50 2021
代PO
-----
前言:
最近准备入职google了,想说在这边回发一下心得文回馈一下大家。这边注重在我是怎麽
准备面试的。文笔不太好请见谅。
先说一下我的timeline:
2020
--------
一月底: 投SRE general职缺
二月底: 通过OA,HR联络要求我提共电话面试时间
三月底: 从三月初持续寄信给HR想确认面试时间,HR没回我直到三月底HR通知面试取消直
接被拒
六月: 收到第二个HR email跟我约SWE, frontend电话面试
七月底: 收到HR电面结果,positive feedback no head count。建议我九个月後再试试
看
2021
--------
五月: 收到第三个HR email跟我约onsite interview。HR跟我说虽然我投的缺是SWE,
Payment,但这只是代表我现在的面试是target payment team,所有流程都照general
SWE来跑,team match还是有机会选择其他组。
六月: onsite interview
七月: HR通知送HC -> HR 通知过HC,进入team match 阶段 -> team match成功
-----
准备:
-----
群组:
我在2020五月的时候被一个朋友拉进了wechat刷题群(2020群)。2020群里面有差不多快20
个人,群组规定每周六天轮流由群组的人讲解leetcode题目,当天没有要讲解的人在
meeting 开始前要先把当天要讲解的题目写过。
大概到了十月不知道是因为大家弹性疲乏了还是怎麽样,其实後面很明显感受到准备讲题
的人没有好好准备,很多人也开始不写题目了。
在十二月初的时候我们决定让2020群毕业,然後新创了一个2021群。这个群组强制要求必
须每天出席不能放假,而且大家必须要把自己将来半年的timeline写出来(像是自己
target的公司,大部分的人都是target Faang,然後自己每周的进度)。
也因为大家是真的想要进大厂,所以就算要上班或是上课,大家在2021开始的几个月都
很认真准备直到拿到offer。
我们2021群总共有12人。从2020十二月创群到现在已经有
5个进google,
3个进amazon,
1个 Wayfair,
1个 TicTok,
大厂录取率是 83%。我自己私下也问过群组的人,发现大家准备的方法其实都差不多(毕
竟都在同个study group,也看过他们leetcode的submit heatmap)。所以我认我(们)的准
备方式应该还是有一点点参考价值的。
-----
刷题:
-----
先说我对於leetcode各种难度题目的感想
Easy:
基本上考的是你到底有没有写过code。所以这类型的题目基本上每题通常只会考一个知识
点(data structure)
Medium:
Medium的题目又可以另外分成三个难度:
第一个难度基本上跟Easy一样,第二个和第三个难度开始考一些基本的
algorithm(sorting, tree…)或是会把一些data structures混着一起考,又或者跟着
algorithm一起考
Hard:
这个难度基本上跟Medium第三个难度差不多,一定把data structure 和 algorithm混着
考。
----
我认为刷Leetcode分为三个阶段
1.Data Structure:
这个阶段是针对比较没有背景的人(没上过data structure and algorithm这堂课)。所以
如果对於自己data structure很有自信的人可以跳过这个阶段。 这个阶段写题目需要重
量不重质并且只针对easy – medium(第一个难度)的题目来写。因为你需要知道所有好用
的data structure,这样在後面的阶段才不会在看discuss时,发现自己有些data
structure根本没看过。
我自己是直接跳过这个阶段的,因为我很庆幸遇到很好的教授把我底子打很好。想要从这
阶段准备的人我建议可以把Leetcode Explore, Learn里面的topic写一写。我建议这阶
段也不要专牛角尖,只需要理解你写的data structure怎麽运作就好。因为你在第二第三
阶段会大量用到这些东西。可以把data structure想成是工具,然後你的头脑是工具箱。
看到题目的时候开始想你有那些工具可以拿来使用。
我自己觉得如果从0开始准备,这阶段leetcode题目至少要写到100-150题。把所有简单
data structure题都写过一遍,至少让自己知道他们在干嘛。
2.Algorithm:
第二和第三阶段刷题的重点变成重质不重量。因为你需要真的去理解并且融会贯通。而且
每次写完题目一定要看discuss。我认为leetcode这网站最大价值不再於他提供题目,而
是他拥有强大的群社提供各种不同解法让你参考。研究这些文章可以让你发现很多奇奇怪
怪的解法进而加强思考能力。
我们(2021群)是从这个阶段开始准备的,我们差不多准备了大概3个月并且是以周为单位
。每一周我们会选定一个topic(像是sorting, graph, graph traversal…)然後只写这个
topic的题目。每一周周日我们会在meeting的一开始检讨当周进度,如果觉得不够熟练下
一周就会维持一样的topic继续练。
这个方法的目的在於,你会一直练某个特定的data structure or algorithm直到你熟练
为止。
3.融会贯通:
三个月之後(差不多2021三月的时候)其实大部分的人都拿到offer了XD,基本上只剩我还
有另外两个人还没拿到。所以这阶段分享的准备方式是我自己的准备方式。毕竟其他人都
拿到offer提早收工了。
这阶段我选择随机写题目(通常是写google tag的高频题目)并且训练自己在看到一个新题
目时,可以用哪写data structure 和algorithm来解。每次写完一题後,一定会把所有相
似的题目全部写一遍并且看完所有的top vote discussion(不管什麽语言)。因为很多时
候一个题目可以好几种解法,不同解法只是代表不同的trade off。我自己认为google面
试官很爱考这方面的分析,所以这样做刚好可以训练自己思考不同的优缺点分析。
另外我认为参加weekly contest对於准备google非常有用。因为基本上google考的题目都
是新的题目(至少我面google这几次全考我没看过的题目),参加contest可以训练自己在
时间之内如果遇到不会写的题目该怎麽办。我自己是从2020二月开始每周参加contest。
如果当周六因为各种原因没有参加也至少会在隔周把四题都写过并且看过discussion。
到了2021五月收到HR onsite面试邀请後,我跟HR约一个月後面试。
在这一个月中,我选择以周为单位,复习我不熟的topic。毕竟经过第二阶段,我自己很
清楚知道我的graph很强,可是sorting 和DP超级烂,所以我选择去加强这些topic。
我逼自己在这个月每天写至少5题(但因为是一边上班一边准备,所以很多时候会写不到五
题,因为要重质不重量。5题只是当天目标)并且一定要搞懂每一题怎麽写。周一到周五基
本上一下班就是开始写题目到12点,周六周日也是从早上9点准备到晚上11点。所以在面
试当天我自己其实也感觉到我写题状况非常好,可能也是因为这样我的onsite基本上面得
非常顺利。
最後说说对於刷题数的想法。这边先题共一下我当初面试完leetcode submission的
heatmap:
https://i.imgur.com/SdIi4AJ.png
我自己也看过2021群里面一些人的heatmap,大部分都长得跟我差不多。
我自己觉得我们群里几个人并不是因为写到了特定题数以上才有机会进Faang,而是当我
们都认真准备,题数自然就起来了。所以这边建议大家在第二第三阶段还是以重质不重量
为主。毕竟你自己对於data structure and algorithm熟不熟也只有你自己最清楚。
---
Mock Interview:
---
我从2020 12月开始就找了我们2021群的其中一个人,天天固定7点开始跟他
MOCK Interview。他的目标是Facebook(虽然最後去了tictok),所以我们每天会互相问对
方一题,我选facebook tag问他,他选google tag问我。然後一起讨论作法。
我觉得Mock Interview在准备面试过程中非常重要。因为它还可以练到在压力下写题目的
稳定度。
-------
结语:
-------
其实自己回头看这两年准备过程也是满煎熬的,毕竟看到自己的朋友们,战友们一个一个
进大厂,而我连个面试机会都拿不太到(google第一次直接被取消,第二次因为没有head
count,然後我除了google没怎麽拿到其他fanng的面试)。但是拿到google offer之後回
头看都觉得这些辛苦是值得的,毕竟是我的梦想公司。
要感谢的人太多了,但我最想感谢的其实是我自己。在这麽崩溃的一年多当中,不管我当
周工作在怎麽忙再怎麽累,我还是坚持周周参加contest。就算没参加,隔一周也一定会
把contest得题目找时间写过。
很多人会觉得写了500+的题目很多很神,但如果你仔细想,如果你每天花个半小时到一小
时写个两题,一年就写了365*2 = 730题了。如果你周周只打contest,这样一年也有
4*52 = 208题。所以重点在於认真准备,而不是在於写了多少题,因为认真准备了,题数
自然就起来了。
我运气很好,在五月初的时候我还想说估计我没有机会挑战GOOGLE了,结果在五月中的时
候HR就来找我了。但我相信如果没有我前面的持之以恒,我也没办法好好抓住这次机会。
最後我想说,其实我自己是个很懒惰的人。但既然我都可以持之以恒,我相信大家绝对可
以。祝大家都能进到自己的梦想公司。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 71.198.2.101 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1629708836.A.B5F.html
※ 编辑: yhchen2 (71.198.2.101 美国), 08/23/2021 16:54:13
※ 编辑: yhchen2 (71.198.2.101 美国), 08/23/2021 16:54:40
1F:推 duck10704: 太猛了 推 08/23 17:14
2F:推 Inglenook: 推 08/23 17:34
3F:推 puddingRU: 推 08/23 17:43
4F:推 kyrie77: 推 08/23 17:47
5F:推 joshua5201: 推 08/23 18:07
6F:推 linnom: 鬼神群组...太强 08/23 18:18
7F:推 andrew771027: 推 08/23 18:26
8F:推 jack91303: 推 08/23 19:27
9F:推 drajan: 想进 Google又没有超人天份的话乖乖刷题就对了 08/23 19:46
10F:推 y956403: 推 08/23 20:41
11F:推 doranako: 谢谢分享 08/23 20:56
12F:推 GymRat: 大神 08/23 21:36
13F:推 baobomb: 高手推 08/23 22:13
14F:推 wt0328: 推 08/23 22:48
15F:推 airforceso: 推 08/23 23:10
16F:推 mangocat1999: 推 08/23 23:23
17F:推 amiwry: 好强的群组 08/23 23:33
18F:推 f9g8h7j654: 推 08/23 23:54
19F:→ freef1y3: 上完班还要写五题真的需要坚强的意志力 08/23 23:57
20F:推 bewitchsky: 推 08/24 00:41
21F:推 boy00114: 太猛了…推 08/24 01:04
22F:推 Sawilliam: 上班完 晚上写个两题m 就累了.. 08/24 01:57
23F:推 aaa1234136: 推恒心 08/24 05:22
24F:推 ce173310: 推 08/24 05:37
25F:推 rickykai: 推 08/24 07:56
26F:推 BBSealion: 推! Leetcode 的 Medium 难度真的非常神秘... 08/24 08:55
27F:→ BBSealion: 另外不知道是不是军备竞赛结果,早年的 Hard 题很多都 08/24 08:56
28F:→ BBSealion: 比近期的 contest 第三题 Medium 简单... 08/24 08:56
29F:推 whatabiggun: 强 08/24 09:08
30F:推 vvind: 推分享 08/24 10:04
31F:推 yyhsiu: 上班完真的要有意志力,所以我都上班前XD 08/24 11:49
32F:推 harrylu12: 跪着推 08/24 12:13
33F:推 ntddt: 狂推凡人准备faang的正确姿势 08/24 15:55
34F:推 happylei: 我自己是每次上班遇到赌烂事晚上就多写一题,把愤怒转成 08/24 18:36
35F:→ happylei: 力量哈哈 08/24 18:36
36F:推 smdf: 推 08/24 20:08
37F:推 asd123159: 推这句 08/24 21:50
38F:→ asd123159: 你自己对於data structure and algorithm熟不熟也只有 08/24 21:50
39F:→ asd123159: 你自己最清楚。 08/24 21:50
40F:推 Yunyung: 推 08/25 07:12
41F:推 oopssugar: 推 认真准备 08/25 09:12
42F:推 viper9709: 这里怎麽这麽多人进google XD 08/25 22:06
43F:推 netnetvip: 推 08/30 12:13
44F:推 oweyong: 推 09/27 07:49
45F:推 gogohata: 其实看到你这麽有毅力 觉得再辛苦也不算什麽 10/05 00:08