2023年计算机专业保研经验帖

2023年计算机专业保研经验帖

HongWJ

初极狭,才通人,复行数十步,豁然开朗……此中人语云:不足为外人道也。

——陶渊明《桃花源记》

1 个人情况

  • 本科院校:某中九

  • 本科专业:计算机科学与技术(拔尖计划)

  • 夏令营排名:7(前6%)

  • 英语:四级599,六级546

  • 竞赛:若干程序设计奖项(包括一个CCPC省赛Au,但好像没啥用),数模国赛省二(菜死了),若干其他赛事的奖项

  • 科研:本校实验室程序语言科研经历,夏令营时无论文产出

  • 最终去向:北京大学计算机学院直博

    pPbj4cn.png

2 择校标准

  • 更看重与感兴趣的研究方向相对契合的老师,在此基础上考虑学校。
  • 个人意向:理论 ≈ 程序语言 > 软件 > 安全 > 其他,非必要不去AI
  • 直博、学硕、专硕均可,除少数学校少数院系外,大多以学硕为主

3 夏令营申请情况

入营且参营

  • 北京大学计算机学院(直博) ,优营,最终去向
  • 北京大学软件与微电子学院(专硕),未获优营
  • 同济大学计算机科学与技术系(学硕),优营,放弃报考
  • 南京大学软件研究所预考核(学硕),参加线上面试,计算机系夏令营被拒

放弃入营

  • 上海交通大学软件学院(直博)
  • 中国科学院计算技术研究所(学硕)
  • 武汉大学计算机学院(学硕)

未入营

  • 清华大学深圳国际研究生院(专硕)
  • 南京大学计算机科学与技术系(学硕)
  • 中国科学院软件研究所(学硕),在入营资格考核时放弃

4 夏令营经历

南京大学软件研究所预考核

南大软件所的预考核是和南大计算机系的夏令营分开报名的,预考核通过后还需要通过计算机系夏令营的考核才能真正拿到offer。我是在五月底报的名,但似乎先报名的已经先面试完了,我报名后的第二天收到邮件说“未来可能联系面试”,然后等了半个多月收到了面试通知,第二天上午线上面试。

预考核的面试比较短,总的大约十分钟多一点,先是简单介绍一下自己,包括项目啥的,老师根据我介绍的提了几个问题,都问的比较浅,没有问的很深入。之后老师问了我一些算法相关的问题,一时脑抽不知道怎么想的,跟老师说了半天的黑盒测试白盒测试(毕竟是软件研究所,乐),后来终于意识到老师想问啥。最后问我对软件研究所还有啥问题,就结束了。感觉具体考核啥应该和面试老师强相关。

面试完过了几天,收到了通知的邮件,告知我通过了一位老师的考核,但仍需通过计算机系夏令营并通过这位老师的再次考核,结果南大计算机系夏令营没过初审,然后就没有然后了,大悲。

同济大学计算机科学与技术系

同济算是正经参加的第一个夏令营,报的是学硕。夏令营是在同济的嘉定校区进行的,之后入学后住宿和上课也是在嘉定校区。同济考核项目也比较多,基本能考核的都考核了,包括机试、专业课笔试、专业英语笔试,面试也有英语口语的测试环节,总分是350分。

第一天上午是整个电院的开幕式和报考专业的介绍,开幕式之后是实验室参观,下午先进行上机考试,然后笔试。

上机考试是OI赛制,在考试过程中看不到评测结果,考试可以带纸质资料。我到考场后才发现我准备的板子放在酒店忘拿了,当时距离考试还有大约一个小时,于是在三十多度的温度下一路狂奔回去拿,回到考场之后满头大汗。考试时间是一个半小时,考核内容都相对比较基础,包括按照一定格式要求输入输出,以及像二分这种最基本的算法,跑回去拿的板子一个没用上,五十分钟把题目做完后开始想面试时英文的自我介绍(后来发现不需要)。

