超详细保研经验,中科院、北航、清华夏令营及推免过程

前言

写这篇经验贴的目的

在保研路上走过来不禁感慨一路上需要了解、注意的地方真的很多,看各位学长学姐的经验贴真的给了莫大的帮助,本着乘凉不忘种树人的原则,在保研结束以后,写这篇经验贴为以后的学弟学妹提供一些经验和帮助,同时也是自己的一篇回忆录。

本篇经验贴所有内容仅为个人理解和经验,未必十分准确,仅供参考

正式开始之前

首先说明笔者本科专业是软件工程,本科为上海某985,本篇经验贴尽量写到一些所有专业都涉及到的注意点,但是还是主要针对计算机类专业的注意点,其他专业的同学可以参考整个过程。

按理说保研本校也还不错,我们学院最近好像收分也提高了不少,感觉比以前受欢迎了,但是因为某些原因本人必须去北京读研,因此挑了几所北京的学校尝试一下。挑选的时候没想太多,无非是第一目标加备选目标以防万一,第一目标选了清华软院,没报贵系是因为贵系只有学硕在北京本部,专硕是在深圳研究生院的,万一被分到深圳就很尴尬了;备选目标当时只选了北航计算机,因为听说北航计算机的实力还是很强的;后来经一些朋友提醒觉得中科院也还不错,但是因为之前没有了解,就随便报了个软件所,也是比较佛性了,后来知道计算所和自动化所也都是很不错的所,当时还有些后悔没去尝试一下。也提醒学弟学妹们如果有保外校的打算的话认真查好所在专业比较好的学校和学院,不要像我这样因为懒而浪费了一些机会233。

关于保研和夏令营的认识

不知道阅读这篇经验贴的同学处于大一大二正在计划还是已经大三开始准备了,为了照顾到了解较少的同学还是多说一点关于保研和夏令营认识层面的废话,清楚的同学可以直接跳过。

保研

保研与考研的异同

本科毕业深造党无非三种出路:考研、保研、出国。

出国暂且不谈,先简单聊一下考研和保研的异同吧,关于考研方面的内容可能不是很准确,信息大多来源于身边同学聊天,仅供参考。

保研与考研的不同点:

  • 从准备时间上来看,保研大概要从大一入学开始着手准备绩点、竞赛、项目经历和论文,而考研要最晚从大三开始准备复习,哪一种更省力还真不好说,反正我个人觉得保外校研也累得够呛。不过有志于保研的同学一定要从大一开始打好基础,最起码GPA不能差了,其实单纯的GPA没什么用,重点是体现在排名上,申请的时候只看排名。越是好学校竞争越大,厉害的同学越多,拿到高的排名就越难,好在你本科学校越好对排名的要求也会相对低一点。
  • 从冲刺时间上来看,保研重点的夏令营、复试只在7、8、9三个月,而且复习的压力不会特别大,而考研大概从大三下结束开始一直到12月份都是冲刺阶段,需要花很大的心血和毅力坚持复习。
  • 从考试内容上看(仅针对计算机类专业),保研的夏令营、复试大多是上机考试+面试,少数学校有笔试,机试面试内容可往下看;考研的考试内容大多就是数学+专业课+英语+政治,难度应该是比较大的。
  • 从时间节点上看,保研从4、5、6月份开始申请夏令营,7、8月份参加夏令营,8月份公布夏令营结果并可以申请九月推免复试,9月中旬左右推免复试并在本校申请保研名额,九月下旬公布复试结果和保研名额申请结果,9月底在教育部系统上填报保研志愿;考研应该是12月份考试,来年3、4月份复试,后续不太清楚。
  • 从可以申请的学校选择上来看,保研是不受限的,你想申请几所就申请几所,只要保证学校之间的夏令营或者九推复试不互相冲突就可以参加多个,也可以拿到多家学校的offer然后从中选择心仪offer填报志愿;而考研的话,我简单的了解好像是只能报一所学校,报考学硕可以调剂志愿,而报考专硕不能调剂志愿,考不上或者考的结果不满意的话可以考第二年,但是第二年因为已经毕业了,所以学习环境不如在学校里那么好,还是比较辛苦的。

