本文从blog.163.com/kazenoyume@126/上迁移过来

我是中山大学软件学院的学生,上个星期,thu和pku软院的拟录取通知书都到手了,保研之路也走完了。回想起这段经历,我所走过的路可真是错综曲折。真有山重水复疑无路,柳暗花明又一村的感觉。在此,我觉得实在很有必要写一篇文章,来让打算保研的师弟师妹们少走点弯路。

思想准备
既然你搜到我这篇文章,那么你或许是想保研的人。不过,你为什么不选择出国呢?出国的话,除了国外的学术水平也更好之外,在那里生活也更加的自由。如果你说出国要很多钱的话,那么我建议你去收集一下那些名校奖学金的信息。比如像加拿大、新加坡、香港这些学校,它们的奖学金是足够交学费和生活费的。在这里我推荐大家去看一下开复老师的这篇文章,再好好决定一下是否读国内学校的研吧。

保研第一关-外推资格
保研其实对学生硬指标要求非常高,其中最重要一点是推外资格。目前的国内高校,为了防止研究生阶段校内人才流失,采取各种名样的措施来缩减保外名额。比如我所在的中山大学软件学院,我们上一届只有4个名额(不分学硕与专硕),我这一届(2014年毕业)有6个名额,它只占学院人数的1%左右。保外政策依照学校学院的不同也有所不同,在此,我分析一下我本院的保外政策:

  1. 推外名额资格判定主要依靠GPA+课外科研活动加分之后所得的排名而判断。GPA就不用多说了,大一大二和大三上学期的课程成绩加权绩点。而科研活动加分,我觉得这个是最坑爹的地方。很多人都靠着这个,把裸GPA排名改成综合排名之后上升了10来20名。如果你是有心外推的话,我建议你参加那些水又容易拿奖的比赛,最好是国际级的。像我们专业,我了解的就有美国数学建模大赛、生物基因软件工程大赛、微软Image cup中国赛区。有空余时间的话,发几篇论文加加分也不错。
  2. 推外名额分配。我们是这样分配的,每个方向(我们一共有六个方向)先找出在该方向申请推外的综合测评排名第一的人,这些人先拿到名额。当名额有剩余的时候,再分配给各个方向的申请者。此时,申请者按照综合测评总绩点排序,按排名决定剩余名额的分配。
  3. 还有一种获取保外名额的方法,就是从保内转保外。这种方法要求申请人要拿到本校的保内资格,而且在10月底的时候放弃保内转为保外。但是,这种方法有一定的限制。很多高校需要在申请的时候附上本校的外推资格证明书。一般来说,这些高校的申请截止时间是9月下旬或者10月上旬。此时,假如没有保外资格,那么这些学校就基本PASS掉了。比如清华和北大是明确要求在9月17和9月20之前把外推资格证明信提交到该校的。

  不过,由于国内学校行政效率普遍底下。很多学校都无法在有效的时间内开保外证明信。所以,有些学校虽然明文规定在一定日期前要交外推资格证明书的,但是却可以推迟一段时间交的。这个情况我也不太了解,大家找下其他资料吧。

保研初试与复试
有了外推资格之后,就什么都好办了。保外的初试其实就是筛简历,简历做得简洁明了就OK。只要不是差得太离谱,这关都能过的。不过,清华北大对成绩特别看重,一般得在5%~10%之内。
保研的复试一般是面试。我就介绍我所报的专业情况吧。软件工程一般是以机试+面试的形式进行考核的。大多数机试是以ACM的形式进行。面试无非也就那几个,自我介绍(可能会是英文)-工程项目介绍-老师根据工程项目问学科专业问题。

保研流程
首先,在保研之前,大家应该需要知道好几个时间点: 1. 5月份-6月份,这段时间很多高校(比如说北大、交大)陆陆续续会开放保研夏令营的注册。保研夏令营是推外的一个很重要途径,它相比起9月份的推免生考试简单。而且,保研夏令营会预先分配几乎一半的保送学校推免名额给合适的学生。我当时就错过了这个时间段,没有参加保研夏令营。到推免生考试的时候,很多专业的好老师几乎都在夏令营里招收了大部份的学生,他们的名额就只剩几个了。导致我后来只能在有限的专业老师里进行选择了。 2. 7月份-8月份,保研夏令营。在这段时间里,大家就尽量在夏令营里面勾搭老师吧。有些学校,比如北大、浙大是以导师制的,只要导师说要你就基本保成功了。而有些学校是统一招生的,比如清华。勾搭那些学校的老师的作用是,你保送进入了该学校之后,学校能够分配那些老师作为你的研究生导师,而不是被学校随机分配老师。 3. 9月份底-10月份中旬,推免生考试。这个推免生考试是最后的保研手段了。此时竞争是最激烈的。就我所在的中山大学软件学院为例,这是我的保研日程:班级保研评定(7月初)-> 学院资格分配(8月初) -> 领取学校推荐资格信(9月10号前后) -> 清华北大推外生面试(9月24号前后) -> 其他学校推外生面试(10月上中旬) -> 根据收到的拟录取函前往全国教务系统网站登记被录取情况(11月) -> 对方学校发放录取函(6月)

