保研机试&面试经验

距离保研结束已经快整整一年了,这些文字都是当时每一个节点,每一个事件记忆最清晰的时候写的,希望这些文字对你能有所帮助,也祝一切顺利。

补充于:2019年8月5日

👇展开阅读全文👇

所有的经验只代表2018年保研情况

先说一说我的基础情况吧,末流和计算机没半毛钱关系的211,专业计算机,在实验班排名第一,年级不到200个人。英语四级630+,六级600+,拿过国奖,美赛H飘过,大学生英语竞赛三等奖(这两个比赛越来越水了),一篇CCF C类 盛会 论文,主持一个大创,还有些体育竞赛的成绩以及学生工作的成绩。在学校里面觉得自己还不错,出来之后才发现。。。各路神仙。

今年的夏令营比较神奇,总共报名了北理工计算机,北交计算机,北航计算机,中科院自动化所和北大信科的智能科学与技术。清华的计算机夏令营由于时间不合适,而且只有直博,所以就没有报名,最后参加了九月推免。

关于研究生导师看重什么:

下面这张图取自自动化所招生宣传。

首先:本科学校很重要!

虽然这已经不可更改了,但是真的非常重要。如果你是一个非计算机专业的211,想要去清华北大,哪怕你是年级第一,多篇论文在手,英语也还不错,老师也会想一想。所以劝大家给自己一个准确的定位,对自己的感觉是建立在周围人基础上的,不要太好高骛远。

其次:专业成绩&英语水平

计算机领域的大量前沿研究都是英文的,所以老师非常看重你的英语水平,面试基本上都会考到口语,一口流利的英语绝对是非常大的加分项。其次就是数学基础。

 

其实老师更在意的是你的数学基础,线代,概率论,离散这些东西,这些才是你创新的源动力,至于CNN,RNN,GAN,GN,Reinforcement什么的,这些东西都是别人在数学基础上做出来,你学了两天就一定会用的,这个对于在研究生阶段做研究,发论文并没有本质的作用。甚至有的老师会反感本科做“科研”的学生,因为他们很大概率只是学到了技术的皮毛,却自认为自己学到了多少东西。

第三: 性格 & 兴趣爱好(甚至学生工作)

这个看起来和升学没有任何的关系,但事实上老师现在选学生都十分谨慎。至少两个人要合作2-3年,甚至读博士的话要6年。再加上现在研究生出事情的,抄袭的,坑导师的也多,所以老师在这个方面也十分的谨慎。

第四:学术竞赛&科研经历

我认为接下来才是科研经历。科研经历是在前面的都通过的情况下,老师才会考虑的内容。因为事实上科研的能力是可以培养的,如果前几条都满足,培养起来也很快,毕竟大家都是本科生。这一方面奉劝大家一句。不管你以为自己多厉害,老师在科研圈混的时间都比你长太多,夏令营遇到了很多自以为很厉害的都被刷掉了。不要把课设什么的东西当做自己的科研经历,这些教授也是教课的,能看出来什么是自己留的作业,什么是学生单独做的东西。有论文的话,除了内容外,老师会着重关注你在这个研究里面是什么角色,基本都会问你论文这几个作者分别是老师、研究生、本科生,以及承担了什么任务。

总体来说其实上面都是废话😂,到了保研阶段基本上也没有什么可以准备的了。很多都是大学3年,甚至十几年的积累,保持一个低的姿态,天外有天,总有比你厉害得多的多的多的还比你努力的人。另外就是不论发生什么,都不要乱了阵脚,学校这么多,再加上面试的形式,偶然性肯定是存在的“胸有惊雷而面如止水”才能成功。

关于方向选择

其实方向不重要,老师做的东西范围很广(越厉害的老师越这样),而且都十分接近前沿(同样越厉害的老师越这样)。不要觉得做软件工程或者体系结构的老师就不能做机器学习,真正能引领学术潮流的老师很少,很多都是在做follow的工作,所以其实如果是想学习东西,这些老师都能教你最前沿的东西。

还有做事做人方面的一些感触。保研,其实真正的功夫都用在平时,临场的准备其实只是给自己一个安慰,什么样的学生是自己愿意思考的学生,什么样的学生是临场把书重新看了一遍的学生,其实稍微面试一下基本上就能看出来,北航25分钟的面试把我问得透透的,老师一问就能把你“望到底”。夏令营这个过程中其实不仅是一个竞争的过程,更是一个客观的给自己定位,学习的过程。毕竟七月中旬基本上夏令营就结束了,一个假期如果效率高的话还是能干不少事情的。