保研与考研的相同点:

  • 从复试的角度看,二者都有复试,并且复试的内容大致一样,考研复试的机试面试应该会比保研的简单一些,复试经验可供参考。
  • 从学生准备角度来讲,二者在复试之前最好都联系好导师,研究生尤其是博士重点都是跟着老师做事情,选好导师很重要。
  • 从选择来讲,都可以选学硕和专硕,也都可以选全国范围内所有的学校,但都要量力而行。
  • 从结果来讲,保研考研通过之后,入学以后都是一样的。

保研本身的划分

从学校来讲就是分保本校和保外校。大概是从几年前开始,保研就不分保本校和保外校了,只要拿到保研名额,那么保本校和保外校是都可以的。

这里重点说一下,保研的资格确认是一个双向过程,你要保证自己能够拿到本校的保研名额,相当于你能“走出去”,还要保证拿到目标学校的录取资格,相当于“走进来”,而保外校的话,拿这个录取资格就是通过夏令营和九推复试,这两项基本上都在拿本校的保研名额之前进行。

那么很显然,拿到本校的保研名额,你能“走出去了”,那么想去哪儿就看你的意愿,能去哪儿就看你的能力,本校外校都是可以的。你所要做的就是做好规划,保持奋斗与努力。

从目标学位来讲,保研可以保送研究生,也可以选择直博,也就是保送博士生,前者两年半,后者五年。这里提一下我所了解到的直博、硕博连读和考博的区别:

  • 直博是你本科毕业后直接读博士学位,毕业了之后好像是没有硕士学位的,也就是说你如果博士没毕业,那连硕士学位都没有。不过大多数学校来说,如果你博士真的毕不了业,可以申请降低为硕士学位。直博要求是最低五年,但是有些博士因为导师要求(而不是论文不够毕不了业)不得不读六年甚至更长。
  • 硕博连读就是先读硕士再读博士,硕士学位博士学位都有,其实就是学硕了。读学硕是可以转博的,但是应该也有个什么考核,具体不太确定。这个好像最低是六年。
  • 考博就是专硕同学们的选择了,如果读了工程硕士又想读博的话,就要像考研一样考博,这个每年名额都很少的,难度应该也是比较大的。这个可能是六年半。

从上面这些信息来看,有读博打算的人最好是直博,时限低,只要不遇到强烈要求你再留一年的老师应该是可以五年毕业的。现在有一些职位比如大学老师是要求必须有博士学位的,比硕士多两年半的话也不是不可以接受。如果是有志于科研的同学,那读博是必然选择。

夏令营

​ 我当时参加夏令营之前只知道夏令营会有机试面试,其他具体就不清楚了,相信刚开始准备保研的学弟学妹也有可能会有类似的疑惑,我就赘述一下对夏令营的理解。

​ 有的学校说夏令营是招生预选,有的说是为正式招生做准备,其实夏令营就是第一批招生,与高考报志愿的时候提前批是一个意思。大多数学校都会在夏令营的时候选出优秀营员,有的是直接给优秀营员发offer,这个offer你拿到了就等于拿到了拟录取资格,再拿到本校保研资格就稳稳能上了;有的是给优秀营员招生优惠,这种针对考研党更多一点,还有的学院不选优秀营员,只会在夏令营的时候提供学生一个了解学校和学院的机会,以及让各位老师了解学生的情况,比如清软。

​ 另外,由于每个学校的招生名额都是有限的,所以第一批选择很重要,像中科院软件所,其实在夏令营的时候就确定了它今年80%的招生名额了,那么很显然如果你没参加这个夏令营你被录取的难度就会大大增加。所以夏令营还是要参加一下,如果没能参加,9月份再去尝试推免复试也是可以的,只是招生指标会受限,有种捡夏令营剩下的感觉……当然,也正是因为顺序的问题,第一批总会比后面的难进,要求也会相当高一点。

下面进入正题,讲保研经历,先从夏令营说起。

报名阶段

​ 因为招生策略的不同,各个学校的各个学院是否举行夏令营、举行夏令营的时间都有所差异。大多数夏令营会选在7月份进行,少数会在8月份,比如 中科院软件所和自动化所都有两批夏令营,一批在七月份二批在八月份,建议是能报第一批就报第一批,好的老师和实验室都在第一批被选了,第二批没剩下多少,至于九月份推免复试可以算作第三批那就更没东西了……