上机之后休息一段时间开始笔试,笔试是专业课和专业英语一起考,一共只有一个半小时,时间很紧。专业英语是给了你一篇专业相关的文章,让你阅读后概括文章的内容,然后写出这对你未来从事的科研工作的启示。专业课都是考研408的内容,难度都不大,但没系统性的复习,可能考的一般。关键是时间非常紧张,需要合理安排好时间。

第二天的面试,这个和具体所在的组有关,我们组是先进行一个自我介绍,然后开始问英语问题,除了一些简单的对话性问题外,还让我用英语介绍我的科研项目,之后的提问完全没有问专业课相关的,主要集中在项目上。

过了大约五天公布了优秀营员名单,拿到了一个排名比较靠前的优营,最终选择放弃报考。

北京大学计算机学院

北大提前联系导师比较重要,因为有提前联系导师,所以个人一直将北计作为第一选择。夏令营是在海淀校区进行的,但硕士和博士进校后的住宿都在昌平新校区,两个校区之间有班车来往。另外,据说过去几年以及以后招生都以博士为主了,硕士只占比较小的一部分。北大入营的时候给了一张170元的餐卡,可以在校内食堂消费,我认识的一个同学为了把那170元花完,吃完饭后特地在食堂吃了三个甜筒(不过不得不说那甜筒还挺好吃),但入营是不包住宿的,在北大附近的酒店也确实很贵。

第一天早上是开幕式,介绍了北计和各个研究所等基本情况,下午是各个实验室的答疑,然后晚上机试,第二天和第三天面试。过去三年因为都是线上,没有机试,上一次机试还是2019年,机试可以在百练网站练习,往年的具体题目和形式都有。由于有签订承诺书,在此就不写机试和面试内容了

说一句题外话,夏令营结束那天是2023年7月8日,2020年高考因为推迟一个月也是7月8日结束。这一次,我应该能给过去三年的自己一个交代了。

北京大学软件与微电子学院

在软微入营前需要先阅读论文,给了五个方向,每个方向给了若干篇论文,阅读完论文后要用中文写文献阅读报告。当时给了两天左右的时间,写完后过几天,有老师联系我先进行一个简单的线上面谈,我就天真的以为真只是面谈,然后准备了个自我介绍就去了。

面谈开始后,老师也没让我做自我介绍,上来第一句话问我“你数学怎么样”,我说还可以,然后问我数学问题问了十五分钟,接着换了个老师问我专业课,又问了十五分钟,全程慌里慌张的回答,也不知道对不对,但似乎大多数问题都或多或少能答一点。面完退出会议后整个人就像是被面傻了一样,五分钟说不出话来。之后收到邮件问我有没有报其他学校,过几天收到了软微入营通知。

软微上午报到,下午开幕式和各个实验室答疑,夏令营招的都是“前沿工程硕士”,感觉看起来跟学硕的培养方式基本一致,不像过往软微可以随便出去实习,而是需要加入课题组做科研。在答疑的时候遇到了当时面试我的老师之一(应该没认错吧),感觉他线下完全不像线上面谈时那么严肃。我所报的课题组是研一在软微校区上课,研二之后加入在海淀的课题组(据说到时会提供租房补贴)。

第二天是考核,先是半小时的编程测试,手写代码,三道题,考察内容都是基础的算法和数据结构,但有两题有一定的思维难度。然后面试,面试真就面的稀烂,问我啥啥不会,主要问了项目、数学和专业课内容,再次问了我有没有报其他学校。总之最后没有获得软微优营。