关于鸽与背鸽

我觉得其实没有任何规定说“老师给学生机会学生就一定要去”,但是这些老师其实都希望能尽早的确定下来好学生,在北交的时候跟老师聊天,老师就说“经常有学生想要明确的答案,到底我们要不要他,我们就会跟她说,你先明确下来,到底你是来还是不来,我们才能给你明确的答案“。我个人认为,其实你跟老师说“我想来您这儿”,之后又不来了,这个给老师带来不便不说,俗一点说,是很没有契约精神的表现。不过退一步说,其实这些老师心里也都清楚学生们的算盘,去任何一个学校面试,老师都会问:“还报了哪些学校”(清北除外😂),即便被鸽了,这些老师其实最多也就是抱怨两句就过去了(北航一个老师的原话)。老师都是为学生好的。不过我觉得其实如果老师对学生好,学生是不是也应该多替老师着想。

所以其实最理想的状态是从好的往差的依次参加,找到好的下面的就放弃掉了。但是事实上一般差一点的学校为了争夺学生,反倒会把夏令营办在前面。所以很遗憾,肯定大家大都会遇到这样的问题。我的建议是,夏令营首先确定一个垫底的,保证自己能有学上,我个人选的是北航,并且最后没有跟任何老师联系,只是拿到了预录取资格。然后再向更高的学校冲击。冲击到了理想的学校,那么就完美了,你的战斗就结束了。没有能冲击得到,那么没关系,还有九推的机会。


下面我一个学校一个学校的讲。

北理工

最早是北理工,北理工不需要邮寄材料,也没有在线报名系统,自己从他的网站上下载报名表,填表,找本科学院盖章,扫描,把东西放到一起用邮件发过去就行了。大家尽量早一点发,我是ddl当天晚上11点才发过去的,然而不知道为什么,我们学院给了7个夏令营的名额,然而就没有我。

北理工对985还是蛮看重的,最一开始第一波所有的非985院校(包括北邮)都没有能拿到入营资格。然而后一批补充录取了很多211甚至双非院校的学生。

根据同时保研的同学的经验,机试是两道很简单的字符串操作的题目,老师手工检查,按照测试样例通过的比例给分;第二天面试内容很轻松,有项目的简单问一问问项目,没有项目的问问“有什么兴趣爱好”就结束了。


北交

北交是我第一个参加的夏令营。北交的计算机双一流评的A-,国内排名8-12的样子,比较强的正好在人工智能一块,和现在的风头正好吻合。所以其实是一个不错的选择。夏令营分两批,据不可靠消息,简历900份左右,第一批160人,第二批80人(好像是这样)。而且录取名额不少,(相比于北大清华,有今年的特殊原因,后面再说)。

第一天是宣讲,主要老师讲了一些在做的项目,各个实验室做自己的宣传。第二天直接面试,没有机试。面试20人左右一组,5-6个老师,可能各个面试组的情况也不大一样。我的这个组的老师正好是我意向实验室的几个老师,有简历的话老师就看你的简历,没有简历的话需要做一个自我介绍,准备的不是很周全,只准备了一份材料,老师传阅。

一进去先给一段英文,比较简单,和专业相关,让你读出来,我抽到的是

A mobile app is a computer program designed to run on a mobile device such as a phone/tablet or watch.Mobile applications often stand in contrast to desktop applications which run on desktop computers, and with web applications which run in mobile web browsers rather than directly on the mobile device. A mobile application also may be known as an app, web app, online app, iPhone app or smartphone app.

记忆的不太准确,大概就是这样的内容,读出声然后翻译。面试氛围很轻松,前后几个老师都问了“擅长的科目”然后根据你的回答提一个问题。我答C语言系列的课程,他们问我“C和C++有什么区别”,想听听我自己的想法,而不是“面向过程,面向对象,继承封装多态”这种答案。

另外一个老师,问了“5升,3升的杯子,如何倒出4升的水”这样的mind-teaser。

其实很多面试都是这样,老师想要的不是考试一样的回答,而是你自己按照你自己的理解,这样的话老师能看出来你的思维高度与深度。这个后面北航更加明显。

面试完成之后,下午可以再进实验室联系老师,跟老师聊一聊,桑基韬老师给我留下的印象很深,很厉害的一个年轻男老师。然而他觉得我不可能去北交😂,于是就没有进一步联系。


