CS申请指南: 20fall申请经验总结 [含对21fall应对疫情的建议]

avatar 475421
eleanorj
15915
20
0. 写在前面
20fall申请季也算是进入了尾端,今年非常的特殊,至今都不知道20fall是否能正常开学。不得不说,一亩三分地对于申请的同学来说是个非常好的了解信息的网站,我个人也在这里获得了不少信息,刚好我白嫖的中介需要我写一篇申请总结,所以决定在地里也post一篇,本着开源原则,不设任何积分权限,希望能对接下来的申请者们稍稍提供一些有用的经验和信息吧!

P.S. This post is most useful if you are a student from a Chinese college aiming to study CS and, in particular, Machine Learning, but most of the information here is equally valid for any field of research and any country.

风格说明:我个人是非常讨厌中介浮夸的宣传风格的 (比如 “低三维逆袭!” ”从双非到哈佛” “转专业收获全美TOP1 offer!”,大家自行体会一下 :) ),此外我本身并非所谓“大神”,是个对自己20fall的申请结果还算满意的普通的申请者,所以本文重在给普通的申请者们分享一些干货型的经验/技巧而非申请故事,虽然不匿名但也希望大家尽量不要问personal的信息。最后,求加米! :)

这篇经验分享主要是以下几个部分:
1. 要不要出国?
2. 要不要学CS?
3. Specifically for 转专业选手:转CS怎么准备?
4. 申请中什么因素最重要?
5. 语言考试如何安排与准备?
6. 关于软实力:暑研还是实习?
7. 暑研:暑研的目标是什么?怎么找暑研?暑研期间应该做什么?
8. 实习:实习的目标是什么?怎么找实习?
9. 怎么选校?
10. 文书怎么写?
11. To 21fall申请者:疫情背景下的最优方案

1. 要不要出国?
if 你已经决定出国了:
请跳过 :)
else:
见下

毕竟最坚定的申请者们已经跳过这一章了,留下来的同学们或多或少还有点纠结或迷茫,那么咱们可以就这个话题细细谈谈。首先说一下,我从大一就决定出国了,所以很大程度上已经是biased的了。

先从客观角度(也就是职业发展角度)谈一下,我个人认为一切脱离专业谈这个问题的行为都是耍流氓。先给个客观的结论:不希望996的 CS同学无条件建议出国。无所谓996的CS同学建议出国 。其他理工科专业的同学希望{拿高薪 & 拥有好的work-life balance}的同学建议转专业+出国。本人不是很了解金融/文科圈子的情况,所以不随便评价。这个建议是基于以下事实:1. 在美国CS是为数不多的华人能留下来的行当; 2. 欧美国家虽也有加班现象,但是绝没有常规的996制度,work&life balance会被国内IT行业好很多,当然国内外企也如此(主要指g和m); 3. 北美IT行业的薪资水平比国内高很多,这意味着你将同时拥有更好的work&life balance与更高的薪资; 4. 从回国工作的角度来说,海博的路子会比土博广很多:土博很难在ZJU及以上的高校谋取教职,因为有硬性的海外经历要求; 在industry的话除了直接回国找工作还可以transfer到大厂们的国内办公室,如果愿意在海外多工作几年,熬到global pay再回国妥妥在职业生涯前期以同样的努力积累到更多的财富。

当然我觉得其实最主要的因素还是个人内心到底有无出国的desire。很多时候很多路子都是走得通的,出不出国其实对职业发展来说,没有绝对的孰优孰劣,更多的是一个主观的选择。比如我自己,本身是不喜欢一辈子呆在一个bubble里的那种人,内心一直都有着希望能够见见更广阔的世界的渴望,并且定义自己为global citizen,也是一件非常自然而然的事,如果你本身并不是很喜欢欧美的生活氛围/习惯(比如吃不惯生的菜:)),建议你三思, 毕竟选择出国留学不仅仅是关于你未来职业发展的选择,更是一个关于life的选择。