其他学校的花絮

  • 上海交通大学软件学院:报了直博,但因为目标北大计院,直到最后都没联系导师。倒是在报名截止,通知入营前有一位老师打电话问我报软院直博有没有联系导师,我说没有,他就跟我像面试一样聊,聊了大约十分钟左右,聊的很愉快,可到最后我也不知道这是哪位老师(乐),于是就在官网找,也没找到,遂放弃。获得入营资格后,也准备去了,车票都买好了,在我去车站的路上,因为一些原因改变了想法,于是临时改签回家。
  • 中国科学院软件研究所:在北大计院夏令营面试完,和同样去北大参营的同学吃完午饭,在学校里闲逛,大约两点多收到了软件所的考核邮件,通知三点半开始考试。于是开始在学校里找教室,在北大二教的各种教室找了半天终于找到一个可以给笔记本充电的座位。考试前登录系统时不知道为什么说我的邮箱格式不对,神奇的是那个邮箱是报名时填的邮箱,那一栏是锁定的不能修改,后来感觉应该是因为我的邮箱里有”-“,不能识别,最后和老师沟通换了个邮箱登录考试。考试时做一道题编程题,发现读入的数据死活读不对,考到一半不想考了,遂任性放弃,后来据说那道题的读入好像用C++都读不对。。。

5 保研流程及各阶段工作

1-4月

这一阶段主要是做好前期的准备工作,可以逐渐开始备考(见第6部分)。

  • 完成各类文书和材料的准备。 包括但不限于个人陈述、简历、各类奖项、论文、成绩单、成绩排名等,以及可以在这段时间找导师要好推荐信。在审材料的时候,更重要的是成绩单、成绩排名、科研成果,以及部分含金量较高的竞赛奖项,其他的个人陈述、推荐信等一般不会细看。认识的一位同学在个人陈述中套模板忘记改学校和学院,直接交了带有“XX大学XX学院”字样的个人陈述,并不妨碍他最终被该院录取。
  • 提前联系导师。 对于部分学校(即平时所说的弱com),联系导师具有较大的作用,导师在一定程度上有决定你入营和通过的权力。联系导师时一般使用邮件,在1-4月期间联系为宜。有的导师在联系后会要求你进行一段时间的实习,大致就是给你一个任务,让你在一段时间内将其完成。不建议同时联系多位导师,也不建议在导师明确同意接收你之后放导师鸽子。
  • 部分学校春令营报名与参营。 部分学校的部分专业(尤其是经管相关)会从大约2月起开启春令营报名,有兴趣的可以关注。

5-6月

这一阶段将有部分学校发夏令营的通知,全面开始备考工作,同时部分夏令营将陆续开营。

  • 夏令营通知的接收和报名。 通知主要发在各学校或各学院的官网上,也有其他的信息平台,包括各大保研公众号,计算机保研交流群(绿群)建立的保研信息仓库等,从5月开始,建议每隔一段时间关注以下各校的招生信息,避免错过报名。在使用搜索引擎进行搜索时,要确定信息的时效性和真实性,避免错看往年的或者其他学校的,导致未正确报名。报名时注意信息的正确性和严谨性,反复检查,不要因为出现材料的纰漏而导致入营失败。

7-8月

各校夏令营集中在7月进行,出现时间撞车的需要有所取舍,建议至少确保一所学校保底,7月底开始少数学校预推免开始报名。

  • 夏令营参营。 从2023年起,大多数学校的夏令营恢复线下举办,因为交通原因,能参加的夏令营数较过去三年减少较多,一方面出现大面积放鸽子的概率降低,另一方面也增加了选择夏令营时的博弈。在选择参加夏令营时,不建议眼高手低,而是在确保参加至少一所较有把握的学校的前提下,再去冲击更好的学校,避免陷入预推免孤注一掷的过度焦虑中。参营前最好提前订好车票或机票,确定住宿,如果条件允许,提前一天熟悉学校内外的路线。参营过程中保持冷静,不宜太过紧张或太过放松。

9月

各校预推免集中报名和考核,本科学校陆续开始推荐工作,月底正式推免开始。因为没参加预推免,就不再写预推免相关了

  • 本科学校推免工作。 三年保研的关键一步,需要密切关注本校的保研通知,一定确保材料上交齐全,务必万分谨慎,切勿出现低级错误导致丧失保研资格。
  • 正式推免。 保研的最后一步,对于已经拿到满意的offer的可以直接928填报相应学校,对于没拿到offer或者offer不满意的不要太过焦虑,如果情况允许,可以等待“捡漏”的机会,在下面附上在绿群上看的保研“圣经”。