​ 而报名时间一般最早在4月份,一直到6月份都会有学校/学院/研究所陆续开放报名夏令营,比较拖沓的比如北航甚至可能到7月初都还能报名……

​ 报名是去各自的学校或者学院官网上看具体要求的,因此从四月份开始就要关注好你心仪的学校学院网站,最好是学校的研究生招生网和学院的招生信息一起关注到。申请的时候看清要交的材料,提前复印好奖状之类的,省的来回跑,推荐信什么的提前写好找老师签字,自己学院的老师一般都愿意给你签字,但是信的内容一般你自己写,最多老师提一点修改意见。

​ 报名夏令营可以多选一些报名,我当时报名的有清华软院、中科院软件所、北航计算机、南大软院、上海交大电信学院、本校本学院,最后的夏令营录取还算满意,全都通过了。后来打算去的有清软、软件所、北航和交大,其他因为时间冲突都没去。

清软夏令营

今年清华软院是第一次有夏令营,往年从来没有过,因此网上也没有什么经验,最坑的是夏令营时间还非常早,在6月9号和10号,当时我学校里还一堆项目没搞定,结果还要跑来北京参加夏令营,提前也没时间做多少准备,可以说是很仓促了。

不得不说,清软就是有钱,报销来回车票,可以报销高铁,这一点好像其他所有夏令营都没有。以及管住宿,住在清华内部的照澜院,有点像宿舍,四个人一间,住宿条件不算特别好,但是也还不错了。

本次夏令营是博士夏令营,但是没有正式offer,既不是提前招生也不是提供招生优惠,更多的是提供一次老师与学生交流的机会。当然如果你足够优秀,让老师觉得你足够资格做他的博士生,就会有老师给你发口头offer,那么你九月份就可以放心大胆地报他的直博生(还是要来复试,但是老师已经愿意要你的话,复试相当于走形式,只要表现不太差,都没问题),清软的老师一般不鸽人。这也是硕士与博士的区别,博士更重要的是老师的意见,老师觉得你OK,老师要你,那就没问题,主要看你能不能让你的导师满意;而硕士招生老师的意见仅供参考,主要还是赤裸裸的考试+排名,按照名额硬排,考上了就上考不上GG。

尽管如此,本次夏令营还是有机试和面试的,这些也是让老师认识你的途径。由于来之前的准备不是特别充分,机试难度也是有的,机试做的不是很好,一共四道题,三个小时,前两道题还行,第三题出来才发现题意理解的有问题,第四题感觉应该是要用个最短路算法,然而我连最短路算法有哪些都忘了……更别说写了……难受。这里不得不提一句,搞ACM竞赛的同学真是有天生的优势,夏令营宿舍一个ACM金牌选手貌似一个半小时就做完了四道题,提前交卷出来了……而我三小时了还在挣扎,最后自己在写一个瞎编的最短路算法,跟人家熟门熟路信手拈来还是有很大差距的。出来以后看了看最短路算法,确实是以前学过的,也自己写过,只是时间长了用不到也不复习给忘了,尴尬。如果复习到位的话应该是可以做出来的。具体题目网上好像是有的,感兴趣的同学可以查查看。

夏令营宿舍还有一个牛逼的,本科发了三篇paper,好像至少一篇是一作,面试之前就直接被清软院长联系,面试之后直接发了口头offer,尽管人家机试好像跟我差不多,但是人家有科研能力证明,论文真是硬实力啊。

面试感觉还不错,自我介绍完了就是主要问一些项目经历,估计有论文的话就是问论文,有ACM经历的话可能也会问一些ACM经历,除了ACM其他的竞赛基本上都不入眼,说实话好像ACM也不是太被认可,主要还是论文最被重视。然而搞ACM的机试都不会差,一个高的机试成绩自然也会容易引起老师的注意了。

