2021 Fall CS PhD 申请回顾

本文记录我2020年申请美国2021 Fall CS PhD的完整历程,希望能贡献一个样本点,也能为后来者提供一些指引吧。(本文部分内容摘自《中大计院飞跃手册》,之后再想到什么会不定期补充)

背景

  • 方向:Systems,全申CS PhD
  • 非top3陆本:这点很大程度上已经判定结局了:)
  • 三维
    • GPA 3.95/4.00(Rank: 1/189):PhD申请不重要
    • 标化烂:T刚过线,G疫情没交
  • 科研:本校同个老师两段,美国远程暑研一段,实习一段
  • 论文:两篇会议(一篇一作、一篇参与)、一篇期刊,还有一篇系统顶会(一作)在投一直中不了…
  • 推荐信:本校两个老师(强推)+ 美国合作两个老师(不确定推荐信力度?)
  • 实习:字节AI Lab研究岗
  • 比赛/奖项:无ACM,各类奖学金倒捞了一堆,PhD申请也不怎么看

这几项的重要程度很多PhD申请的文章都会提到,基本上就是按照下面的顺序排列:

方向相关)推荐信/connection >> (方向相关顶会)论文一作 >> SoP > 本科学校 > GPA > 标化成绩(TOEFL>GRE)

不过我这里添加了两方面内容:

  • 一方面是添加了本科学校的权重,这点对于非美/海本非清北交的同学来说挺关键的
  • 另一方面则是添加了方向相关的限制,因为我在这次申请中稍微转了一个小方向,所以我觉得这一点还是挺重要的,后面会细讲。

事实上,本科学校跟很多东西都会勾连在一起,包括推荐信、论文,很大程度上与本科学校是强相关关系。不得不承认在头部学校的学生能够比在其他学校获得更多的资源,老师的水平更高,大多有很强的海外留学背景(特别是清北近几年新招的AP很多就是从四大毕业回国任教),意味着一方面老师在圈子里有一定的影响力,另一方面以前在国外的人脉资源依然有用,哪怕自己水平不够强,他也能够找到比他更强的老师,这在上述不等式上已经占据了极大的优势(美本更是如此,他们本科的导师可能已经是我们想申请去的导师)。学校的合作项目也多,找top校的暑研也相对容易(有同校学长学姐的口碑,甚至老师就是清北本科出身)。同理,在这些实验室老师给了好的方向也能够有比较好的科研产出。尽管大多数工作都是靠自己完成,但有一个靠谱的老师指明方向还是挺关键的,而且实验室也有方向相关的学长学姐能够支持,而不是自己苦苦摸索。对于本科生来说,很大程度上老师一开始给你定的方向就是你之后要做的方向,当然可能走了一段时间发现这条路并不是你想象中的那样,等这时再回头或者换方向其实就有点晚了。

国外的学校基本只认识清北交,有什么方式让老师能够看到其他学校的申请者呢,那还是得靠前面这几点,于是这又陷入了一个死循环。UWash/Berkeley就是交大后花园,MIT就是清华姚班钦定,一旦圈子确定了,作为一个新来者想闯入难度就很大。某种意义上,本科学校无形间已经给你的申请划定了上限。虽然今年我身边也有两个同学非清北交申上了MIT,但说实话,很大程度也是靠connection,同时还得有非常好的运气。

对,还有一点上面这条公式没有体现,上面至少是你能够争取的部分,但是PhD申请很大程度也是一个运气游戏(MS不是,MS有三维基本就够了):

  • 导师个人因素:申请的老师今年是否有funding招生?还在那个学校任职吗?度假了?开公司了?是否太senior而无心科研了?与你是否聊的来?方向是否match?
  • 政策因素:考虑到你的学校或者本科参与的研究内容敏感而不愿招生?

很多时候PhD申请并不是因为你不够强而拒你,而是被这些各种各样你无法把控的因素所牵制。事实上我是到递交申请之后才知道有些老师今年不招生,如果这些学校还把那个老师放在POI第一位,基本上就算无效申请了。

