我的推免经历

这篇推免经历,我很早就计划写一写。在各项推免事务都落定后的寒假,可以敲敲键盘啦。

首先是对于华工计院同学的重要提醒

去年(2018年)华工计院对推免政策进行了调整,3月开始确定大三学生的推免资格。届时,推免本校的学生需签订协议,推免外校的需提交外校导师的接收函,否则失去推免资格。

由于3月学校并没有分配推免名额,学院以保守数量进行第一批推免,在名额分配后的6月进行第二批(最后一批)推免。去年在第二批推免正式给出了要求签协议或者提供接收函的通知

再强调一下,对于华工计院有意向推免外校的同学,尽量在大三下学期推免开始之前(3月)拿到外校导师的接收函,否则可能无法保外。(这是2018年的政策)

推免前要想清楚的问题

第一个问题自然是“什么是推免?”,我建议先去查清楚定义,在此就不赘述了。

我该选择推免吗?

这部分我是从计算机专业的角度来讨论,其他专业的情况可能不同。

计算机的本科生大致有这些去向:工作、考研、保研、留学。关于大学的规划,我想推荐上海交通大学生存手册,写得很有启发性。

工作还是深造?

先看工作和深造的选择。其实在我看来,这两种选择没有明显的好坏之分。

学院里有一半的学生,都有能力拿到BAT、华为这类公司的offer,其中大多是开发岗。如果对编程有能力、感兴趣,把读研的三年用来工作,可以锻炼能力、升职加薪,外加拿到近百万的收入。

如果选择深造,你将来的核心竞争力就从编程能力转变为科研能力。研究生的就业情况我不非常了解(还没到时候。。)不过一般而言,相比开发岗,研究岗的工作内容不同,起薪更高,offer也更少。

选择深造,就是对你眼下能确定的、本科毕业的工作状态做一次不确定的变换。如果对现在能找到的工作不满意(内容、性质、薪酬等),不妨冒险变换一下,说不定会更好,或者说,你对现在能找到的工作越不满意,这个冒险就越值得。

从兴趣和能力上,我想我挺适合编程的,在大三前也没考虑过读研,直到保研的选项落到自己手里时,才开始权衡。相比工作,保研对我的吸引力并不更大,这也是我坚定保外的原因——能去更好的学校、找到更好的老师,读研才可能更值得。

哪种方式深造?

深造可以选择保研、考研、留学等方式。

考研是我不推荐的方式。在当前的研究生招生中,推免占据了一半的比例,好的导师已经招满了。“好”的定义固然因人而异,但是除非口味特别,否则很难找到适合的导师。如果你确定预定到了满意的导师(没有看错;他不会鸽你),可以跳过这一节。

不过,部分人是为了学校、专业的名气而考研的,更在意一纸文凭,而不是学到自己感兴趣的知识、能力,那么考研的目标学校需要满足这个条件:

获得的研究生文聘的收益+少许能力的提升>考上该校付出的努力+考不上的风险+给不喜欢的导师干三年活+推迟三年工作损失的薪酬和升职机会

我想满足条件的情形有这几种:

  1. 冲击层次高得多的学校,如华工考清北。
  2. 考同档次的学校,但已预定满意的导师。此时考本校的性价比通常更高。
  3. 对自己能找到的工作彻底不满意,考研寻求出路。

我一直以为,应当尊重自己、努力去选择一条自己感兴趣的道路。保研都很难选导师,遑论考研,一些考研人过于功利了。但是,越是好的环境,自身的能力越重要。即便不求月亮,想要便士,也要选一条有利于提升自己能力的路啊。

如果不差钱,并且凭自己的能力可以申请到比其他途径更好的学校和专业,那就留学。这部分我不很了解,建议理性对待,更要珍惜留学的机会。我身边有若干回国后找不到合适工作的例子。。

除了成绩,保研资格也有其他的获取方式:

  • 用竞赛、论文来优先推荐
  • 支教一年
  • 做两年辅导员

目前这些方式在我院只能保本校。

选择什么研究方向?

这个问题的难度和问高中生“大学选什么专业?”一样大,或者略小一点。因为,除非你真的从事了某个方向的研究,否则是无法确定对这个方向是否感兴趣的。不过,如果本科阶段在课余有探索的话,对一些方向会有初步的了解。另外,和选专业一样,我们也可以大概知道哪个方向热门、有潜力。

计算机专业常见的方向有:

  • 机器学习相关:理论、cv、nlp等
  • 高性能计算、分布式计算
  • 计算机网络
  • 其它各种

从导师的角度,还有一种重要的分法:做研究还是做工程。做研究以发论文为主,做工程以写代码为主。一般而言,研究生是做研究的;如果本科的编程能力不强,想继续锻炼能力,也可以做工程。不过与其给外包大佬干活,不如去企业上班,除非你很需要那张文凭。