我的保研路
其实我保研的想法是来得很突然的,保研的想法也是今年7月份的时候才有。在这之前,我完全没有了解任何有关保外的相关政策。也因此,不知道夏令营的消息,吃了个大亏。7月份在腾讯实习的时候,高强度的工作压力让我意识到,假如我现在就业了的话,那么我自主学习的时间就大幅减少了。而且,我觉得我现在这个水平还需要看多一点书,从而也就有保研这个想法了。中山大学的研究生不太想读,觉得没啥意思,保内也就自然放弃了。最后,我就选择保外这条路了。
保外这条路在我们院实在异常艰辛。上面曾经提过,我们院只有约1%的推外名额,推外竞争异常激烈。我这个保外名额的争取可真是历经干辛万苦才拿到手的。起初,我们学院公布只有4个保外名额,分配条件为所在专业申请保外第一。由于排我前面还有两个同学(都是室友),当时估计这个名额应该拿不到了。后来,学院的保外名额又改为6个推荐资格,这个推荐资格是意味着不一定能拿到保外名额的。而且,6个推荐资格只有1个是分配到我们方向的,那我肯定拿不到了。期间,我曾经想过多种办法请求学院那边给多点名额,咨询老师和教务处、写信求助院长这些事情都做过了,但还是还是没有好的结果。不过,幸运的是,最后推荐资格班级汇总名单中,出现了数字媒体方向放弃推荐资格和计算机应用与软件放弃其中一个推外资格这两个情况,所以,这两个推外资格又自然多出来了。多出来的推外资格由于是全级竞争的,凭着我的硬实力,我拿到了这两个资格的其中之一(另外一个是我室友,就是说我们宿舍拿了学院推荐资格的一半)。
来那段时间便是复习专业课和准备保外材料的了。专业课的复习很无趣,很多东西其实看一下又记得起的了。当时感觉复习专业课有点浪费时间。在这期间,我也重新看了下以前自己做过的项目。幸运的是清华的面试题目刚好问到项目里面的某一个专业基础问题,感觉这些时间并没有白费掉。准备保外材料非常麻烦,经常要到学院楼和教务处两边跑的,这个准备了大概3-4天的样子。
后来我就飞到北京那边面试了。23号清软机试,机试形式类似NOIP,就是直接派卷子做题,时间结束后利用测评机测评你在机子上写的代码。机试坑爹的是,那边的并没有清初地说明输出格式的要求。而且,机试第二题存在无解的情况,然而,题目并没有要求考虑这种情况。再加上自己发挥有点不好,第一条水题居然没想到一个很简单的东西,而第三道难题我又写漏了x<0的这种情况,机试的成绩不太理想。
24号的时候清软面试。刚开始用英语做自我介绍的时候,老师居然要求我用中文进行自我介绍。我并没有准备中文的自我介绍,这时候我就有点慌了。不过,我还是现场一边翻译我自己写过的东西,一边进行自我介绍混过去了。自我介绍过后是介绍我做过的项目,我挑了pintos(standford cs 140)进行介绍。我曾经介绍过这个项目2次,凭着以前的经验,介绍的时候我表现还是不错的。后来有个老师看到我简历上写美国数学建模大赛一等奖,于是便问起我设计的模型来。我回答了之后,他感觉不太满意。他说我的模型没有明确的数学公式表示,只是单纯的模拟,没有什么技术水平。哎,事实的确是这样那就没办法了。不过我倒说了句自己觉得很牛逼的话进行补救,“以我目前的数学水平,我的确不能设计出什么高深的模型。但是,正是由于这样,我才想读研。我才想在研究生阶段把自己在数学方面的不足补上”。那个老师后来便没再问什么了。之后,又有一个老师问我想做什么方向。我说操作系统,包括文件系统、网络文件系统blahblah。然后老师便问了我一个专业基础问题-在一个进程里面,有什么东西在线程独享的。刚开始的时候没弄懂题意,说到文件描述符那个方面上去了。后来,那个老师再重复多一次那个问题之后便明白了。我回答完之后,老师便说了“基本可以”。当时也觉得应该有八成的把握吧,呵呵。
28号北软面试。先是英语自我介绍,然后是介绍项目。这次,由于有了清软的把握,而且也不太想去北软大兴区的考虑,便开始想玩玩来着了。我挑了我在微信实习所做的key-value server作为项目介绍。不过感觉老师觉得我做的东西太小儿戏了,有个老师老问我这个东西为什么叫服务器,我解释了好半天她也不懂。另外有个老师问为什么不在微信里面用mysql。当时我只回答了为了跟踪业务逻辑、查找业务的bug这个原因。感觉他不太满意。后来又把我这个东西跟reddis相比,问我为什么要自己实现一个。我当时真想说,大哥,这个只是微信的training project啊,我根本没有部署到生产环境中。不过他之后还现场教了我怎么优化我的server,感觉这个老师还不错。
虽然我还投了浙大cs,但是在30号的时侯,清软那边便公布拟录取名单了。当时知道自己被录取之后,就马上不去浙大复试了(如果可以报销车费的话,我或许考虑下去旅游XD)。

平淡无奇,这就是我的保研路。