我觉得申请期间非常重要的事情是跟人social多了解信息,不仅仅跟自己学校的同学需要social,最好也跟国内其他高校甚至美本的同学有联系,只有这样才能最大程度减少下面这些运气因素的影响,做出真正适合自己的选择。

Timeline

我做的方向是计算机系统,因此申请的也都是系统方面的老牌强校(应该说这些学校在各个方面都不差),具体排名可以在CSRankings上找到。

选校:我心目中的六大+UCSD,全申PhD,MIT EECS / Stanford CS / Berkeley CS / CMU CS / UW CSE / Cornell CS / UCSD CSE (事实证明相当激进…)

  • 11.14 找暑研老板要推荐信四所学校(Cornell / Stanford / Berkeley / CMU)
  • 11.21 找国外合作老师要推荐信
  • 11.25 国内老板推荐信到了
  • 11.26 国外合作导师推荐信到了
  • 11.27 暑研老板推荐信到了,在申请ddl前推荐信就全齐了!
  • 11.29 提交Cornell和Stanford的网申
  • 12.7 提交Berkeley和CMU的网申
  • 12.8 另外收齐三封推荐信(MIT / UW / UCSD),提交三所学校
  • 12.18 收到UCSD的面试邀请,不是POI,不认识的老师,要做coding project…
  • 12.28 上交UCSD的project
  • 1.13 参与的FPGA paper拿了best paper candidate,诚惶诚恐,意料之外(捂脸)
  • 1.21 无音无训的一周…
  • 1.27 票圈出现两枚MIT offer,害,相当于自己被拒了,相当酸
  • 1.30 中午收到了UCSD老师的面试邀请,约了国内时间2月4日下午面试,UCSD的速度有点慢啊,看面试排期都排到十几号去了
  • 2.3 12:30 AM 收到Cornell offer!周三凌晨!
  • 2.4 15:20 PM UCSD面试,教授说我的project really cool,但其他聊得平平淡淡,感觉方向不太match
  • 2.6 5:25 AM 收到了UW的rej,发现申请系统上的状态都不会更新的
  • 2.12 大年夜凌晨2:35收到Stanford拒信:)
  • 2.20 12:16 PM 收到了Berkeley拒信,接下来大概都是拒了吧

Why Systems PhD

特别对于PhD申请来说,我觉得在申请学校之前最重要的就是要想清楚自己想要做什么,比如我在下面则尝试回答以下这些问题:

  • 为什么选择升学而不是出来工作?
  • 为什么是PhD,而不是master?
  • 为什么选择systems这个方向?

升学 vs 工作

其实升学和工作并没有明显的优劣之分,特别是对于计算机这一学科来说,哪怕本科读完直接出来工作也能有非常不错的薪酬,更加不用愁找不到工作。我所知我们这一届很多同学也是选择直接出来工作而不是继续深造,毕竟读研的最终目的也是为了工作,如果花费几年之间读研而没有获得实质性的提升或成果,那还不如工作带来的真实收益更大。这里的收益包括直接的金钱收益以及充分的实战经验,金钱收益必然大于读研所得,而实战经验也是学校里学不到的东西,这些很大程度上都是远胜过读研这几年的开销的。很有可能读完研出来,你的同学已经变成了部门的经理,由他来面试你了。因此并不是说大家都去读研,那我也要去读研,读研的动机一定要自己想清楚。

上面说的是本科读完出来工作的好处,而也会存在一些问题。比如说直接出来工作可能会遇到所谓的“学历天花板”,职位晋升到一定位置可能就再也升不上去了,而需要有更高的学历作为支撑;社会的固有认知会认为研究生学历强于本科学历,在同等条件下,研究生所获得的机会还是比本科生要多的。

对于我来说,我从一开始就打算深造,一方面是觉得出来工作似乎一切都确定了,被人分配任务,日复一日按部就班地完成,而我还是更喜欢做些有挑战性需要用脑的事情,探索未知是我的兴趣所在,我也愿将其作为终身事业去追求;另一方面硕士和本科生的差距可能没这么大,但博士跟前两者的区别还是巨大的,无论是从工作岗位的薪酬还是可选择的道路(工业界当码农/学术界当老师)都有更多的优势。因此,从理想和现实两方面考虑,我最终还是选择了升学读博。