2. 要不要学CS?
if 你是科班选手 or 你已经决定转CS了:
请跳过 :)
else:
见下

我十分了解现在非常非常多的人想要转专业到CS的情况,在看这章的你可能现在还在纠结。事实上决定是每个人自己的,每个人都是非常不一样的个体,别人的经验可能对你并不适用,所以别人很难完全帮你做决定,我在这里只给出一些事实,希望可以提供一些帮助:

CS的pros:
1. 薪资高,无论国内国外都几乎是金融以外薪资最高的行业
2. 最容易在国外找到工作的行业
3. 针对research:自己的研究可以切实地推动技术进步,改变生活,成就感还是很有的

不适合转CS的特征:
1. 不擅长coding:大学有很多必修的coding课(c语言,数据结构,OOP),建议先take着上着,毕竟决策的过程是dynamic的,如果发现自己实在无法在这些课上拿到高分,那可能需要考虑下自己是不是不适合做相关工作。
2. 找不到感兴趣的CS subject:我个人的小方向是NLP,选择这个领域,很大程度上也是我本人的兴趣(当然接近这个兴趣的途径有很多,也可以从神经科学的视角切入,选择NLP更多是是结合了兴趣与就业前景的综合考量)。如果你对任何一个CS subject都不感兴趣,那分两种情况:如果你对做软件工程师(俗称码农)感觉ok,那也不用想多了,埋头刷题就o了;如果你还是有一定research理想的,建议放弃,不然会很痛苦,没必要不是吗?
3. 家里有矿:the world is big and the life is colorful,何苦自己为难自己 :)

# 3. Specifically for 转专业选手:转CS怎么准备?
if 你是科班选手:
请跳过 :)
else:
见下

因为我自己本身是BME的,有这方面的经验,所以多说几句:
首先,重要的话说三遍:转专业要趁早!转专业要趁早!转专业要趁早!
以自身经历来说,我是在大二下的时候正式决定转CS的(当然因为培养方案的关系,大二上下都上了非常多CS基础课),此后所有的科研和课程都没有落下,所以就我的感觉,“转专业”对我的申请几乎没有影响(估计还是有一些的吧,但是真的不大)。而且说句题外话,我校我们这级申请结果probably最好的大神也是非科班出身,所以给各位提供的positive message是:停止把“转专业”作为自己的劣势抱怨,只要你通过你的课程和科研/实习向committee证明你转CS的strong wish和能力,并不会因此有劣势。下面具体说说需要做什么:
1. 课程:多多益善。可以的话直接转到CS或者辅修,没条件的话也可以直接参考本校CS的培养方案来修(当然前提是你们学校选课自由)。
一级重要:程序设计(C, java, python等,不用都修),数据结构与算法(重中之重,如果你只能修一门,就是它了)
二级重要:面向对象的程序设计(俗称oop),数据库,操作系统,计算机网络,汇编,计组,数逻(后两者我觉得你不搞硬件的话不是必须的,EE相关的专业个人觉得不需要修数逻)
三级重要:专业性更强的课,如搞ml的话则是ml相关的课
2. 科研/实习:转专业的同学在科研/实习没什么特别的,我一起在下面说了。

4. 申请中什么因素最重要?
直接上结论:
ms申请:GPA> 推荐信> paper > GT>实习经历 > 科研经历
phd及research-oriented ms申请:推荐信 > paper > GPA> GT>科研经历 > 实习经历

具体的有一个审材料的热贴已经说的非常清楚了,建议大家都去读一读。我下面具体说下除GPA以外的这些维度怎么提升 (GPA没啥好说的,拼命刷高就完事了)。

5. 语言考试如何安排与准备?
第一个建议:先G后T!
原因很简单,GRE所需的英语能力完美覆盖了TOEFL中的reading和writing,会产生一种降维打击的快感。考完G再考T的话只需要focus on speaking and listening就好了。
我个人先考了TOEFL才考的GRE,对此是后悔的。