1.年年如此,底层逻辑没变的,运气是对勇敢者的馈赠。
2.大部分人就是忍不住,害怕没学上,去一个不满意的学校后悔三年。
3.保研资格就是你最大的筹码,大家都是三个志愿,畏畏缩缩只会失去机会,20岁不搏一下,等30岁吗?
4.10月20日才关保研系统,20多天足够你联系大部分导师了,没有风险就没有收益。
5.自己心里有个高度的呀,随便上个学校,对得起三年努力的自己吗?
6.预推免形式差没关系,就像人跳的时候,要先下蹲。
7.现在offer越集中越是利好,无论别人再厉害都只能去一个学校,剩下的都是图给我的。别人越恐慌,我越兴奋,我知道机会是留给勇敢者的。
8.9月28之后,重新洗牌,没有勇气的人都会出局,机会就在这里,就看你把不把握得住,上个中九还是华五,就是看你的心态。

6 夏令营备考

机试

机试的试题类型一般与NOI/NOIP/ICPC等类似,即给定题面、输入输出格式和数据范围,参考测试样例编写代码,部分学校包含英文试题,具体的赛制因校而异。主要包括:

  • IOI赛制。 应该是保研夏令营/预推免较多使用的赛制,每道题提交后即时反馈得分,可重复提交,取最高分或最后一次提交得分,有部分分(即完成部分子任务的得分)。
  • NOI赛制。 每道题仅可提交一次(或者以最后一次提交为准),考试结束前后不可查看得分,有部分分。
  • ACM赛制。 与XCPC类赛事所使用的赛制相同,没有部分分,每道题只有全部做对才算完成,先比较正确题目数,再比较所用时间(每道题的完成用时是该题AC时距离比赛开始的时间,总用时为每道题的用时之和),可以重复提交,但每次提交错误(非编译错误)将罚时20分钟。

个人建议机试的准备主要分为三个阶段进行:

  • 熟悉编程语言。 在机试上更多使用C/C++语言,部分学校不支持其他语言的使用,另外在某些时候Python丰富的函数库和自带的高精度运算可以提供较大帮助。个人建议主要使用C++,在需要时对于部分题目选择Python,具体根据自己的情况而定。以C++为例,建议熟悉的内容包括但不限于:变量、表达式(包括位运算等)、输入输出、顺序结构、判断结构、循环结构、函数(含嵌套)、数组、指针、结构体、指针与引用(不需太深入)、字符串、STL与部分库函数(如sort等)。高中或大学参加过算法竞赛且取得成绩的可忽略。
  • 熟悉各类算法、数据结构等。 大多数学校会涉及算法的考核,不过除少数学校外,一般不会特别难,但为以防万一,还是建议更多准备。考核的重点一般都是这部分。建议熟悉的内容包括但不限于:模拟、暴力求解、搜索、排序、贪心、二分、三分、树、二叉树、树状数组、线段树、堆、分治、倍增(包括RMQ、LCA的倍增做法)、前缀和、差分、剪枝技巧、哈希、KMP、最小生成树(Kruscal、Prim算法)、最短路(Dijkstra、Floyd算法)、动态规划(包括树上DP、区间DP、数位DP、状压DP、单调队列优化等)、快速幂、线性筛、各类约数问题(如GCD)、同余问题(包括EXGCD、逆元等)、概率与统计等。高中或大学系统性的参加过算法竞赛且取得较好成绩的可忽略。
  • 多做题。 做题为主,听课为辅。建议在备考后期以练代学,在遇到不会做的题时再寻找解答,并且举一反三,确保掌握并学会应用上文提到的知识点。做题可参考洛谷的题单中的官方精选。如果进一步练习可参加类似codeforces等OJ平台定期举办的赛事。ICPC区域赛奖牌得主等大佬请随意。