总体来说表现也凑合吧,不算很突出的,但是最起码是有机会的。面试完了就是老师学生交流环节,可以自由选择老师交流,我的话是找了提前联系的一位老师,可惜该老师比较抢手,已经有清本的同学找了,而且该老师只有一个直博生的名额,那自然我是没机会了,但是跟他聊完以后也到五点多了,我七点的高铁回上海,也就无奈返回了。这里提一句,直播的话选老师很重要,我选的这位老师比较厉害,研究方向也比较热门,夏令营就有好多外校的同学都找,清本的也有两个找,竞争很大,就很难拿到机会。有些老师相对竞争小一点,还是有希望的,夏令营有个同学就很聪明,找了个相对竞争小的老师,进了老师的实验室,暑期在那里实习,估计是稳了hhh。

参加此次夏令营也是越发认识到了准备充分有多重要,没搞过算法竞赛,没搞过论文,如果再不做好十足的准备,出去真是被碾压呀233,其实本来也没有很坚定的直博的打算,毕竟读博耗时还是很长的,没有坚定的科研精神的话还是不建议直博。

在这里还是忍不住吐槽一句我们学院大三下还是很忙,项目还是很多,真的是搞的人没时间复习,而且绩点还不能落下,否则保研资格都拿不到了。

中科院软件所

​ 今年的软件所夏令营分成了两批,我是第一批,7月9号报道入营,尴尬的是我大三下最后一门课的答辩正是9号上午,买了中午的高铁,答辩完赶紧打车去虹桥,一路上疯狂催师傅快点,最后总算赶上了,刺激。软件所管吃管住,报道的时候发了张食堂卡,里面有钱,不花的太大手大脚的话是够你三天吃饭的,住宿在中科院的研究生宿舍。入营之前莫名其妙被选了做本次软件所的夏令营营员代表,要在夏令营开幕式上代表学生发言,然而我之前都在准备课程答辩,于是只好报道完了那个晚上在宿舍写了写演讲稿,第二天硬着头皮上去发言,总算没给母校丢人。

​ 软件所的各个实验室的介绍是比较长的,算上开幕式要一天半的时间,然后就是它的考核形式是各个实验室分开的,因此考核开始之前会有一个志愿选择,实验室有软工中心、国重、天基、系统等等几个,来之前我其实也没花时间了解,听大家说软工中心是最好的,上网查了一下口碑确实也不错,好多人说就业质量不输给清华北大,看了看官网公布的研究所就业信息,确实不错,于是就报了这个。有意思的是本次夏令营一共140+人,报软工中心的就有七八十,一共七八个研究所,其他实验室真是情何以堪啊hhh。

​ 因为招生指标有限,软工中心只会招10个人左右,于是后来很多人知难而退去别的实验室了,真正去软工中心的最后好像是三四十人吧。软工中心的考核也是最多最麻烦的,要笔试、机考、面试三次考试。其他所有夏令营几乎都只有机考和面试,就它还多一个。

  • 笔试,内容就是大学本科学的那些计算机相关的专业课知识,包括操作系统、计网、数据结构等等,还会有数学方面的和英语翻译题等。难度不是特别大,但是要在规定时间内做完做好的话还是需要一点复习的。

  • 机考,一共两道题,一个小时,考的题目比较简单,具体题目我忘记了,其中一道好像是跟二叉树有关系。可以用C++或者Java,我本来选的是C++,结果那台电脑上C++环境出了问题,我就改用Java写了,还好简单hhh。

  • 面试,提前准备个人介绍PPT,个人介绍完了之后就是老师们问问题,大概有六七个老师,但是主要是三四个老师在问。软工中心比较看重学生的实践项目能力,因此面试过程中对项目经历的问题比较多。其他同学好像都是15分钟面试时间,我可能比较能讲,跟老师们聊起来了,面了我三四十分钟,在里面的时候没感觉到时间,出来后感觉应该是稳了。这里提一下我面试的感受就是讲项目的时候自己尽量掌握一些主动权,主动介绍自己最熟悉的部分,当然,提前的充足的准备是少不了的。