国外研究生 vs 国内研究生

科研做久了就会发现国内CS的研究水平跟国外比依然有很大差距。尽管我们这些年在AI方向取得非常显著的进展,像清华计算机某段时间的排名可以达到世界第一,但是我们也应该看到在更加硬核的基础底层设施的各个方向(包括编程语言、编译器、操作系统、体系结构等)都比国外落后太多,一个例子就是在系统架构的顶级会议(OSDI/SOSP/ASPLOS/MICRO/ISCA)上鲜有国内高校的身影(不可否认这几年清华、北大、上交、华科等校在迎头赶上,但依然需要有更多的人员参与),而诸如芯片等国之重器也经常被人“卡脖子”。因此对于计算机系统研究来说,在国内我并没有什么选择空间。

国内深造可能就一直是熟悉的环境,更多是在自己的舒适区。在国内生活了二十几年会让我迫切地希望换种环境,当然国外也并不那么太平,以往出国留学会面临文化差异的冲击,现在还会面临疫情、暴乱等各种不稳定因素,但出国留学始终是一个梦想,能去世界顶尖的研究机构跟最厉害的人做研究应该是件很快乐的事情。

除了上述所说国内科研的短板,国内高校的一些迷惑政策、隔段时间就来恶心人的操作、无意义的内卷争斗,会让我更加想去逃离换种环境。

国家/地区的选择

其实一开始可能还考虑过香港或者欧洲,但是后来发现美国在系统方向的研究实在是鹤立鸡群(在CSRankings上可以查到CS各个方向的研究排名),再加上我很多初高中同学都在美国那边,了解的情况比较多,之后也会有个照应吧,因此我最理想的升学去处还是美国。

M.S. vs PhD vs M.S.+PhD

国外的硕士跟国内的硕士还不太一样,国内硕士通常需要两三年时间上课做研究发论文(具体还有学硕和专硕之分,详情请咨询保研或考研的同学),而国外的硕士往往只有一到两年,形式跟本科差不多,仅仅是上课。至于博士,我个人更倾向于它是一份工作,读博需要心无旁骛投入所有的精力去做研究,可能埋头苦干五六年时间才能毕业。

常有人说读博和赌博并无二义,虽然读完出来的机会很多,长远来看可以获得非常高的回报,但高回报必然伴随着高风险,读博路上的不确定性非常多,包括研究找不到切入点、实验结果不好、论文被拒、心态崩溃等,做研究是探索没有正确答案的未知,需要自己不断尝试摸索才能给出答案,这些都和以往上课比赛做练习有着巨大的区别。而且由于五六年的时间实在太长,可能还会面临导师、亲戚朋友、社会各方面施加的压力,如果没有非常好的乐观的心态,那么读博很有可能会害死人。事实上大多数博士生的心理状态或多或少都有问题,也需要博士生自行去调节。

如果没有太多想法,那本科读完读硕士是不错的选择,但是千万不能一股脑被蛊惑去读博士,因为并不是人人都适合做研究。因此我并不建议本科阶段没有做过科研,而仅仅是因为自己课内课程学得不错/竞赛获过奖/对这个方向感兴趣就选择读博,毕竟这真是一个非常高风险的选择。在二十几岁的黄金年华,如果没有选择好道路有所作为,那是非常可惜的一件事情。

下面给出了几篇非常引人深思的文章,都是美国高校的老师写的。 回答了PhD在做些什么,为什么要读PhD的问题,如果有时间可以都阅读看看。

其实我大学入学时仅仅只想读个硕士,但因为加入实验室了解到更多与科研相关的情况,加上我在这方面有着极大的热情,并且将这种热情化为实际的动力并取得了一些成果(论文发表),因此最终还是决定去国外读博。

PS:这种想法在我申请后又改变了,u1s1如果有湾区的ms我可能也会考虑一下,如果当初能预料到我的申请结果的话。至少多一条路可以选择,也不会因此一条路走到黑。

Systems方向/系统研究