推免流程

推免有这几个步骤:

  1. 暑假前,准备材料,报名各个学校的夏令营,注意截止时间
  2. 暑假,参加夏令营
  3. (9月,参加推免面试)
  4. 10月,在国家系统里确认offer

保研的各种信息可以留意保研论坛,计算机专业还可以关注王道论坛的保研板块。

保研夏令营

部分学校和学院会举办保研夏令营,具体时间和流程需要留意学校和学院的网站,一般报名工作在4至6月进行。

如果不是大大大佬,建议多报几个学校,这是因为:

  1. 名额有限,未必都能被录取
  2. 夏令营是选导师的重要机会,举办过夏令营的学校,九推的录取机会和有名额的导师质量都很有限了
  3. 不同夏令营间常有时间冲突(可能是一些学校有意制造的。。)

不同学校的筛选标准不同,但申请材料起码要符合夏令营通知里的要求。一些学校会有官方交流群,此时一定要加群,因为在群内会有更多细则,甚至可以通知管理员进行材料审核(比如科大)。

学校档次(C9、普通985、211、双非)、成绩排名、专业是否对口是筛选的主要筛选标准,一般的获奖和项目经历有多大用就取决于标准的弹性了。

一些学校的夏令营材料要求复杂(要校内推荐信),建议尽量报名,除非是成绩顶尖、对该校完全不感兴趣的大佬。因为报名越复杂,竞争压力就越小,很可能成为你的保底学校。

如果联系了导师,对方很想要你,进夏令营的机会可能会更大。(发现自己没进,记得第一时间告诉他。)

联系导师

联系导师的必要性和时机众说纷纭,这里谈谈我的经验。

导师通常很忙,平时回邮件的几率比较低,如果简历不亮眼,几率就更低了。。但是在夏令营举办前的一两周,往往更重视招生,甚至会建群、布置考核任务。

所以在4至6月,可以开始给导师发邮件,得不到回复也不要在意。而夏令营的前两周一定要发邮件,因为导师可能给你准备了考核任务。另外,周志华的lambda实验室一般五月就有面试,需要提前联系。

导师的回信周期最长能有一周,建议一次只联系学院内的一位老师,一周没回信再考虑换人。

如果在邮件联系时,对方非常热情,甚至抛出诱饵,请警惕。

导师的选择

导师是整个读研过程的核心,一定要慎重选择。

选择导师的底线是人品,如果有压榨、骚扰学生的传闻,不要侥幸入坑!

选择导师的过程是在充分搜集导师信息的基础上,以人品为底线,结合研究方向、管理风格、实验室氛围等等因素,做出自己的选择。

搜集信息的渠道包括但不限于:

  • 与导师面谈
  • 导师评价网
  • 实验室已毕业的师兄师姐
  • 导师简历
  • Google Scholar
  • 论坛、贴吧
  • 直接Google

有以下几点需要注意:

  • 要求读博的需要慎重
  • 当前在实验室的学生未必方便评价导师
  • 留意是否存在导师抢一作的情况
  • 注意辨别外包大佬

我自己的体会是,网上了解的信息只能做参考(因为很不完整),见面聊了以后,往往会有新的认识。

因此,导师真的很难选,不存在各方面都合适的,相对适合自己的就已经寥寥,还不一定要自己,这是妥协的艺术。

争取更大的选择空间,这是尽量参加夏令营、不推荐考研的重要原因。

面试的准备

首先要多看面经,比如这篇。了解面试的形式、问到的问题,保研的、考研的都可以参考。

编程能力一定要过关,不少学校或者实验室会安排机试,可以在PTA上刷PAT的题。

简历上提到的项目,要进行梳理和回顾。如果老师问起项目,清晰、扎实的回答能给你加分。

专业基础课要进行复习,包括:

  • 算法
  • 数据结构
  • 线性代数
  • 概率论
  • 微积分/数学分析
  • 操作系统
  • 计算机网络
  • 数据库

复习的重点是基础,越是基础的知识,越不能答错。如果确定了将来的研究方向,对该方向的基础知识要有所了解。

英语要进行准备,包括读些论文锻炼阅读能力、坚持口语练习。准备好英文自我介绍和常见问题的回答,还要做好随机提问的心理准备。。

参加夏令营前记得多打印几份简历,每次和老师面谈时都要给的。

我的推免经历

我是华工计院排名5%—10%的学生,拿过ACM省赛三等奖,课外有十个左右的编程项目。

我报名了科大、南大、上交、自动化所的夏令营。自动化所提交报名以后才发现有个推免群,里面有细则。。emm,反正也不是很想去。。上交的没过审核,所以我下面说一说科大和南大的面试经历。

科大