​ 本着不浪费的原则,看从软工中心出来了时间还早,就又去勾搭了一个国重的老师,国重实验室都是老师自己出题考察学生的,这个老师没有机考,一个笔试一个面试,完事就只收一个学生。下午完成了老师的考察,晚上老师叫我过去说我是考察的几个人里表现最好的,问我愿不愿意直博,emmm除了清华的直博别的我是都不愿意的,老师还是很负责任的跟我讲了读博的种种好处,我说我回去好好考虑考虑,过两天给老师答复,结果老师第二天就以觉得我读博的念头不坚定的理由让我不要报他了hhh。当然国重没有软工中心那么火爆,虽然错失了这个机会但是也没觉得很可惜,因为对自己还是有点信心的。不过我父母知道了之后把我骂了一顿,怪我不好好把握机会,这也是题外话了。

北航计算机

​ 软件所13号结束,北航13号报到,13号上午在软件所退宿完了打了个车就去了北航,中科院和北航是邻居来的,要不是拎着个箱子走着去也是完全O得K。

​ 上午就是在北航的一个报告厅听各个实验室的研究方向,这里因为我提前联系过北航的老师,而且来之前跟北航那位老师的博士生电话面试交流过,所以算是有目标的。

​ 下午机考,两道题,两个半小时,题目也不是很难,比较坑的是北航的机试是提倡用C语言的,这玩意儿不用很久了,好多细节处理都忘记了,好在今年也允许用C++,只是不允许用STL罢了。题目我还依稀记得一点,大概意思是这样的:

  • 第一题是学生座位表排序,有学号、姓名、学习成绩等数据,按照一定的规则排序,输出排序后的座次表。可以使用STL的话,直接定义一个学生的class重写一下<再用sort排一下就行了,不能用也不妨碍,大不了重写operator之后手写一个排序嘛,写排序又没啥难度。
  • 第二题是字符串处理,来之前在网上看经验贴知道北航很喜欢考跟字符串处理相关的题目,因此提前做了准备,很快做完了。具体要求大概是对一个字符串进行插入、删除、编辑等操作并且可以撤销,提前输入一组操作表示已经进行过的操作,然后再读入接下来N个操作,稍微注意下撤销,维护一个数据结构保存一下历史操作就好了。

​ 两道题都不难,从归类上来讲一道跟排序有点关系,一道跟模拟有点关系,美滋滋快速做完悠闲划水到考试结束。考完离场在电梯里听到有人抱怨机试怎么这么难啊,后来听说还有考完机考觉得不可能过直接回家了的…… 后来看夏令营录取名单的时候发现确实生源质量参差不齐,这也怪不了北航,听说夏令营全国有两三千报了北航,最后只录了400多人进夏令营,如果我是招生老师大概筛选也筛的头疼死了。

​ 北航的面试属于压力面,老师会问一些比较难的问题,而且如果你答不上来就会一直逮着你问,这个与软件所还是不太一样的。面试流程如下:

  • 面试大概有五六名老师,进去之后要检查一下身份证,然后开始自我介绍,你在自我介绍的时候老师们应该都在看你的简历,自我介绍挑简历上最重要的和你最熟悉的讲就没问题。
  • 自我介绍完了是一段计算机相关的英文阅读并即时翻译,一张A4纸上一大段英文paragraph,考察你的口语和英语阅读能力。个人英语还算不差,阅读和翻译都基本上没什么障碍。
  • 北航还有比较红专的一段就是要问你一个政治问题,具体就是在一摞问题里面抽一张然后回答,类似“你觉得新时代的大学生应该如何紧跟时代潮流,奋勇争先”、“如何看待习近平总书记……的讲话”、“十九大精神提出……,你有什么看法”等等这类的,建议进去之前先看看,最起码万一抽到准备的相似的还可以扯一扯不至于无话可说。当然这一个只要你回答的没有政治问题没有明显错误都不会刁难你。
  • 然后就是比较给压力的专业课知识问答,有的组会问高数、离散、组合数学相关,而且问的问题绝对不算基础简单的那种,有的组偏向问机组、编译原理、计网、操作系统等专业课,当然更多的还是都问。我主要被问了一些数据库相关的和一些数学问题,数据库的问题老师有点咄咄逼人,后面一个问题比较冷门,我还真没准备到,就胡扯了一些,但是还是说明自己不够了解,一个女老师对此不屑冷笑“呵,你还是回去好好看看书吧”,我尴尬一笑跟老师说好的,其他老师笑了笑,也没对此表示不满。
  • 然后就是项目相关的问题,这又到了我掌握主动权的时候了,一有老师开始问我就开始滔滔不绝说我做了些啥,与其他人相比的优势是啥,亮点是啥,用了些啥,成果怎么样等等等等,直接把老师可能问的问题都自己交代清楚了,老师没问几个问题就发现没问题可以问了。而且我自己主动介绍也比较有利于介绍我熟悉的地方,以防老师问到我不熟悉或者冷门的问题,避免答不上来。这一点我觉得我的做法还是比较明智的,其他同学大多数是被老师牵着鼻子走,我是属于比较主动出击的那种。当然这个过程要注意谦逊和老师的表情,如果老师开始不耐烦了就赶紧讲下一个方面,不要讲太多废话,那只会让老师觉得都是bullshit。