不得不说,systems会给人一种很engineering而很不science的感觉,甚至有人会觉得systems phd没有存在的意义。但对于我来说,我喜欢那种自己从零建立起整个体系的感觉,做系统研究就像搭积木,怎么把无序的东西变得有序,怎么将各个组分进行连接,怎么去做抽象、权衡、提升,最终各部分都能按部就班地工作,整体完成一个任务。

可以看看CMU对于系统方向学生的要求

Systems faculty valued examples of students being able to manage large systems and complexity. Large programming experience / projects outside of class, whether that be on their own, through a startup, internship, or through research. Many faculty noted that for native speakers, the verbal GRE was a better predictor of success than math. (For non-native speakers, the GRE fails in myriad ways. But that’s another story. I tended to ignore it unless it was off-scale in either direction.) One faculty noted specifically that he looks for students who can impose structure on uncertain or poorly-structured things – again, an example that the applicant can handle the complexity and sometimes ill-defined tradeoffs and goals of constructing large systems.

关于研究与工程的区别可以看下面这段回答:

Q: What is the difference between “research” and other programming related projects (especially cutting edge idea ones)? What makes one research and one not?
A: Research is fundamentally about advancing the state of human knowledge. If a project does that, then it’s research. For example, the Linux kernel was not and is NOT a research project. Its design is pretty conventional and when it was started it did not reflect the ideas about kernel design that was popular (something called microkernels were more in fashion). In short, it was not “novel”. However, it’s obviously useful, successful, and a remarkable piece of engineering. By contrast, a research operating system will not be nearly as robust or complete as Linux, but it would embody some novel idea about how operating systems should be built. It would, in some interesting, important way, be fundamentally different than any operating system that came before it. — Steven Swanson (UCSD)

下面几篇文章/回答也给出了系统研究的一些特点:

标化考试

众所周知,标化考试应该提前准备,越早考出来之后的负担越小。由于托福只有两年有效期,因此至少是大二下考,到申请时才不会过期(注意Stanford、Berkeley对于托福的要求则是18个月内);而GRE有效期五年,如果积累足够的话确实可以提前考。那么最好的考试时间就落在了大二下到大三的这段时间。

(注:如果要参加暑期学校或者暑期研究,那么最好在大一下或大二上的时候先考一场托福,成绩90+即可,因为办理学校手续及签证可能会用到。当然如果交换项目在更早,比如大二暑假,那么可能大一一入学就应该去考托福了。)

但对于我来说,这段时间是非常崩溃的,大二下和大三上每个学期都有10+门课,专业课上课上到死去活来,还要忙学校实验室的事情,根本抽不出时间来准备和考标化。本来是打算大三下一起将标化考试考出来的,时间一眨眼就到了2020年,因为新冠疫情各种考试都取消了。从4月份开始报,几乎每个月都报了一场线下托福和GRE,结果每个月都在取消,一直到10月份才考上试,这非常考验心态。

TOEFL

TOEFL由于我在高中上过课,因此之后就没有再报班,只是考试前疯狂刷TPO。 托福的阅读和听力需要积累,可能大学期间读了几年,自然而然就会发现自己这两项的成绩上去了,因此这两项也不用刻意准备。 而口语和写作最好有老师帮忙批改,以便获得及时反馈。这两项考前突击有重大功效,推荐一个韩国小哥Teacher Jun的口语写作视频,亲身示范,有标准的答题模版,并且没有强行广告。

受疫情影响,托福推出了在家考(test at home)的版本,方便了非常多,一方面是考位充足,基本上提前一天就可以报上(最好有梯子),特别有利于刷分党;另一方面是非常方便,早上可以不用早起了,稍微整理下桌面就可以开考了。

PhD对于托福的要求没有master那么高,总体来说总分达到100,口语单项分不要低于22就可以了(这是Cornell的硬性规定,而我被迫报了几次托福刷口语)。注意如果要申请TA,那口语成绩在26分以上可能会比较稳妥。

恰逢赶上19年的托福改革,总的来说是题目变少,总的测试时长也缩短了,各部分的变化如下:

Task Changes
Reading 每篇文章18分钟,每篇文章10道题,其实单题阅读时间变长,难度是下降的
Listening 现在变成2个part(如果加试则是3个part),每个part会有1C+1L或1C+2L,题量是11道题和17道题,时间6.5分钟或10分钟
Speaking 缩减为4个task,1个独立任务+3个综合任务,总时长变为17分钟
Writing 没有改变,20分钟的综合任务+30分钟的独立任务