北航

北航是这次夏令营的最主要的目标,一路走过来也是有惊无险。

北航要求网上报名+邮寄材料。因为学校离得很近,最后是自己亲自过去送的。北航可能存在先后交材料入营概率不同的情况(具体不敢说,感觉后面报更容易入,可能是错觉)。送材料的时候是ddl前一天,到那看到一张办公桌上面堆了一桌子的材料,如果是100份一摞,粗略估计2200份左右。最后夏令营名单入选了500人。

第一天上午宣讲,主要各个实验室老师来宣传,然后解答了一些疑问。北航的计算机最强的实验室在虚拟现实,其实它的虚拟现实不是传统的“构建虚拟世界”什么的,而更多的是一些计算机视觉的内容。

当天下午进行机试,机试分为两组,两组题目不同,不是ACM的套路,更像大量的操作考察操作的熟练程度。

值得讲的是他的评价方法。包括机试(CCF)和最后面试的分数算法。机试用CCF等级考试折算是一个很有意思的做法,他把所有的提交CCF等级的同学的分数做均值方差标准化(Z-Score标准化),然后把参与机试的同学的成绩也做均值方差标准化。再把最终的成绩拿来排名。这样基本上能最大限度的保证公平。

但是这样也会存在问题。利用均值标准化的问题就是。。。我在第一组参加的机试,第一组机试比第二组要难很多。直接导致第一组如果你写的好,可能题目没做对都能进入复试,而第二组基本上需要两道题都做对才能参加面试。

而利用标准差来做标准化带来的问题在于,(以面试为例),如果你所在的组老师打分非常平均,是一个“均匀分布”,那么标准差会更大,这样归一化之后即便是最高分的分数也不会太高。而如果你所在的组老师打分集中在一个区域,类似于正态分布,那么最高分的分数会非常高。不过其实最后正好取一半,问题也不大。(如有疑议,欢迎拍砖)

 

 

机试我所在的第一组两道题,第一道题是一个“学生名单”,让你按照他的要求,排序,找到没有用的编号赋值给最后面的人,找到重复的编号,依次后移,大概就是这些操作。有一点小麻烦,仔细一点的话没有太大的难度(然而还有很多人做不出来)。第二道题是给一个修改过的字符串,然后告诉你之前做了什么修改,之后还要做什么修改。修改操作包括指定位置插入串,指定位置删除串,撤销。让你输出最后的结果。

两道题两个小时,提交只能看到编译结果,看不到结果,怀疑应该过不了的话可能有人工判。第一道题费的时间比较多,第二道题时间来不及了。环境只有VC6.0,电脑里有VS2010,但好像故意把链接库删了,没法用。机试当天晚上就能出结果,500人剩下了280人左右。

 

下面就是面试内容,北航面试十分的细致,一个人说是20分钟,事实上基本都到了25分钟以上。评分分为思想品德(通过不通过),英语能力(30分),数理基础(50分),专业素质(100分),综合素质(20分)。机试刷掉一半之后还剩280人左右,分了十几个组,各个组老师不一样,有的也不会都问,因组而异。

思想品德

一进去有一个信封,从里面抽一个纸条“李克强在某次会议上指出,‘智慧政府,智慧企业,智能科技’是社会发展的重要推动力,作为计算机专业的学生谈谈的你的看法”。

英语能力

一段大概200个词的专业英文,同样需要读出声,翻译。我抽到的是和人工智能相关的,里面涉及到representation,reasoning,stochastic一系列的翻译,存在难度。

数理能力

其中一个老师问“群”是什么,以及“有理数和正整数有什么关系”,因为有理数和正整数我回答的是“等价的”,老师又让我说为什么,后来回去查了,应该是“等势”这个只能怪自己学的不扎实。不过这个我自认为应该是一个加分项,因为我也给出了二者等势的证明。然后接着又问我“等价”在数学上是怎么定义的,并没有记住😂。

之后第二个老师问了很多线代的问题,一开始问我的几个概念我都不知道(我的线代是几个数学里面最差的一个),然后又问我“点乘,叉乘”有什么区别,要自己解释,不要定义,问我有什么用。一出门我才想起来,算做功不就是点乘。这一部分回答的很糟糕,很多定义都不记得了(甚至我觉得可能都没讲过)。

专业素质