​ 面试完了出来,感觉又稳了,毕竟虽然是压力面,但是我也就一个问题回答的不是很好,相比其他同学有的从英语开始崩一直崩到项目介绍应该是好多了。

交大的遗憾(一些废话,看经验的朋友直接跳过)

​ 北航是14和15号面试(因为人多),16号填报志愿选老师,交大是15号报到,我本来觉得自己怎么也不至于被分到15号下午,因此是肯定来得及去交大的,结果刚好就被分到了15号下午…… 我真的是无语问苍天,而且北航特别死板,不允许调换面试顺序。

​ 没办法只能不停给交大打电话,结果14号是周六,人家不上班,15号我快面试了才联系上交大的老师,因为我北航面试完了再赶回上海至少得十一点了,所以只能16号报到,还好交大的负责老师人很nice,让我16号上午去听报告的时候拿报到材料去找她,她帮我办,然后我就安心面试完了北航,坐上了回上海的高铁,准备去交大夏令营。

​ 戏剧性的来了,北航15号晚上就出了优秀营员的结果,不出所料我在名单上,结果我爸妈都觉得上次没马上确认是不保险的一件事,因此不让我回上海,要我马上回北京跟北航签意向表把这件事确认下来,我考虑了一下,反正我是必须要去北京的,已经拿到北京的学校的offer的话,哪怕交大过了也还是要选北航,还真不如回去确定下来。于是到了南京我就下了高铁,买上南京到北京的动车连夜赶回北京,第一次坐动车软卧,挺舒服的hhh。

​ 回到北航以后,没签之前联系的那个老师,签了另一个感觉也很6的老师,是北航研究所院的副院长,北航一个北京重点实验室的老大,身上一堆title,不过年龄偏大,估计是手下的小老板带我们。当时还是挺满意的。这么折腾也怪我自己没想好,既然有自信通过就不应该回上海,不过人也都有惯性思维吧,本来已经定好的行程不来点刺激还真没主动想改。

​ 但是话说回来还是很遗憾的,没去交大体验一把,而且感觉很对不起交大的负责老师,虽然后来跟老师说明情况道歉了,老师也表示理解,但总觉得是一件蛮遗憾的事情。相比北京来说我还是更喜欢上海这座城市,但是,没办法嘛。

咸鱼八月

​ 从北航回来以后就进入咸鱼模式,在宿舍休息摸鱼了几天开始实习,实习的时候无非就是公司里那些事情,就不多说了。八月初的时候软件所出了拟录取结果,果然拿到了软工中心的名额,然后我对比了一下软件所其他实验室、北航计算机与软工中心的录取生源,发现差距还是蛮大的。北航和其他实验室录取的学生里985/211都有,而且好多我没太听说过的学校,而软工中心的话基本上都是985,而且是985里面比较好的,比如上交武大等。

​ 八月底清华的推免报名开始,到9月7号报名截止,于是请了一天假搞各种材料,盖章开证明之类的,还好学院的老师人都比较nice,没费太大功夫,顺利报上名。本来心里想着7号结束报名怎么着结果也得十几号才出来,接近20号才复试吧,还可以多准备几天。然而7号晚上就出结果了,14号机试、15号面试,我本来只是登上报名网随便一刷新,结果看到“已通知复试”的显示吓得我赶紧开始准备复试。