如果不是根本不想去或者明显申请不上,我建议报一下科大的夏令营,非常值得。

科大的报名过程属于比较复杂的,需要提交两封导师签字的推荐信,还有一个审核材料的QQ群,但是一旦参加了夏令营,基本就能拿到offer(至少我参加的18年计科夏令营是这样)。

夏令营为期5天,期间有学校参观、企业(科大讯飞)参观、计算机学院的实验室宣讲、导师与学生的自由交流,最后一天是学院面试,没有统一的机试。

营员的酒店住宿费全报销,有一张200的饭卡,还送了衣服、背包等纪念品,全程有热情的学长学姐做向导,真是非常用心了。

时间表上有一整天安排给了师生交流,但其实第一天起就有导师在面谈学生了。这里我更愿意用“面谈”而非“面试”,因为这是一个双向选择的过程,其重要性在上面已经说了很多。两个夏令营十次左右的面谈给我的感受是,百闻不如一见,见到的老师和从各种渠道感受到的形象往往大有不用,未必更好或更坏,但和想象的不一样。

一些大实验室会在面试前先进行考核,甚至考核任务在一两周前已经布置过了,这就是一定要提前一两周联系的原因(不论你在更早之前是否联系过)。考核内容一般有:

  • 读指定的论文,然后给老师讲解
  • 上机完成几道oj题

老师面谈时,通常先让我介绍自己的简历,然后询问一些和我的经历、和实验室的研究工作相关的问题。在回答以后,我会询问一下实验室的具体工作、老师管理实验室的态度等等,获得对实验室和对老师的更多了解。

最后一天的学院面试是分组进行的,每组有三个老师单独面一个学生。老师们都很温和,通过率也高,所以不用太过紧张。结合我自己和同学的面试经历,面试一般有这样的规律:如果你简历上的经历、项目让他们感兴趣,往往会围绕着它们来问;如果没有,就要问你专业基础知识了:)

科大夏令营不是只为抢生源的流程化面试,是用心准备的、丰富而有意义的一份礼物,我很享受也很感激。

南大

南大夏令营(网址挂了,可能没到开放时间)为期三天,在网站上填写表单即可报名,入营资格竞争更激烈。

夏令营的行程紧凑,第一天报到,第二天宣讲和师生交流,最后一天是面试和机试。当然,这三天的空闲时间都可以找老师交流,而且因为时间短,一定要利用好空闲时间找导师面谈。

我被安排住在南大校内的酒店,和很多大学一样,酒店相当豪华。。以后应该很少有机会再住。。

如前所述,lambda已经招过学生了,夏令营时在补录。我有幸和俞扬老师交流了一下。lambda有好几个研究方向,不过大都偏理论,我想我是不合适的。

一圈交流下来,感觉有不少做工程的老师,也不乏外包大佬。。大家注意区别,选择适合自己的老师。

南大夏令营的面试就有筛选性了,因为有三四百人进了夏令营。面试同样分组进行,一组三个老师。前面所述的规律仍然成立,多了一个英语问题。我为此练了2个月的口语,准备了自我介绍和各种常见问题(介绍城市、学校、项目)。但还是爆炸了。。问题是描述一种机器学习算法,然后我挑了neural network。。。

后来我想了一下,如果对自己的口语有自信,就选一个容易说的话题,比如决策树,但一定要讲好;如果没有,挑个难的,讲不好倒也情有可原。。

机试有三道题,难度大概是ACM的简单题和中档题水平,题目按通过的测试样例数量给分,每题100分,据说今年的分数线是160。我是260分,扣分的是第一题。。因为我直接用乘除法求组合数,溢出了,临交卷才想到杨辉三角,真是老了。。

听说每个老师都有一个指标,可以用指标招收学院面试没过的学生,如果担心过不了,或许可以问问老师。

关于offer

导师给你offer之后,都不希望你变卦。如果要鸽,越早越好,因为时间越晚,他就越难招到候补名单里的学生。从道德和名声的角度,我建议手里只留一个靠谱的offer,其它的务必及时谢绝。

九推

9月所有的学校都会进行推免研究生的面试,拿到夏令营offer的学校就不用参加了。

我报名了浙大的面试,不过面试在9月底才进行,考虑到选导师的难度、交通住宿、这么迟鸽老师太不合适等问题,最终并没有去。

最后一步是,十月在国家推免系统里的信息填报和志愿确认。

感想

在保研过程中,我觉得有两个最迷茫的时刻。一是在夏令营期间纠结未来道路的选择,二是被要求下周一签协议否则提交接收函的那个周末。

对于后者,我深感失望,不想多言。

对于前者,我想我不能确定做出的是最佳选择,但一定是较好的之一,已往不谏,接下来就是继续地努力啦。

祝愿大家找到自己的道路,前程似锦!