可能口语的变化对我的影响最大,现在只剩4个task,意味着每个task至少都要拿到3/4的分数,最终的成绩才有办法高于22。

至于线下考我在以下这几个考场考过,具体可以在考试中心网址找到。

  • 广外白云:广州市白云区白云大道北2号外语学院南路云山公寓A区
  • 广外大学城:广州市番禺区小谷围广州大学城广东外语外贸大学实验楼C栋
  • 北京汇佳:北京市昌平区创新路20号汇佳职业学院动画楼二层

这几个线下考场的体验都还不错,但都比较偏僻。除了广外大学城考场就在我校旁边,广外白云在广州白云区,没有地铁直达;北京汇佳在北京昌平区,六环开外,也是没有地铁直达,都相当的不方便。

GRE

GRE我在大学期间上过课,课程的相关笔记可以见GRE官方索引

2019年10月考过一次,但没有达标,verbal十分拉垮;2020年刚好适逢新冠疫情,很多学校都把GRE给waive掉了,毅然决然决定不考,因为确实PhD也不怎么看GRE成绩。

每间学校对GRE的要求可见这一个汇总表,当时申请时应该就只有Duke一家学校是坚持要提交GRE成绩的,其他大多数都是optional。

但很有可能只有我们这一届不需要看GRE成绩,再往后依然是将GRE分数考出来会比较稳妥,尽管在申请材料审核中的占比不会太大。

文书

文书主要包括几项

  • Statement of Purpose (SoP)
  • CV
  • Personal History
  • 推荐信

Statement of Purpose (SOP)

SoP可以算是最重要的文书了,然而很多人并不重视,事实上这在申请的package里还是占了非常大的比重的,毕竟这是与你素未谋面的老师最直接了解你内心想法的方式。 SoP要有办法打动哪怕不是同方向的老师,要让你的目标导师这几年无偿为你投上几百万的经费。

对于PhD的SoP来说,衡量好坏最简单直接的标准就是看它是不是research-dense的,也即所有的内容都应该与研究相关。关于小学轶事、为什么会喜欢计算机这些冗长的与研究完全无关的,就不应该出现在SoP中。

下面是典型一个SoP的题目,来源于Cornell-CS:

Academic Statement of Purpose: Research Degree Programs Please use the Academic Statement of Purpose to describe (within 1000 words) the substantive research questions you are interested in pursuing during your graduate studies, and explain how our program would help you achieve your intellectual goals. Additionally, detail your academic background, intellectual interests, and any training or research experience you have received that you believe has prepared you for our program. Within your statement, please also identify specific faculty members whose research interests align with your own interests.

在写SoP之前最好不断追问自己读PhD的问题,包括

  • 动机:为什么要读PhD?为什么非读PhD不可?为什么不是master或者出来工作?(这里面个人因素应该是主导的,如果仅仅是社会或者家庭原因,建议重新回去思考自己是不是真的想读博。)
  • 方向:为什么选择这个方向?为什么你认为这个方向是有前景的?(需要有这个方向的大背景支撑,而不仅仅是个人喜好,感觉这个方向有意思。)
  • 研究经历:是什么促使你做这个研究(研究的主动性)?这个研究的背景和动机?为什么这个研究重要?这个研究中你独特的贡献?研究的结果对你自身的提升,对你选择这个方向的作用?为什么这段经历可以被称作是研究,re-search的部分在哪里?与课程大作业、工程类项目的区别?
  • 导师选择:想跟某个老师具体做些什么?为什么是这个老师?
  • 未来发展:读博的最终目的?工作、做老师、还是其他?

只有这些问题想清楚了,才有办法支撑起整个SoP的内容,也才有办法支撑你度过整个博士生涯。

SoP构建起整体架构,理好逻辑关系后再开始动笔写,最好几段科研经历能够串起一个故事,最终导向你在这个方向上做了足够的积累,因此要申请这个方向的PhD这样一条路线。 通常第一段写申请PhD的动机以及自己想做的方向,接下来几段写自己的研究经历,最后一段写why school以及心仪的导师。

