作者freezein (....)
看板Oversea_Job
标题[北美] 转行找工作心得文(准备篇)
时间Tue Aug 21 00:25:14 2018
这篇主要分享我在过去的几个月中是如何一边工作一边刷题准备面试的
每个人的时间分配跟可用时间都不一样 所以可以自行调整
我会细节到每天的时间分配 以供各位参考
我总共刷了800题左右(6000多次submission)
但根据面试下来的经验 我觉得其实400题就绰绰有余了
所以刷不到800的人 刷400其实足以
我是从去年10月开始刷的 但中间其实有两个月因为爸妈来美国玩所以没刷
第一刷+第二刷: 照题号顺序刷 包括hard都一起刷
周一到周五 一天10题+做笔记 (5天共50题)
周六跟周日 一天25题+补全笔记 (重做一次过去一周刷过的50题)
周一到周五时间分配:
每天早上5:30-6:00am左右起床 刷到9:30am左右出门上班
争取早上有2-3hr的刷题时间
一般来说每天10题中会有4~5题easy 2~3题medium 跟2~3题hard
早上时间我会把当天目标10题中的easy题先拿出来做 尽量能在上班前把easy全做完
早上这样一班可以刷4~6题
中午大约11:45am把饭吃完後 12:00pm-2:00pm 我会找间会议室刷2hr
一开始其实我是在自己车上刷题 後来才转移到会议室
中午刷medium的题 大约可以刷3~4题左右
晚上5:00下班 买便当回家吃完後到图书馆刷题
6:00pm-9:00pm 这三个小时一般会用来刷当天剩下的medium或hard 大约也是3题左右
9:00pm回家洗澡之後会再花1~1.5hr把当天刷的10题做一下笔记
此时也可以帮助自己加深印象 统整一天做过的题
大约10:30~11:00pm睡觉
由於每天有一定的题量要刷
所以过程中 我一般看到题会先想1~2分钟 没思路就直接上网看答案解法
有思路我也不太会写 只会大概想一下 然後看答案解法 验证自己的想法
也学习更简洁的写法 这麽做是为了避免浪费多余的时间
因为有时候自以为自己写的出来 於是就写 结果坑坑碰碰地过不了AC 就又改
然後终於过了以後看了别人答案又觉得自己的不如人 反反覆覆时间就浪费太多
我看解法的网站主要有两个:
https://www.cnblogs.com/grandyang/p/4606334.html (会先看)
第二个就是LC上的解法讨论 会看高票解法跟讨论
各种解法都尽量看懂 然後自己写一次
周六周日时间分配:
早上大约9:00am到图书馆 刷到晚上9:00pm左右
这两天主要把过去一周刷过的题再重刷一次
这时候一定会有些题忘记 这很正常 再刷一遍的作用就是加深记忆
由於都是已经做过的题 而且才在不久前做的 所以一天25题其实不难
这两天也可以把一些新的想法或写法加入到笔记里
以这样的进度来说 一个月就可以刷200题x2遍
然後每个月(200题) 我会把自己的笔记在从头到尾看过一遍
这遍我只用看的 然後看自己有没有什麽忘了的
这遍一天可以看约30-50题
所以以时间分配的角度来说
可以用大约4~5个星期的时间 刷过200题两遍+看过200题一遍
就以这样的进度跟速度持续 大约4~5个月便可以把800题做完2遍+看过一遍
在这之後我又花了大约两三周(每天50题) 把自己的笔记从头到尾"看"一遍
这一次我还顺便把题做分类
第三刷:照分类刷题 一天30~50题 照分类刷
经过以上的过程 其实到第三刷的时候 一个题目已经反反覆覆的看过4次了
很多题早就背下来了 这时候重要的就是分类刷 因为很多题很相似
在短时间把所有相似的题都刷到 还可以帮助完善笔记跟总结 达到举一反三
分类刷在此时也会因为同一天都刷一样的类 所以大大提升刷题速度 一天30题不是问题
这一刷其实就是彻底验证自己到底题目是不是真的是自己的
所以在第三刷的时候 一定要确定是自己写出来的 不要看答案
万不得已再去看 确保每题都是自己完整地写出来并通过AC
如果真的写不出来或忘了 也只能看答案 但要把这些不能自己完整写出来的题做记号
这一刷千万别放过自己 不会就是不会 写不完整就是写不完整 即便只差一点点
第三刷我大概花了三周左右就刷完了 其中有大约120题左右是被我做记号的(多半是hard)
第四刷:把第三刷自己没办法完整写出来的那些题在做一次
至此我觉得准备刷题的部分已经够了
可以进入System Design
其实System Design的部分我前前後後才花了大约一个月
有时候是利用上班时间偷看的(不是刷题时间)
我的准备方法是先把以下这个网站的材料都过一次
https://github.com/qiu-hanqiao/system-design-primer/blob/master/README.md
包括这文章中link到外部的阅读资料及视频都看过一次
看完後会对系统架构有个大致的概念
然後我又看了九章的系统设计视频 由於这个有版权问题 不能公开分享
有需要的人请寄站内信给我并"提供信箱"
我每晚会统一把下载连结寄给你们
我自己对系统设计的部分就准备这样而已
不过如果有更多时间 还有一本书值得一看
Designing Data-Intensive Applications: The Big Ideas Behind Reliable,
Scalable, and Maintainable Systems
https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-
Maintainable/dp/1449373321
我有这本书的pdf档 由於也是版权问题 不能公开分享
有需要的人也请寄站内信给我并"提供信箱"
我每晚会统一把下载连结寄给你们
准备到这里 就可以开始投简历 找人内推了
然後一边练练白板写题目(每天2~3题) 一边上一亩三分地看看面经
面经里也会有很多LC的题 这时候就再回去看看自己的笔记
根据不同的公司 准备不同的面经跟LC上tag该公司的题
大概就这样
整个过程其实就是坚持 刷题不难 但给自己订了进度就务必做到
不要一天打鱼三天晒网
我承认我的准备方式跟过程有点高强度 极度考验一个人的耐力跟毅力
但是如果想要有好的结果 就要有破釜沈舟的勇气 不要给自己偷懒的藉口
祝所有想转领域或正在找工作的人 终能透过一步步实践自我的过程 如愿以偿
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 69.181.125.112
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Oversea_Job/M.1534782320.A.6CD.html
1F:推 kyushu: 推! 08/21 00:43
2F:推 ebullient: 推 我也想挑战这个刷题强度 08/21 00:48
3F:推 EBSDZ: 只能推了...推推推~! 08/21 00:50
4F:推 shiangenlu: 原PO的毅力让人觉得佩服,赞! 08/21 00:52
5F:推 nickchen0304: 感谢分享 08/21 00:54
6F:推 loggist: 推f大神,感谢分享 08/21 01:12
7F:推 Mariobrother: 谢谢分享,已站内 08/21 01:27
8F:推 ambidex: 非常令人佩服! 08/21 02:51
9F:推 mud2man: 跪着看完了, 以站内信 08/21 03:02
10F:→ gbllggi: 已啦! 08/21 03:07
11F:推 expiate: 感谢分享 08/21 03:07
12F:推 geminihome: 感谢分享,作笔记真的很重要,请问大大可以分享你怎 08/21 03:37
13F:→ geminihome: 麽作笔记吗?请问你的笔记有找分类的方法列吗? 08/21 03:38
我是用最传统的方法 就是用word 按题号做下来
跟文中提供的那个我参考解法的网站一样 甚至有一部分是贴他的 再改成自己能理解的
14F:推 jason770301: 意志力毅力体力极强。已跪 08/21 05:53
15F:推 developers: 感谢分享 08/21 06:47
16F:推 AdamHmc: 推, 毅力令人佩服, 已站内信 08/21 07:06
17F:推 umum29: 厉害 已寄出站内信 感谢 08/21 07:40
18F:推 ONISUKA: 推 太厉害了 08/21 08:18
19F:推 LinuxKernel: 感觉很累....... 08/21 08:38
20F:推 punk86862001: 能够这麽有毅力高强度刷题真的不简单!太厉害了恭喜 08/21 08:40
21F:→ punk86862001: 找到工作 08/21 08:40
22F:推 ryanlei: 看完膝盖好软... Orz 08/21 09:08
23F:推 jlhc: 真心厉害给推... 我刷到 easy+medium 200就已经撑不太住了 08/21 09:25
24F:→ jlhc: 因为发现开始会忘记一些特殊的题型的解法... 08/21 09:25
25F:推 TERLLERICE: 非常有毅力的计画! 可以麻烦分享电子数吗?感谢 08/21 09:29
26F:推 iphone5566: 非常佩服, 有人在美国也想找战友的可以站内信 08/21 09:33
27F:推 leaveleft: 上一篇跪一次,这一篇又跪一次!超猛的! 08/21 09:46
28F:推 krammer: 推! 08/21 10:38
29F:推 monologist: 推认真! 08/21 10:39
30F:推 davidlhs: 真心佩服 08/21 11:02
31F:推 linchijen: you deserve it 08/21 11:10
32F:推 bluebluelan: 以台湾人在准备考试的程度 leetcode真的还好而已 08/21 11:10
33F:→ freezein: 今天9:30pm(PST)以前寄信给我的应该都收到连结了 08/21 12:29
34F:→ freezein: 没收到的请再寄站内信给我一次 可能漏了 08/21 12:30
35F:推 paselalps: 好猛 08/21 12:32
36F:推 matrixki: 好猛,每天早上叫醒我的都是小孩... 08/21 12:43
37F:推 rayu: 佩服! 08/21 12:51
38F:推 adigo: 谢谢分享! 08/21 13:25
39F:推 donkilu: 跪...学生时代准备考试容易,上班准备非常难 08/21 13:47
40F:推 kukukuku: 感谢分享 08/21 14:01
41F:推 philip09227: 跪着看完这篇 太强了 08/21 14:08
42F:推 bowin: freezein的分享只能推了! 08/21 14:23
43F:推 zxc336699: 推推 好神 08/21 14:39
44F:推 wintercoldb: 大推 毅力勇气真的好重要 08/21 14:56
45F:推 ggggggh: 我想到我联考的时候... 08/21 16:22
46F:推 luvya: 超强的意志...... 08/21 16:47
47F:推 MIKEmike07: 推好猛 只是想问一个问题,您这样算转领域而且是转超 08/21 16:54
48F:→ MIKEmike07: 级大,而且又是experienced的了,这样是怎麽过的了履 08/21 16:54
49F:→ MIKEmike07: 历筛选还有後续一些domain knowledge 的问题呀? 不是 08/21 16:54
50F:→ MIKEmike07: 指单纯system design 问题 谢谢! 08/21 16:54
我投的都是相对比较大的公司 这些公司一般都还是愿意给面试机会的
也因为是转领域 所以简历上会强调一些算法或是data structure的能力
至於面试的时候我遇到的状况如下:
一般会先小聊一下 这时候我就会大概表达一下自己是转领域的 但其实工作也会写些程式
O的主管考完程式後就说 如果我们给你offer的话 级别不能给太高 因为你没有相关经验
我说没关系 薪水有到标准就好
M的主管问我为什麽想转领域 我解释EDA的式微 更希望换个有挑战的环境成长
後来给offer时打来 我问他为什麽选我 他说你现在会什麽不重要 我更看重的是你的潜力
A的主管第一次打给我 就知道我转领域 那时候他说 我们不是招什麽都要会的人
而是要聪明的人 科技瞬息万遍 你只要有能力不断学习就好
最後我拒A时他还跟我说了一句话
"While I am extremely disappointed, I am still happy for you personally
as I know that you considered all options carefully
as I see that as one of your super powers."
其实转领域很正常 直说就好 重要的是要展现你的企图心 还有学习能力
像我就直接问A的主管(director) 如果我加入A 要怎麽当上主管
可能是我运气比较好 或气场比较强? 这些主管都尽量不问我domain knowledge
反倒是一直问我我做的领域 我做过的project 然後都听得津津有味的 一直问
当然当主管问你有没有问题的时候 你一定要刨根问底 不懂就一直问 哪怕是笨问题
因为他在选人 你也在选组选公司 问清楚做什麽是很重要的
有时候甚至可以问问他们面临的挑战 然後试图自己去想想解决方式 提出自己的想法
通常这样一来一回的 主管就会觉得你是认真的在考虑加入他们组
总结来说 主管是找能共事的人 能学习的人
所以我觉得面试时 交流沟通其实是最重要的 尤其是跟HM聊 那是最好的机会让他认识你
有时候他喜欢你这个人时 其他technical的问题就不那麽重要了
面我的主管 都在面完我的当晚就直接加我Linkedin 其实这麽一加我就知道有offer了
51F:推 timwu: 周末只能带小孩+1,那书不错,其实书名google一下就有了 08/21 18:37
52F:推 ryannn: 推,超强的毅力 08/21 19:57
53F:推 bob71735: 推毅力 08/21 21:44
54F:推 Paul22: 太强了 感谢分享 08/21 23:19
55F:推 wintercoldb: 想问同样楼楼上mike问题+ 1 08/21 23:23
56F:推 edison51501: 毅力惊人 感谢分享! 08/21 23:50
57F:推 Dartmoor: 太强了 感谢分享~ 08/22 00:00
58F:推 warpspin: 好厉害! 08/22 01:11
59F:推 TETZ: 跪 08/22 02:06
60F:推 Layra: 太强了 08/22 02:48
61F:推 ZAbird: 惊人的毅力 能有今天的结果非偶然 08/22 03:57
62F:推 fishlinghu: 推 李寇就是刷就对了 有毅力就能有好offer 08/22 04:29
63F:推 krauserq: 想问原po投履历时履历上有跟职位相关的project或经验吗? 08/22 05:38
64F:推 dark104: 推! 08/22 05:42
65F:推 dwsx0807: 推 08/22 05:51
66F:推 sieson: 谢谢大大分享 毅力可嘉 08/22 08:34
67F:推 CBeneath: 大推 想问刷400足以 其中hard大概要刷几题? 08/22 10:47
68F:→ freezein: 就是编号1-400题 包括hard 前400题的hard其实满常考的 08/22 12:39
69F:推 orilaa: 太猛了 佩服佩服 08/22 12:53
70F:推 MIKEmike07: 谢谢回覆!哈 说级别不高,但薪水还是给很高啊xD 08/22 13:36
71F:→ MIKEmike07: 我觉得你是PhD也蛮占一块优势的,之前跟公司主管聊过 08/22 13:37
72F:→ MIKEmike07: 喜欢收PhD 哈哈,我自己mentor也是PhD,现在做的东西 08/22 13:37
73F:→ MIKEmike07: 现在做的东西跟他以前做的研究,八竿子打不着lol 08/22 13:39
74F:→ MIKEmike07: 但做了五年,现在已经是这块领域的高手了 08/22 13:39
※ 编辑: freezein (69.181.125.112), 08/22/2018 15:03:45
75F:推 k078787878: 佩服 超神 08/22 15:05
76F:推 sowhysowhat: 毅力佩服 08/22 16:38
77F:推 jammy50605: 这比准备期末考还认真 08/22 16:42
78F:推 SkyFluid: congrats! 08/22 17:05
79F:推 SRmoisTEH: 谢谢分享 08/22 17:25
80F:推 yraikkonen: 已跪~佩服 08/22 21:48
81F:推 drajan: 毅力 有时候也挺羡慕phD的 天花板很高 08/22 21:49
82F:推 wintercoldb: 感谢版主特别回答! 08/22 23:06
83F:推 stockwiner: 谢谢分享 08/23 02:31
84F:推 jlshoo: 不推不行 太强了! 08/23 08:00
85F:推 skynsea: 太强了!原po 原本什麽工作? 一天只需要做5小时!! 08/23 10:57
86F:推 MIKEmike07: 原po在S 做比较偏maintain吧?猜的哈 08/23 11:38
87F:→ freezein: 对 没什麽新project 所以感觉在EDA学不到太多新的东西了 08/23 12:37
88F:推 abc53: 太狂了 08/23 17:58
89F:→ scarletflare: 感谢分享 真的很厉害 08/23 18:35
90F:推 TAMSHUI: 感谢分享! 08/23 23:01
91F:推 russellluo: 超屌== 08/24 07:55
92F:推 ShakeHandtw: 太强了,感谢分享 08/24 08:34
93F:推 marmarmar: 推推 08/24 18:10
94F:推 qouwso: 超强毅力 佩服 08/24 23:54
95F:推 orz811017: 从硕班到上班快一年我都还不到100题 好有毅力 08/26 23:30
96F:推 MAGICMCGRADY: 推推,太猛了...上班完全不想刷题 08/27 02:12
97F:推 glvm: 厉害! 谢谢分享 08/27 13:13
98F:推 vivider: 推 好强 08/29 13:11
99F:推 PttZF: 好强的毅力! 08/31 22:11