​ 吃过上次清软夏令营的亏,这次去之前认真复习了算法,认真刷了一个星期的题,偶尔(实则经常)上班时间偷偷刷题,惭愧惭愧。

清软九推复试

​ 清软还是一如既往的时间安排紧张。同样是两天,没有报告没有介绍,第一天上午资格审查报道,下午机考,第二天上午面试,结束。

机考三道题,感觉难度比夏令营的要低一些。

  • 第一题,特殊日历。有一种特殊的日历法,它的一天和我们现在用的日历法的一天是一样长的。它每天有10个小时,每个小时有100分钟,每分钟有100秒。10天算一周,10周算一个月,10个月算一年。现在要你编写一个程序,将我们常用的日历法的日期转换成这种特殊的日历表示法。这种日历法的时、分、秒是从0开始计数的。日、月从1开始计数,年从0开始计数。秒数为整数。假设 0:0:0 1.1.2000 等同于特殊日历法的 0:0:0 1.1.0。 这题就是重点要理解题意,第一句话一天是一样长的很关键,我一开始用秒换算结果怎么都不对,后来又看了一遍题意稍微调整一下就行了,其实日期和时间分别换算一下就OK了。
  • 第二题,讲了一下麦森数背景,其实麦森数跟题目没啥关系,实际上就是求2的p次方-1(p大于1000小于1000000)的位数和按每行50个的格式输出后500位,不足500位的高位用0补齐。我的做法就是简单的大数运算,为了提升效率,可以用一个int值存储多个位的结果,可以避免超时。
  • 第三题,动态规划,leetcode上有原题,一模一样,不过是中文翻译过来,连测试数据都不带变的。参考Burst Balloons

​ 啊,这次机考可以说是比较顺利了,三道题都会做的感觉很舒服。不得不说,准备到底是有用的。另外leetcode真是个刷题利器,从春招秋招到保研复试都有可能考到上面的题目,建议大家没事的时候多上去玩玩,绝对不亏。

面试跟夏令营有所差别,也是五六位老师,流程如下:

  • 进去之后自我介绍(中文,近几年好像清软都不需要英文自我介绍,改成英文问其他问题了),同样是按照简历怎么怎么样,已经进行过很多遍了,熟门熟路。
  • 然后老师开始问专业课方面的问题,跟北航的问法差不多,但是不至于咄咄逼人,涉及到离散数学、编译原理、数据结构、计网、操作系统等等。
  • 然后是简历上的项目相关,又到了我完全不虚的时候了,自然又是一波嗨聊,中间有个老师提了一个确实比较有深度的问题,我简单谈了谈我的想法, 老师觉得并不是特别完善,问我还有没有进一步的方案,我没想到,也大方承认了,老师点头表示OK。
  • 最后是一个英语问题,问的是项目里用到了哪个算法,然后介绍一下该算法的核心步骤和思想,英语问英语答,还好我面试之前提前把我项目里的算法都看了一遍,虽然没有准备英语版,但是现场翻译也不是很虚,于是还算流畅的回答了出来,老师点头表示OK,就面试结束出来了。这里提一下,老师问项目经历的时候一看你做了什么,二看你的算法,并且基本上都会问算法的详细内容,好好准备一下。

面试完后,真的是一身轻松,压力骤减,感觉整个人心情都好了不少,能不能通过自然听天由命了。

大概一星期后,收到邮件通知,通过了,也算是不出意料,毕竟机试和面试的感觉都还OK。

个人总结的一点经验

参加了几个夏令营和复试之后,对保研的这套流程也算是熟悉了,有一些机试面试和学校选择的经验跟大家分享一下。