下面是关于SoP的一些参考资料:

关于SoP的范例模版可见Philip Guo-PhD Application Essay Examples

另:SoP没有特殊的格式要求,但最好控制在2页(有些学校会要求1000字),窄边距,用Times New Roman字体,字号12,单倍行距。

CV / Resume

CV我直接采用LaTeX进行排版,模版参见moderncv,长度最好控制在1-2页,也要避免一页半的情况。

很多CS学生都会在网上放出自己的简历,多关注Github和LinkedIn动态就能认识很多厉害的同学。CV的详细要求可以见高天老师的EECS简历撰写教程

Recommendation Letter

推荐信最好提前半个月就跟老师说明,并且附上选校清单,方便老师核对自己是否已经上传完全部的推荐信。 如果国内的老师不是很清楚推荐信的写法与内容,可以参照下面两个国外老师写推荐信的建议。

Personal History

Berkeley还需要写一个Personal History Statement (PHS)。 这篇文书不是很重要,更多是对diversity的阐述,只需要选取其中一个切入点去写即可。 这篇范文可作为参考。

科研

本校实验室

非常幸运,我在大一下的时候就加入了学院的实验室,参与科研工作。由于带我的老师刚博士毕业到这边做研究员,因此愿意自己手把手培养本科学生,从一开始就让我独立研究课题。最开始他布置我进行FPGA综合相关的工作,这需要有良好的数学基础、扎实的编程功底以及足够的英语阅读写作能力。由于涉及的FPGA也是大一本科课程尚未接触到的东西,因此需要自己查阅大量资料,慢慢去搞懂其中的原理。而且相比起AI,国内在FPGA综合这方面研究并不成熟,几乎没有中文的资料;国际上也没有特别好的书籍介绍,就只能读翻阅近期的论文,自己归纳整理出体系。

最初两年的科研经历是十分艰辛的,我每周基本上除了上课和做作业,其余时间我都全部花在科研上面了,包括周六日以及公共假期。(事实上这也是以后读博的生活,因此一定要想清楚自己是否真的热爱)大二期间的工作虽然投了几次稿被拒了几次,但最终还是成功发表了一篇会议论文和一篇期刊论文(回想起来这非常靠运气),也算是对本校实验室科研的一个交代。而这两篇论文也为之后工作的开展以及实习、国外学校申请奠定了非常重要的基础。

国外实验室

由于在本校发表了一篇会议论文,我在2019年底得以飞往美国丹佛参加线下会议。在会议上认识了Cornell研究组的博士后,而这个博士后后来也为我暑研套瓷搭桥引线。于是在2020年我有机会参与到这个研究组的项目中,与北美的老师一起合作开展进一步的研究。由于新冠疫情,我没有办法亲临现场,所以就只能远程工作。每周与教授及其他博士生在Zoom上展开组会讨论,最终也成功完成了一篇论文投稿。

需要强调的是,国外科研经历还是非常重要的。有一种说法是,申请委员会的老师只会看认识的老师的推荐信,而不认识的老师可能看都不看。那意味着国内大多数老师写的推荐信作用并不是那么大,而国外有影响力的学者的推荐信才真正对申请有正向的促进作用。暑研也正是为了找到国外的老师为你背书,能够给你写推荐信,推荐你去更好的学校。

交流/交换

遗憾的是我校并没有特别好的交流交换项目,CMU与中大的联合学院被砍了,社人院与Berkeley的交换项目也取消了,剩下的交换项目屈指可数。而且交换完后不一定能够转换学分,还需要重新补课因此我在大学期间并没有选择到国外交换。

实习

我在大三暑假参加了字节跳动的面试,成功拿到了字节的offer。而且非常幸运能够跟美国研究院的研究员一起工作,一起研发大规模的图神经网络训练系统。几个月的实习经历还是让我学到很多东西,工业界和学术界关注的问题还是不太一样,很多问题也只有在工业界能够遇到,比如超大规模的数据集以及分布式训练实战。

