最近忙着搬家去硅谷,来美两年并没搬过家,看看地上摊着的一堆行李,感慨还是挺多的。还是写点什么。都是流水账,莫怪。有问题我也可以答。
程序员,本科的时候就在准备出国,因为经济原因,拖延症,工作,创业乌七八糟几乎所有可能是理由不是理由的的原因耽搁了,直到快 30 岁才真的跑出来。
留学一直是心理一道坎,虽然知道跨过去并不意味着什么,但是在拿到学校 offer 之后挺长一段时间里却大意了,直接导致自己找工作的整个过程很被动。不过还算有点运气,也没少努力。在即将心态和经济崩溃之前,总算找到了不错的工作,甚至公司还认可了我国内的工作经历,不必从职场新人做起。
只想去美国,2011 年就注册了一亩三分地的账号。托福和 GRE 本科时候就考过,虽然有些改革,但是从新拿起来不算难。事实上我也没考到多高的分数,满分 120 的托福考了两次也只考了 95。GRE 语文基本属于半放弃状态,数学好好突击了一把也没有拿到满分,作文纯粹靠背模板。最终 GRE 以一个语文 145,数学 167,作文 3.0 的成绩收官,懂的人应该知道这是多烂的一个成绩。
工作其实还行,所以从最开始就没想过辞职备考之类的。本科成绩还不错,我一直觉得如果自己托福能上 100,GRE 能上 320 的话,应该可以拼一拼 CMU 的。但是上着班再准备申请,而且全程 DIY 不找中介真的是太辛苦了。现在看当时还可以再逼逼自己,不过回到当时,确实到了自己的极限了。
申请的文书拖着学英语的同学在酒店里憋了两天,又花了 300 块钱找文书机构改了一遍,就算完成了自己所有申请材料准备工作。
只申请了 5 所学校,拿到两个录取,挑了个最好的去,大半年的苦日子总算没白过。
当年 3 月就拿到了 offer,入学是 8 月底。中间有接近半年的时间。工作没辞,平时玩的也很 high。这时候通过网络认识了不少同学,应届生居多,少数有工作经验的。但不管应届生还是非应届生,大家都在补课,刷 LeetCode 的算法题。我当时不以为意,觉得自己代码写的还不错,找工作前突击突击,找个实习问题应该不大。
最后自然就坑了。
第一波求职其实 9 月份,在开学不到一个月的时候就开始了,之前刷题刷到位的同学,9 月初,10 月初就拿到 LinkedIn,Airbnb 等一系列知名公司的实习了。Amazon,Facebook 什么的开始的虽然晚一点,但是 11 月也不少人搞定了 offer。然而我基本上写个 two sum 都卡壳。英语不算好,应付课程有时候都吃力,刷题更兼顾不上。虽然一直还在找实习,但是心里知道自己凉了。
在国内一直玩信用卡,美国的信用卡比国内还好玩。如果非要说留学前准备工作的话,我大部分时间都在琢磨信用卡了。美国申请信用卡需要 SSN,基本上对留学生来说,找一份学校里面的工作,才能申请 SSN。
校内工作并不难找,学校里有邮件列表和求职网站,发了十几封邮件,参加了 3 次面试就拿到了一个 offer —— 在某个部门做网站。工作本身没什么难度,好处在于同事都是美国人,每天大把时间可以和他们练口语,加上代码写的还不错,慢慢找回来一点自信。
老板说希望我留下来做全职,一年给 6 万刀,大概三年左右升职加薪,可以拿到将近 9 万。当时被找实习的失败打击的够呛,毫不犹豫的就同意了。然而老板第二年就跳槽走了,这是后话。
打工的收获就是,基本可以流利的在生活中运用英语,偶尔能说说笑话或者吹吹牛。一个小时 17 美元的工资也足够我吃喝和油钱。
留学 2 年上了 8 门课,一门 B 其他是 A。这是最终的结果。
拿 B 的那门是算法,也是留学第一门课,花的时间最多却被虐的最惨。毫无头绪之下,只能求同学。每天拖着一帮人在学习室看书回答我的问题,周末我开着车拖着大家出门吃饭和超市补货。
虽然 B 看上去很惨,但是没他们帮忙的话,估计 C 都危险。
在国内一直坚持看英文文档和听英文的教学视频。虽然说和写不行,读和听大概还过得去。又有一帮学习小伙伴加持,之后选课也注意多选了一些偏实践的课,就再没拿过 B 了。
总的来说,硕士项目大多比较水,名校也是如此,即便自己水平不够,努力一下也还是追得上的。
从来不是什么好学生,中考数学不及格,高考数学也不及格。Two Sum 琢磨了一天才写出 O(n) 的解法,说明我可能也不是个好程序员。所以我毫不犹豫砸了钱报了算法班。
但事实证明人家早半年就开始刷题是有道理的。琢磨了一暑假,还是一脑子浆糊,算法班也带不动我。现在回头看,自己有几个毛病很要命:
对于某个问题,比如 recursion,非要自己觉得自己彻底懂了,才开始做题。事实证明理论和实践必须得结合。对于我来说,做题目本身更加重要。
怕困难。一些题老写不对或者想不出来就死磕,磕不出来就啥都不想干了。暑假里同学基本都去实习了,也抓不到人问。经常是花了好多时间,最终还是气呼呼的跑去睡觉。
时间安排。暑假的时候打了 2 份工。其实当时英语练的不错了,经济上虽然并不多宽裕但是也不缺钱。应该早早的辞职专心刷题。结果一个暑假打工占了一半多的时间,不值得。
最终,暑假的刷题进度并没有进展。暑假之后全职工作找的也很不顺利,简历拒,电面拒,onsite 拒都有。一直折腾到硕士毕业,除了几个聊聊天就发 offer 的小公司以外,并没有找到工作。
美国找码农工作,大部分大公司,还是只考察算法题。不过并不是丢一道题让你写,面试官希望能够和你沟通,逐步讨论出一个方案。我本来刷题水平就不行,所以写不出来的时候就喜欢东拉西扯,说说 coner case,谈谈自己的理解再套套面试官的话。
不过,题目写不出来还是写不出来,区别只是之前别人拒我根本不会告诉我理由,现在可能还愿意搭理我一下,告诉我系统设计做的还不错,算法还要加强云云。
刷题也勉强算找到点门道,有了信心觉得最终自己可以找到工作,不用一时委屈在小公司骑驴找马。所以毕业之后就呆在家里,除了帮实验室做点杂事维持身份以外,全部时间都在刷题。不停的投各大公司,简历拒了就换个英文名继续投,不过事实证明并没有什么用——简历查重的技术越来越先进。
最终找到工作的过程其实并没有什么特别之处,校招的职位我都挂光了。因为有工作经验,社招还可以投。社招虽然说起来比校招难,但是难都难在项目经验的讲述和系统设计上面,这俩比起我的刷题水平,应该还是过得去的。最终就是面的多了,总给我撞上了一次好运气。
非常没出息的,对面给了 offer 我 5 秒钟就回了 Yes。内推我的朋友说,你好歹也讨价还价一下啊。于是更没出息的又问 HR,还能给我加点签字费不... 估计对面都要给我逗笑了吧,最终给加了一万美元。
才来就买了车,经常旅游,所以对国外生活了解还是有的,来了美国,普通的坑基本没有踩过。因为学习烂,总得指望着身边的同学带一把啊,所以平时朋友也不少,没什么寂寞的感觉。年龄虽然比身边人大不少,但也没感觉到什么代沟之类的问题。曾经有一段时间刷题刷的很郁闷,万念俱灰的时候,机缘巧合见到了 Livid,还吃了一顿饭。感觉是那 2,3 个月里唯一能让我开心的事儿了。现在回头想想看,也算是某种机缘吧。
美国开销肯定是比国内大的,不过总体来说不算很夸张。不少同学房租都是 600 - 1000 刀之间,平时吃饭自己做,偶尔下下馆子一个月房租外开销 1000 应该也够了。几个人一起开伙的话估计还会更少。印度姐姐告诉我她一个月房租 350,生活费也是 350 的时候,我还是服气的。
开上帝视角看,如果一拿到录取就开始联系英语准备刷题,一上学就能找到校内工作,第一年暑假能找到大公司实习,毕业前能找到西雅图或者湾区的全职工作,一毕业就开始上班。那么毕业第一年,保证正常生活的前提下,就能把留学的成本捞回来了。
但是这两年大家也知道,政策越来越不好,现在跑过来风险收益到底哪个大,没人说得清。
啰啰嗦嗦说了好多,先就此打住吧。
1
WeberXie 2018-09-01 17:28:39 +08:00
好奇出国的时候结婚了吗
|
2
KeepPro 2018-09-01 17:28:45 +08:00 1
emmm~ 感谢楼主分享自己的经历,让我这条咸鱼也算是增长了下见识。嗯,就祝你好运吧。
|
3
mortonnex 2018-09-01 17:56:59 +08:00 via iPhone
楼主很厉害了
不过刷算法题有必要在 leetcodeleetcode 刷一两百道吗?会不会太多了效果反而不好? |
4
zhang1215 2018-09-01 18:02:53 +08:00 2
划重点:万念俱灰的时候,机缘巧合见到了 Livid,还吃了一顿饭
|
7
WhoMercy 2018-09-01 19:28:25 +08:00 via Android
感谢分享。
可以问下, 1.本科学校的等级 /知名度 /实力 2.GPA 3.5 所申请学校 这些信息么?🤓 |
8
Sweden 2018-09-01 19:33:02 +08:00 1
祝贺祝贺!重要的是迈出了第一步!
|
9
AntiGameZ OP |
10
gaohongyuan 2018-09-02 00:41:04 +08:00 via iPhone
这不是我 A 大吗,哈哈。今后也继续加油啊
|
11
ryd994 2018-09-02 00:47:46 +08:00 via Android
@mortonnex 看人
如果你算法水平还可以,然后本身思路清晰又会表达,leetcode 刷一下 hard 和部分 medium 就好。看看思路,如果有思路了就去看看讨论区里最好到什么复杂度,如果到了就不用写了,八九不离十的。 |
12
yanaraika 2018-09-02 00:47:51 +08:00 via Android
@mortonnex 这年头 leetcode 一两百道人家内推都不给你内推,bar 已经涨到 300+了
|
13
yanaraika 2018-09-02 00:51:11 +08:00 via Android
@ryd994 现在纯思路也不行了,NOI 银牌都能被挂。一线大厂 bar 每年都在上涨,现在的要求是 20 分钟左右基本 bug-free 一题,还要保持不间断沟通和(假装)提出 trivial 解法之后(假装)在引导下 /思考出最优解。
|
14
ryd994 2018-09-02 00:55:00 +08:00 via Android
另外我从来不赞成什么 leetcode 刷几遍
按我的做法,答案不用记,思路忘不掉。二周目一看题,基本就是不用写了。 这样做还有一个好处,面试的时候自然而然就是从易到难的思考过程。地里经常有人说,演戏没演好,面试官问我是不是做过这题。 |
15
20015jjw 2018-09-02 02:03:14 +08:00 via Android
题因人而异
|
16
20015jjw 2018-09-02 02:07:00 +08:00 via Android
@20015jjw 手滑
刷题因人而异 但是刷了没啥坏处 大佬一题没刷照样 f/g 顶配 offer 随便拿 我这种菜的刷个 100 题只能低空掠过.. 其实面试的时候大家心里都有数你刷没刷过 但是你要是面试官 你自己想想 两个面试的人 一个刷过做出来 3 个 hard, 一个没刷过做出来半个 hard, 你要哪个? |
17
AntiGameZ OP @gaohongyuan 哎呀,被大佬发现了。
@ryd994 思路很清晰,基础知识也扎实的情况下,刷 n 多遍题目确实没什么意义。只是对于求职的人,受到时间和各种外界条件限制,或者说逼迫,总期望能找到一个 sweet spot,既不要花过多时间浪费本来很宝贵的资源,也不要因为达不到要求被干掉。那么这个事情就变得完全因人而异了。有的人可能就是多刷几遍能背下来,有的人则不是。 我自己基本上是光有思路还不够,题目不做一遍即便很像的题目我也很难在 10 多分钟的时间内 bug free 写出来(这也是为啥我最终 facebook 还是挂了的原因)。而随着时间推移,长期没做过的题目很快手生。 倒是随便看到一张信用卡,脑子里能有几十个套路。可能还是因为心里抵触算法题吧…… |
18
klaksvik 2018-09-02 08:51:26 +08:00 via Android
h1b 好抽么?
|
19
mortonnex 2018-09-02 10:04:32 +08:00 via iPhone
楼主,社招√算法要求高吗
|
20
AntiGameZ OP |
21
saximoer 2018-09-03 00:10:27 +08:00
陈老师啥时候回国带我吃黄焖鸡米饭
|
22
sNullp 2018-09-05 04:36:44 +08:00
楼主来湾区可以约饭呀~
|