大概有一个老师是教计算机网络的,让我解释单播地址和组播地址分别是什么,有什么作用,IPv4的组播是怎么做的。这一部分自己掌握的也不扎实,可能强行回答老师不是很满意,然后后面又问我路由是怎么做的,怎么查表之类的。没跟这个老师对上频率,可能回答的也不好,我回答的路由表是 x.x.x.x/24这样的路由表,做最长匹配,老师可能想听的是“ip地址和子网掩码做与运算”这样的结果。不过坐在他旁边的老师帮我解了围,跟这个老师说我说的也对。

然后就是项目的问题,老师问了我的论文里面,我承担什么样的角色,attention 是怎么做的,如实回答就好了。

整个面试有些压力面试的成分(也许是自己太菜了😂,才有压力)因为我是面试第一天的第一个,面试完就回去了。如果排在后面基本上要一直到下午三四点钟才能完。

第二天面试(总第三天)结束之后就出了结果,拿到优秀营员之后第四天去教务处拿表,因为还想试一试更好的学校,加上厉害的老师都不在办公室(如果想要签一定要提前联系老师!!),就没有填意向导师,直接把表交了回去。北航就算告一段落了。本来第四天应该有体检,但是因为不一定最终会去,所以计划如果要去的话9月开学再去体检。


北大信科智能科学系声学组

这个就😂,比较迷了。北大信科夏令营一共三天,我报的是“智能科学与技术”系,系里面分视觉,听觉,AI三个组,三个组现在其实做的东西都有交叉,没有一定之规。夏令营第一天宣讲+熟悉上机环境,第二天“座谈”+上机考试,第三天面试。

北大在报名的时候专业就分得很细,这个和后面的是有直接关系的,最终面试就是报名实验室的这些老师直接面试,就可以直接敲定要不要。

宣讲没有什么可说的,讲一讲学院的,“系”的情况,然后老师问答一下。主要因为“教育部”希望清北培养高水平人才,给北大的名额变少了,据说往年总共能有200个,今年可能只能有100个出头。硕士名额只剩2/5,博士名额略有增加。所以我们这一年清北名额。。。非常少。具体不知道2019以后会不会有改变。

进入夏令营,需要机试的一共210人(有的专业不需要机试好像),机试一共8道题,两个半小时,近3年都有往年题,一定要刷! 一定要刷!一定要刷!百炼oj,上面都能看到题目。今年有AC7道的,不过80多个AC 3道的,100个AC 两道的,我就是那个AC 两道的辣鸡😂。不过基本上AC两道的都给了面试的机会。

面试的时候老师会拿着每个人的机试成绩,所以机试成绩不直接计算,而是给老师作为参考的。面试的时候,基本上所有招生的老师都会到场,这样面试完了,可以直接确定要不要一个学生,要的话跟哪一个老师。我所在的组,面试先让我们每个人英文自我介绍,然后一个个面试。面试没有问太多的基础的专业问题,问项目问的比较细,也问了一些生活,家庭的问题。因为我有一个铁人三项的全国冠军,关于这个有几个老师还比较感兴趣。

因为我在报名的时候想报W老师来的,然后后来这个老师也去了,单独又跟这个老师聊了聊,聊得也很开心,最后老师想要收我,但是当时主要有两个考虑,一方面自己想去清华,不想同意了又鸽了他(虽说概率😂),另一方面他的方向我有些迟疑,这样我跟他说“再想想”,老师就说“那你九月份再来吧”。最后就没有跟这个老师签下来。后来想一想其实也不后悔,虽说能去北大信科“智能”系还是很有诱惑力的,但是一方面自己给自己定的准则,另一方面自己的愿望自己看的还是蛮重的。希望自己做了一个正确的决定吧。


自动化所

自动化所由于本身就很强,加上处在人工智能的风口浪尖,再加上又是自动化系和计算机系都可以报的这么一个研究所,简历总共收了3200份,夏令营共2期,120人一期,共240个夏令营名额,按照2017的经验,收70个左右。都说自动化所的水平不亚于清华,个人感觉被高估了,而且具体事实上也要看是哪个实验室。

之前一直跟着一个自动化所的老师在做,论文的通讯作者也是他。正常写简历,投简历,然后就入营了。因为挺喜欢这个老师的,而且都比较熟悉,加上自动化所的NLPR(模式识别国家重点实验室)也很强很强,所以是想跟着这个老师继续做下去的。但是在我报上夏令营之后,她离开了自动化所,去了计算所。在最终扫码“确定入营”的时候,一方面当时已经拿到了北航的offer,另一方面我的导师也确定离开自动化所了,所以就没有“确定参加”。