我觉得对于计算机学科的学生,还是需要有工业界的经验(特别是对系统方向的研究者来说),至少学习一下人家的工作流程及开发工具,也可以学学大厂的代码管理和上线机制。

比赛

大学期间我参加的比赛还是比较多的,从不同的比赛中积累了不少的经验,也可以为简历添砖加瓦。 但注意,这些比赛基本上对于博士申请没有直接的作用,毕竟博士更多看的是你的科研能力,也即解决未知问题的能力,而不是编程功底。换言之,哪怕一个学生在ACM竞赛上闯进World Final拿了奖,也不代表他的科研水平就很高,因为对于ACM来说绝大部分的知识都是已知的,参赛选手只需要熟能生巧即可。

比较遗憾是大学期间没有能参加ACM竞赛,准确来说我在大一的时候曾经尝试过参加校内的ACM比赛,但是无奈水平实在不够,因此没能获奖,于是后续就不再参加ACM了,专心进行科研。

如果我要给后来人一些经验的话,我觉得在大一的时候可以尝试投入全部精力冲一冲ACM,看看能不能在区域赛上获得奖牌,最大的益处是提升编程能力,熟悉各种算法,对于后期不管做什么方向选择什么道路都是很有裨益的,哪怕出来工作面试也不会捉襟见肘。再往后ACM竞赛的价值其实就没有那么大了,大二往后就可以尝试去做一些更有趣的事情,而不是仅仅局限于刷题。

申请递交

网申

按照每所学校的申请系统填即可,要填的东西可能比较多,需要提前预留好时间。

送分

其实很多学校跟ets那边直接通过网络联系,只要在申请DDL前出成绩,然后立即送过去即可。

根据这篇文章,送分时间在两周,我自己亲身经历来说也差不多是这个时间。

Your scores will be sent out approximately 13 days after your test. Once they’re in the mail, it will take about 7-10 days for them to reach their destinations.

有一点需要注意,千万不要贪便宜用了免费送分送了多个成绩,最好一所学校就送一个成绩。虽然学校都会说会看你TOEFL成绩的最高分,但我真实试过小秘搞错成绩。

中介

我是属于半DIY的方式,虽然找了中介,但是大部分工作都是由我自己完成的。

一开始找中介是因为不了解申请的流程以及各个时间节点应该干什么,觉得还是需要有人指点规划一下,故在大三的时候找了中介帮忙出谋划策。由于广州这边的中介更多倾向于硕士研究生的申请,而我走的是一条学院内较少参考的国外读博的路线,因此我询问了北大的学长,他给我推荐了北京那边的中介机构,然后就确定下来了。

中介可能在前期的帮助会比较大,回答了我很多关于申请的疑惑,而且也提供了不少申请的资料。 但到后期中介最大的作用就是修改文书了,毕竟标化考试需要自己考,文书初稿撰写、网申填表等也是自己完成比较靠谱。

陶瓷

我从暑研开始就给不少老师发过陶瓷邮件,但其中只有两个老师给了我回复,因此个人觉得陶瓷是必要的,但是也不能从中寄予太多希望。

可以看下面CMU老师的建议:

If you plan on applying to CMU’s Ph.D. program you may be wondering whether you should email me or another faculty member to improve your chances. I can’t speak for other professors but the answer for me is “no”. Of the 50 students that have emailed me over the last two years, only two were admitted. One was in 2014 and one was in 2015. For the one in 2015, I was not interested in them at all but they were admitted by other faculty members. This is why I always tell students that they should still apply.

面试

面试最好准备一份PPT,尽管进来教授可能会先问一些问题,但当他聊到你的project时,你可以用PPT来主导,思路会更加清晰。

我只经历过一场面试,因为只有20分钟,教授主要问了以下问题:

  • 为什么要读PhD?
  • 聊一下project,主要讲方法即可。
  • 是否有要问教授的问题?

更多面试经验可以参见一亩三分地上的回答

参考资料

有用的网站

有用的经验谈

前辈

同学

致谢

最后再次感谢所有在申请路上帮助过我的朋友、同学和老师,也感谢为本文中出现的链接的作者们!也祝看到这里的你能找到自己的方向,offer多多,心想事成!