第二个建议:趁早考!
当时我非常清楚这说说容易做做难,很多时候ddl来临前大家都抱着“反正可以再考一次“的心态,然后拖到大三暑假,甚至有人拖到了大四申请前。但是趁早考的好处的巨大的,暑研/申请将会是压力非常大的过程,你越到后面事情越多,就会产生”如果我早点将语言考出来该多好“的后悔,如果你的成绩没有很好但也够用,就会出现要不要再花这个时间去重考的纠结。所以作为过来人,我真心建议大家把大三六月份作为语言考试的ddl,不要去想大三六月份后还能再考语言的可能性。
Ps. 有些人可能会argue,大三的时候我也一边忙着上课一边忙着做科研,全身心投入有点难,我想说的是暑研的科研和大四上的实习或者另一段科研会比你大三在本校做的更重要。理由很简单:正如第4章里说的,推荐信比真正出产的paper更重要,而暑研的老板是海外的,他的推荐信会比你本校的老师有价值很多,和他做出成果,既能获得paper又能获得强推,着实是更划算的。当然本建议适用于觉得自己大三的时候不能同时handle过来的同学,真正的大神当然是两手抓。我只是给出一个优先级的建议,供大家在无法handle全部时对自己手头的事有个重要度的排序 :)

6. 关于软实力:暑研还是实习?
写这一章的动机是前些天在地里看到的关于大厂实习 vs 美国暑研的帖子。

正如我在那个帖子下回复的那样,我认为这首先取决于你想读MS还是PhD,更直白的说就是:你想当SDE还是搞research?
1)对于申PhD(想搞research的同学),无条件暑研。
2)对于申授课型ms(想进大厂当SDE)的同学,暑研并非必须的,但绝对也是很大的加分项(收获一封北美推荐信 北美和国内推荐信分量差距非常大 ,again可以去看审ms材料那个帖子)。所以我建议争取暑研。
3)对于还未决定的/混申的同学(比如我自己),建议暑研。

最后很重要的一点是暑研实习不冲突,实习可以大四上做。具体的可以看下面两章。

Ps. 当然21fall因为疫情的缘故情况特殊,这个我留到最后一章讲。

7. 暑研
1) 暑研的目标是什么?暑研期间应该做什么?
关于暑研,我觉得最为重要的是要清楚暑研的目标是拿强推。很多人有把暑研期间发paper作为目标来做,这无可厚非,但是again参考第四章,其实更重要的还是推荐信。发paper固然是好事,但是整个暑假都闷头干一点都没有和老板的沟通也不actively向老板展示你的工作进展,肯定是不行的。这样即使你发出了paper,你最后的推荐信也不会很strong。相反,如果你在暑研过程中将你的“闪光点”展示给老板了,即使最后你不幸没发出paper,你也很有可能收获强推,而这才是最重要的。
所以暑研期间需要做什么,我想在清楚了目标以后也就一目了然了:用你的工作和对research的sense impress老板,争取拿到强推甚至return offer。切忌只满头苦干。

2) 怎么找暑研?
一般来说有两个途径:学校官方项目和套瓷。
<1> 学校官方项目:
学校官方项目因校而异,我不好给建议。Reputation比较好的校际项目是UCLA的CSST(我本人走的是这个项目)。当然两所一本院校应该还有大S的项目、 ETH的项目(还给工资....),个人认为这两个项目比CSST要更好些。其他官方项目还有UIUC、UCD、加拿大几所学校一起的一个项目。
· 适合人群:个人认为学校官方项目适合GPA较高、硬实力较强的同学。
· Pros:
- 走官方项目你可以省去很多套瓷的力气
- 通过CSST选拨本身在申请中也是一个加分项,因为它已经办了十几年了,很多committees都知道它的选拨制度,认可通过CSST的applicants (其他项目或多或少也有类似效果)
-官网项目(以CSST为例)会提供奖学金、F1签证(以后就不再有J签豁免之类的麻烦事了)、校内住宿,还有开题答辩和结题展示,相对来说比较正式,并且可以拿到学分。日常还会组织一些talks和集体活动(比如去Santa Monica和hiking)。
Ps. 在这里安利一波CSST :)