听说夏令营很神奇,包括各种拓展活动,每一期开展5天。周围有同学拿到了offer。


清华计算机系-人智所

清华是我的Ultimate Target。四月份的时候经过别人引荐,就联系了一个老师,去了趟清华见了一面。老师看我条件也还不错,但是因为时间太早,主要意思是“1、现在他也确定不下来;2、都很好,就是学校背景可能差了一点点;3、可以暑假来实习”。所以基本上放了假就来做实习了。

这个项目组基本上是清华人工智能最强的组,大家都很厉害,假期事实上很多学生都不在,没有太多实质性的内容,所以大家找实习的话最好还是学期中间开始找。暑期实习很快就过去了,接着就是九月预推免的报名。

清华的计算机系夏令营只有一个上机考试,可以自行联系老师,但是不发offer,所以真正要想进清华也要等到九月份。清华夏令营只接受直博生,上机考试前50名可以九月不用上机考(也可以再考一次上机考试,取最高分)。

后来才知道,联系老师很重要!联系老师很重要!联系老师很重要!清华的基本套路是Day1机试,Day2直博面试,Day3硕士面试,博士的结果当天就能出,没通过的可以参加硕士面试。机试占20%,面试总共占80%。面试的时候下面会坐很多很多老师,然后如果你之前联系过老师,老师表示要你,面试完了当天老师会跟教务处联络,你就基本上进了。如果你之前没有联系老师,表现好的话晚上会收到老师的电话,老师会给你介绍他的情况,如果你同意了,你就进去了,不同意就被刷了。具体的经历细节见下面。

清华的计分是20%的上机考试,75%的专业面试,5%的综合面试。

之前跟老师联络了之后,说的是报硕士,所以就直接报的硕士。

清华的上机考试2018年开始和往年不太一样了。提交当场能看到结果,可以携带纸质材料,环境是Ubuntu,CodeBlocks,Vim,gcc(g++),gdb,eclipse,IDLE。考试前有半个小时调试环境,四个小时考3道题,按照样例给分,一道模拟贪吃蛇,一道线段树,一道环上的最长上升子序列。个人没搞ACM感觉非常难,为了这个机试在POJ上面刷了一个月的题,加在一起有100道。但是因为看往年的难度,没想到会这么难,很多算法都是看了没实现过。然后机试就一下子被打懵了。考完试跟意向导师说了情况,导师说机试都很难,影响不会很大,算是有了定心丸。

面试要求做PPT自我介绍,第二天在家做了一天的PPT,第三天我个人是先专业面试,面试是一个很干净的白色教室,下面坐20个左右的教授,先讲自己做的PPT,5-6分钟。讲完之后老师会问一些问题。可能到了下午老师都比较疲惫,问的都比较简单,没有太针对论文问问题,简单的问了一些专业问题,因为拿着一个文件夹讲的,以为这样会显得比较正式,结果被diss了一下准备不充分。一共10分钟,除去自我介绍,很快就结束了。

综合面试是三个学长or博士后or老师,反正都很年轻,一进去让用英文自我介绍,第一个学长用英语问的“你论文里面的idea是怎么来的”。第二个学长问了“你遇到最大的困难是什么,怎么解决的”,第三个学姐问了“如果老师给的任务你不喜欢怎么办”。综合面试就结束了。

第二天就出了结果,虽然说硕士明面上不需要确定导师,事实上也是有导师要你他才会收。所以说提前联系老师非常重要。我因为提前联系了老师,当天面试完招生办会跟老师联系,老师点头就算是要了。没有联系的,如果你自己非常强,会有正好想招学生的还没学生的老师来联系你(晚上给你打电话)。如果你同意了就有了,不同意就算是被拒了。

清华最终只会出不录取名单,一直到9月27号才在系统里能查到“初步录取信息”。

毕竟学校强,一点不怕学生鸽他,清华在28号保研系统开放之后,30号才能最终确定下来录取信息。至此整整7个月的保研也算是落下帷幕了。


写在最后:

其实早联系老师是好的,但是时间太长了真的很煎熬。因为保研不同于考试或者考研,很多时候你自己并不知道自己做的怎么样,或者说怎么做才能更好。所以希望大家如果希望能去顶尖名校也能从长计议,调整好自己的心态与状态,最后祝大家保研顺利。

 

 

 

发表评论

邮箱地址不会被公开。 必填项已用*标注