学校选择

  • 关于成绩标准:不同学校的要求会不一样,当然越好的学校要求越高,一般官网上会公布一个最低标准,但是这个最低标准一般是针对985的,211要更严格一些。像中科院、北航的话一般要求985至少是年级前10%,211至少前5%;而像清华的话一般985至少是前5%,211至少前3%,当然事无绝对,清华嘛,报的人终归是会很多的,据我观察985至少前五左右才有希望,211一般第一第二才可以尝试下。你本科的学校越好,对方学校的要求就相对来说越有可能会低一点,清本的大佬想保研的话,不说是想去哪儿去哪儿也差不多hhh。成绩是门槛,要跨过这道门槛才有机会谈剩下的一切条件,否则一切休提。另外报名夏令营的时候是大三下学期,因此看前五个学期的成绩;报名九月推免和申请本校保研名额的时候是大四上,因此看前六个学期的成绩,所以大学前六个学期每一个学期的成绩都很关键。
  • 关于经历:我觉得按照老师们的重视程度,本科经历里的排序是这样的:论文>项目经历> 竞赛,至于什么学生会、班委、社团方面的工作,一概无用,反正我是没遇到任何一个老师对这方面表示感兴趣,也没有因为这些工作而得到加分的。
  • 关于选多个学校:之前准备保研的时候在网上看到好多学长学姐有申了好多学校的,最后也拿到了好多offer。我个人觉得没有必要申太多的学校,最理想的学校肯定要申,此外申一些也觉得很好而且比较有把握的作为保底就好了,拿太多offer的话会挤占其他同学拿offer的可能性,而且最后要跟老师说明情况放弃offer,个人觉得终归不是件很厚道的事情……个人觉得申3到4个学校差不多了,跑多了也很累的。当然如果有乐在其中的同学,也可以多跑跑。

机试方面

  • 往年的题十分有参考价值,准备机试一定要看往年的题都有些啥。比如北航,往年就喜欢考字符串处理类的,我考试之前就把C++常见的字符串处理函数全看了一遍,之前会的不会的都掌握了一下,考试的时候就很轻松,十几分钟就搞定一道题。比如清华,每年必有动态规划,我就疯狂刷动态规划的题目,果然考到了。
  • 今年清华的复试机考十二点半开始,我在做题的时候脑子有点蒙蒙的,后来听一个一起参加了三个夏令营/复试的战友(ACM大神)说考前吃饭影响思路,我觉得好像很有道理,因为我考试之前刚吃完饭……虽然我是没机会尝试了,但是大家可以尝试一下。
  • 基本上所有学校都允许用C++,但是其他语言都不一定,所以C++练熟练好非常有必要。

面试方面

关于面试的技巧,我就按时间节点分,面试之前、等待面试和面试中来说吧。

  • 面试之前。最重要的一点是提前准备好个人简历,简历上必须写清楚你的突出信息,论文/获奖/项目经历尽量放在显眼的位置。提前多看一些面经,像本篇经验贴,搞清楚老师可能问什么问题,提前准备。有论文的话必然问论文,没论文的话必问项目经历,如果项目经历也没有应该会问竞赛,再没有就只能问专业课知识了……
  • 等待面试。因为面试存在顺序问题,后面的同学可以多向前面的同学请教面试经验,毕竟网上说的再多也是往年的,谁知道今年人家怎么安排的,肯定是与你同一批面试老师的同学的经验最有价值。同学们之间都还挺友善的,基本上问了都会回答。针对问到的结果对准备做一些调整是很有帮助的。
  • 面试中。进去面试房间之后首先把简历递给负责的老师,如果没有负责的老师就你一个个的发,然后最好等老师示意你可以坐下了再坐,面试过程中注意礼节和细节。尽管有很多的准备,面试的时候还是有可能被问到没有准备到的问题,这也很正常,但是最好不要直接回答你不会或者你不了解,最起码你经过思考给老师一个答案,再跟老师说明你不会,只是你临时想到的一些想法不一定正确balabala,这样老师对你的印象会比直接回答不知道好许多。还有就是上面说过的,遇到自己熟悉的问题可以尽量自己掌握一些主动权,在你熟悉的问题上你回答的时间越长,那么老师问你不熟悉问题的机会就越低,毕竟每个人的时间是固定的。

总结

选择很重要,准备充分也很重要。保校内轻松愉快,九成能过;保外校就得天南海北的奔波,需要自己安排好各项行程,相对会累一点,但是选择也会多一点。感觉自己还是很幸运的,报名的夏令营和复试都通过审核了,去参加的除了清软夏令营的直博也都拿到offer了,感谢一路上所有帮助过我的各位老师同学和朋友们。

希望大家都能拿到自己心仪的offer。

PS:码字不易,转载请注明出处。

-------------本文结束感谢阅读-------------