<2> 套瓷:
由于我没套过暑研的瓷,这方面并不是很清楚,我对套瓷也不是很擅长,建议大家参考别的套瓷技巧帖子。

下面谈谈选导师的问题(无论是官方项目还是套瓷,都需要面对这个问题)。
一个经典的问题是:挑年纪大的大牛还是年纪轻的AP?关于这个问题,很不幸我无法给出一个二元的判断。我只在此列举一些我认为的pros and cons:
· 年纪大的大牛:
Pros: 推荐信分量重(前提是拿到的是强推)
Cons:大牛见的人多了,你要是并没有足够强,或许拿不到强推;有些大牛组里人很多,interns也很多,此时会面临比较大的peer pressure,同时有些组会直接让phd指导你,此时你缺少和教授的交流时间,这也会影响推荐信的质量。当然不是所有大牛组都如此,有些大牛人很nice,拿强推并不难,所以建议了解清楚组的状况。
· 年纪轻的AP:
Pros: 一般都会directly advise你,此时交流机会很多,推荐信会有很多细节,质量会比较高。
Cons:推荐信分量不如领域大牛。

Remark:关于return offer
首先这是申请phd的同学才需要考虑的问题,申请ms的同学直接看下一章“实习”即可。
有些人会想当然地认为AP的return offer更好拿,其实事实情况并非如此。有些AP一年拿到的funding只够招1-3个phd,此时他对offer这件事就会非常谨慎,或许就不会发任何return offer;而有些大牛funding充足,一年能招10个phd,所以他们实验室每年都会固定发1-2个return offers(真实case)。所以建议挑选暑研前多和目标实验室的学长学姐沟通,了解清楚情况。一般来说,刚开始的AP(有大量招学生需求)、组特别大的professor(如前所述的这种lab)给return的概率比较大。

8. 实习
对于申请PhD的同学,实习不是必须的。我觉得有这个时间实习不如在海外再找一段research assistant做,这样还可以再拿一封海外的推荐信。
如果因为各种原因无法做第二段(签证之类的),比较理想的实习岗位是大公司的research intern。可以选择去申请硅谷的岗位(当然应该也是走J1签的,此时和再在高校做一段research区别也不大,当然是比较好的选择),其他地区的Office也行(只要签证没问题)。如果只能在国内的话推荐MSRA,毕竟别的跨国大厂在国内并没有research岗。

对于申请纯授课型MS的同学,个人认为优先级还是国外大厂>国内大厂>国外小公司>国内小公司

9. 怎么选校?
10. 文书怎么写?
【由于现在才3月份,离大部分人需要考虑这件事都还很遥远,如果有人看,我过两天再更这部分吧 :)】

11. To 21fall申请者:疫情背景下的最优方案
作为20fall的申请者,我们也深受疫情的影响,面临着defer开学/签证的问题。目前来看疫情对21fall申请者最大的影响如下:

1. 暑研:可能面临暑研出不去的情况。
解决方案:
1) 线上暑研(针对phd的推荐指数:五颗星, 针对ms的推荐指数:三颗星)
针对已经申到美帝暑研的同学,紧盯签证,不行就线上暑研;针对申到ETH/EPFL的同学,不必过分紧张,瑞士615恢复签证,只要7月学校开门,签证不会成为你暑研的阻碍,若疫情没有控制住,也只能线上暑研了;对于还没申到暑研的同学,抓紧套瓷,还不算晚!
虽然线上的话和教授的交流肯定是打折扣了(不过这都是可以通过努力改善的),好在CS这种学科本身就是可以远程的,只要人为努力,拿到强推也完全possible,其实并没有天要塌了的影响。
本帖隐藏内容需要登录后才能查看。
最后,希望各位同学都能申请顺利吧!再次求加米!
ps. 非经本人同意,严禁转载 :)
  • 180
20条回复