整体来讲,机试一般不会作为最重要的考核内容,但如果有时间还是建议多多准备,毕竟不排除部分学校机试计分且占大头,或者笔试、面试时问相关问题的可能。

笔试

笔试考核内容各个学校可能区别较大,考核概率较大的是考研408的四门课,也就是操作系统、数据结构、计算机组成原理、计算机网络,除此之外,部分学校有英语的笔试,也有可能有数学的笔试。

  • 专业课笔试。 建议参考考研的复习书,不需要做太多题,但需要把所有需要掌握的知识点再大概重新掌握一下。除此之外算法、离散、数据库等课程也有考察的可能,不过即时考核大概率也不会考太深入(除非与报考方向相同)。
  • 英语笔试。 英语一般不会像四六级一样考各种知识点,各类阅读,更多可能以学术性文章的阅读和写作为主,比如给定一篇学术文章(不一定是论文),让你阅读后概括主要内容(有点类似于写摘要),或者写出你的启示和未来的研究计划。
  • 数学笔试。 较少出现,更多出现在面试。科目主要是高等数学,线性代数,概率论与数理统计,建议按照报考学校的考核内容进一步细化备考方式。

面试

面试是特别具有偶然性的环节,通过最多半个小时的时间,需要全面的了解一个学生的水平是不容易的,同样学生也不容易在面试环节展示自己的特长和能力,再加上夏令营期间时间紧,各校面试内容区别较大,更建议在备考面试时采用更高效率的方法进行。总结的技巧性内容如下:

  • 保持自信。 个人认为最重要的一点。在面试时务必保持自信,不要太过紧张,对于所有的非专业性问题回答时一定要自信,对于自己明确知道的专业性问题同样要自信的回答,不完全知道的可以只回答知道的内容,但确实不了解的一定不要乱说,宁可说不会,自信不等于自负也不等于不懂装懂。
  • 眼神交流与肢体语言。 在说话时注意看着老师,保持延伸交流。除非是某个老师提问时,建议不要只盯着一个老师看。适当的肢体语言也是必要的,某种程度上也可以缓解紧张,但不宜太过夸张。
  • 面试的演练。 可以找同学帮忙进行一次面试的演练,尽量找不太熟的同学,尽可能模拟真实的面试场景。
  • 敢说,多说。 对于部分问题,如果没有严格的时间限制,可以适当多说点内容,敢于表达自己的想法,让面试老师印象更深刻。

建议提前准备的问题包括但不限于:中英文自我介绍、中英文项目介绍、中英文选择本校本专业的原因、英文介绍选择的专业、中文有没有其他offer、个人简历中的其他问题。上面这些只是例子,具体的问题以各校为准,如果有的话,可参考往年的问题。


7 结尾

2020年7月8日,高考结束,在考场门口,无奈苦笑的背后是落寞失意,刺骨锥心;
2023年7月8日,夏令营结束,在这所过去未曾设想的大学门口,我相信,念念不忘,终有回响。

现在回过头看,很庆幸选择了我现在的本科,在这里我获得了太多,实现了太多,也为未来梦想了太多。感谢我的家人,我本科的导师和师母,从小到大所有帮助我的老师们,以及那些一直支持和鼓励我的朋友和同学们。当然,也感谢多年来,为梦想不断奋斗的自己。

最后,作为一名阿根廷队球迷,阿根廷队从2014年折戟决赛开始,到2022捧杯结束,这是阿根廷的圆梦之路,也许也是我从大学开始的成长之路。未来还有许许多多值得我去探索的目标,我仍会继续努力。用贺炜老师解说阿根廷的一句话结束吧:

请不要相信,胜利就像山坡上的蒲公英一样唾手可得,
但是请相信,世上总有一些美好值得我们全力以赴,哪怕粉身碎骨!

——贺炜

pP5UQ5F.jpg