本科前三年回忆录
本文最后更新于 2025年11月29日 晚上
前言
今天是 2025 年 9 月 25 日晚上,下午刚确认保研的拟录取。由于很早就收到了铁 offer,加上学校层次和联系的导师方向都完美符合预期,所以内心很平静,想到啥就写啥。
我选择读研,动机不是唯一的,或者说是随时间变化的。刚上大学时,觉得高考没考好,不满意本科学校的层次,所以希望能继续读研提升学历;后来,了解到 AI 这一行比较吃学历,读研是比较有必要的,所以就更加笃定了我想要读研的决心;再后来,随着亲身实践,包括上专业课、业内人士建议、以及岗位要求,都告诉我提升学历是很有必要的,所以就确定要读研。在不考虑出国出境的情况下,读研只有考研和保研两条路可以走,经历过高考后,我不想再来一次容错率很低的“一考定终身”了,所以就决定卷一卷保研。于是,本科前三年过得很充实,现在看来,我很幸运当时决定走这条路,因为这在某种程度上让我好好学习了专业课,也锻炼了我的编码能力以及科研能力。
大一·确定方向
其实进入本科学校,并非就是为了 AI 专业来的,本来是打算读数学走师范的,奈何那时该专业比较火爆,就顺位往下录取到了这个专业。怎么说呢,现在看来这个结果也是非常幸运的,因为我想学数学,其实是源自经过思考和推理后得到结果的正反馈,而编程同样可以有这样的过程,并且实时性更高、正反馈更强。
至今我还记得做出放弃转专业决定的那一晚。那天是大一第二学期刚过三分之一的样子,由于离转专业考试已经不远了,我必须得做出决定,不能再犹犹豫豫了,要么好好复习转专业内容,要么全身心投入到计算机的学习中来(刚好那天出了大一第一学期的综测成绩,好像是排在第五的样子,所以我不太舍得放弃曾经的付出)。在此之前我询问过数学系的一位优秀学长,以及本专业转到数学系的一位学姐,建议都比较中立,都说取决于我自己的想法,在这里非常感谢他们的耐心和建议。后来,我和父母打了一通电话,他们也都支持我自己的想法,和女朋友也交流了一下,同样是支持我自己的想法。那晚,我独自一人躺在西区月亮湾的草地上,吹着略微有些凉意的晚风,做出了决定——放弃转专业。
这个决定没有对错,并且因为是我自己做的决定,所以我也不后悔。不过因为转专业这事让我有所分心,所以大一的成绩不算拔尖,大约专业第七的样子。
这里要单独提一嘴,大一遇到了 W 老师,这位老师上课非常有自己的风格,从开始上课,到结束上课,全程在教师机上投屏指导我们编程。我至今还记得他说:“在写 if 语句的时候,此时不管发生什么,都先把 else 写好,哪怕装满水的杯子掉地上了,也给我先把 else 写好。”,现在看来,这本质上是一种结构化思想,提前将逻辑按照框架搭建好,就方便后面去细化大框架里面的内容。虽然这位老师给分比较严格(我排第一但是只有 93,相较于其他老师一堆 97、98),从绩点上来看,我是比较“吃亏”的,但是从编码能力、编码热情、编码启发上来看,我赚大发了。非常非常幸运能够受 W 老师的编程指导,代码不会说谎,动手就有结果。
在 W 老师的组织下,我参加了蓝桥杯程序设计竞赛,自此开启了算法竞赛的学习之路。在大一下学期拿到了 C++ 组的省二,有一点遗憾,所以我就继续刷题,继续训练。
也正是自那时起,我慢慢养成了写技术博客的习惯。那时候在 CSDN 上写技术博客,主要是 C 和 C++ 的一些基础语法知识,我也不是想写给谁看的,单纯梳理一下自己的思路。技术博客有一个好处,就是修改起来非常方便。不像高中的时候只能写在纸面上,电子文档的形式非常适合调整内容,同时插入图片也很方便,在用了 Markdown 之后文本的结构也很清晰,于是就爱上了写技术博客,以至于后来我单独把我的技术博客整理起来,搭建了一个网站,从后台数据来看,还吸引了一点点读者呢哈哈。
大二·深入专业
没有了转专业的烦恼,从大二开始,我就一门心思卷绩点和打比赛了。这么说好像有点矛盾,这一门心思到底花在了绩点上,还是花在了比赛上呢?实时确实如此,我并不能兼顾绩点和竞赛,甚至因为竞赛“耽误”了一些绩点。但从结果论来看,这里耽误的绩点,也许并不算耽误。虽然竞赛没啥拿得出手的成果,但是至少打下了一定的编程基础。
在大二上学期,大约是十一月的时候,我和另外两位同学,三个 CF 小绿名,就一起乐呵乐呵地去沈阳参加 ICPC 区域赛了,现在想来,当时真的是初生牛犊不怕虎,对 ICPC 的难度完全没概念,五小时一共做出两道题,第二题还是在三小时的时候做出来的,一道签到,一道思维。





比赛结束看到榜单后,给我打了一剂强心针。很多所谓层次更低学校的同学,做出了远超我们数量的题目,我知道,我不能满足于本校几乎为零的竞争氛围,必须要积极进取。但强心效果还是被各种难题慢慢磨灭了,很多题自己实在是不知道怎么做,看了题解都不会的那种,慢慢的正反馈越来越少,就荒废了一段时间的算法训练。后来大二下学期的蓝桥杯成绩自然也很惨,还是 C++ 组省二,当时一度陷入了自我怀疑,我真的这么笨吗?我真的不适合学算法竞赛吗?但我还是不死心,24 年五月的时候,依旧是那时参加 ICPC 的三个人,报名去打了 JSCPC,这次没有打铁,三道题拿了个铜尾。也是非常感谢 W 老师能给我们三个一次正式参赛的机会,之后另外两位就都“退役”准备考研去了。


由于我成绩继续维持在保研边缘,所以还是不死心,慢慢地恢复了刷题的习惯,开始在力扣做每日一题保持手感。这也为后面拿下国奖埋下了伏笔。
很幸运,大二时遇到了另一位良师,Z1 老师。同样是编程性质的课——数据结构。因为大一时在 W 老师的超前教学下,我已经有了一些数据结构基础,所以在上 Z1 老师的课时,就不算很吃力,甚至能和老师进行互动和讨论。后来 Z1 老师觉得我作业完成得不错,加上我在课堂上和他积极地互动,就喊我加入他的课题组,参与一些科研上的活动。我知道,这是我了解研究生生活的一次很好的机会,就欣然接受了。
临近期末的时候,在我的毛遂自荐下,Z1 老师同意我把作业代码通过 GitHub 的形式在班群里分享出来,后来老师还嘱托我润色一下代码,他好给学弟学妹们做个示范,实在是很荣幸了哈哈。这位老师和 W 老师一样,同样给分很严格,我再次取得了第一名但是总分还是只有 93,同样的,别的老师给分仍然是大把的 97、98,但从结果来看,我同样不后悔我的选课决策,因为 Z1 老师布置的作业强度够大,范围够多,确保了我掌握一定的数据结构知识和实际编码能力。同时也是这段时间的交流,埋下了后来这位老师给我强推到东南的种子。有时不拘泥于眼前的“吃亏”,往往会有意想不到的福报。
就这样我的大二基本就结束了,成绩还行,大约追到了专业第四的样子。期间还了解了深度学习的一些知识,尝试着用云 GPU 训练神经网络。也主动参与了几次研究生组会,知道了研究生们的基本生活规律和组会汇报时的一些基本方法。还联系了数学系和物理系的几位小伙伴参加了几次数学建模竞赛。整个大二过得都很充实。
大三·初窥科研
到了大三,就几乎全是专业课了,印象最深的是操作系统原理和计算机组成原理。这两门课让我基本了解了曾经写过的那些程序是怎么在电脑上运行起来的,真的有一种大彻大悟的感觉。所有的理论都是那么的清晰,都和大一大二时编写的程序对应上了。我至今还记得大一的时候 W 老师在讲递归程序的时候说,函数被一次一次地压到内存调用栈中了,说实话那时候完全不懂这是一个什么过程,大三上课的时候老师讲到了就完全懂了。那种记忆前后串连并相互佐证的爽感,真的无法用语言描述。于是虚拟化这一块的知识我就记得特别深刻,好巧不巧,在后来的保研面试中,老师问了我页表相关的知识,我就把虚拟化技术很流利地回答上来了,感觉一切都是冥冥之中最好的安排。
可能是大家也慢慢地知道要到保研的时候了,加上很多课程都是考研必考,所以班上大家普遍比较认真,都要拼一拼绩点什么的。但那时我已经没什么心劲去卷了,在大三上学期结束以后,我就开始把学习重心转到保研这件事上去了。
大约在二月底刚开学的时候,我开始全身心准备四月份的蓝桥杯省赛。我将之前的算法笔记按照一定的逻辑重新梳理了一遍,重点关注了其中的基础算法和基础数据结构。从结果来看这一决定也是非常正确的,因为蓝桥杯省赛和国赛做到了好几个我那段时间整理的算法题型,也顺利的让我拿到了 Python A 组国赛二等奖的成绩,我非常开心。


期间我发了一次朋友圈,展示了我的技术博客网站,Z2 学长看到后表示可以加入并一起完善,于是就将他的算法学习笔记融合到了我的网站中。这次交流让我更加熟悉了 GitHub 的多人协作功能,同时也提升了我的网站曝光度,因为 Z2 学长还录制了学习视频发到了 B 站并获得了不错的流量。经过那段时间的梳理,我也对整个算法有了比较全局的认知,非常感谢那时候努力的自己。
大约在三月份的时候,我请教了上一届保研去向很好的 M 学长一些保研的事务,这位学长非常热情大方的和我说了这里面的条条框框,包括如何择校、如何选择导师、如何选择方向等等。他甚至直接将他保研的整个笔记全都发给我了,其中附带着他给我的寄语:“道阻且长,收拾好行装再上路,祝你顺利。”非常感谢 M 学长对我的帮助和指导,现在我已经顺利上岸了,也希望善有善报,M 学长的学业和生活能够顺利与安康。
在大三下学期,我开始着手写自己的简历,发现十分贫瘠,根本写不了啥东西。看了 M 学长的简历后,我知道我还有很多进步的空间,特别是项目经历。于是开学后,我直接冲到导师办公室一个“滑跪”,询问 Z3 老师能否带我深度参与一项工作,最好是科研向的,我可以当免费劳动力,Z3 老师答曰:“善!”,于是我就开始系统性地参与到了科研向的任务中。Z3 老师是 Z1 老师组里的一位新引进人才,之前带过我们做大创,因为我比较喜欢他的研究方向,加上也比较熟悉,就直接“恬不知耻”地找他带我了哈哈。
同样十分地幸运,Z3 老师给我提供了足够的计算设备和其他计算资源,甚至在暑假给我安排了一个研究生工位。除此之外,Z3 老师也十分耐心地指导我开展科研工作,从前期的方向调研引导我阅读论文、熟悉方向和方法,到中期的数据收集和处理引导我规范项目结构,再到后期与我一起讨论算法设计和实现,以及最后的论文撰写,带我从零过了一遍科研的全流程。我至今还记得赶 DDL 时,我在凌晨三点发了个消息,Z3 老师秒回的场景,哈哈哈。怎么说呢,科研给我的感觉更像是一个流水线,至少 AI 这块是这样的,在有了一定的硬件设备的情况下,很多东西都是水到渠成的。

保研启动
在六月赶论文期间,我的保研就不得已启动了。
保研主要有三个阶段,分别为:不知道什么时候开始到八月的夏令营、九月初到九月中旬的预推免以及九月底的正式推免。按理来说,主要名额都产生于第一阶段,也就是夏令营。但是 22 级似乎染上了改革风波,“上面”规定高校不允许在夏令营阶段发放 offer,于是今年就出现了“大佬们在夏令营拿不到 offer 大佬们扎堆预推免并拿到大量 offer 正式推免时鸽子起飞更严重 部分高校 925 紧急招生”的名场面。不过听说 23 级又要改革,也是醉了,坐等吃瓜。
我的保研是从 6 月中旬正式开始的。第一投是厦大信院直博。该院报名需要两位正教授的推荐信,于是我就联系了 Z1 老师和 W2 老师。不过很可惜,厦大的目标导师已经被预定满,所以就开门不红了。

此后我又逐个投递了浙计直博、科软直博、南计计专、华师计直博、北师 AI 计学、中南计学、南航 AI 院计学,除了南航全部被拒。当时我还挺纳闷,现在想想也正常,一共小几百个名额,怎么可能轮得到我这个普 2 并且成绩排名一般的学生呢,好在南航给了点面子,让我没有 0 入营。
夏一营·南航 AI 院
南航 AI 院的夏令营没有效力,并且感觉比较随意。整个活动持续一天,上午是各个老师来宣讲自己的方向,下午是自己去办公室找感兴趣的老师进行交流。
我还记得那天起床起晚了,匆匆忙忙打车出发,到那里的时候已经开始了,不过我感兴趣的 L 老师没有上去讲,我也就没咋听。开始和周围的同学搭话。右边的哥们是南信的,目标就是南航,右后方的哥们是河南大学的,没咋聊。大概听了一小时,我不太想再听了,就问边上南信的哥们要不要溜出去,答曰:“善。”,就一起溜出去干饭了。


南航发了一张 20 元的午餐券,精挑细选完美地花光 20,打了三个菜,味道还不错。


南航的建筑风格很大气,不愧是军工院校,给人一种很有气势、很磅礴的威严感。不过我没拍照片,这里就不展示了。
下午南信的哥们急着回去答复中科院的信息,就先走一步了。我寻寻觅觅半天,总算找到了目标老师的办公室,结果门口一堆排队的准备谈话,给我干懵了,这么火的吗?难怪之前回复我说没名额了(又给我推荐了一位老师,但是我单纯闲的,就打算找他聊聊,就当是面试演练一遍了)。后来等半天,L 老师出来和我们说要去开会,要么再等一小时他回来继续,想想算了就溜了。等待期间和其他的几位同学聊了聊,七八个人里面有两三个本校的,估计也是来练手的,其他的还有太原理工、东北师大、南邮、山西大学,很明显,他们没有提前联系老师,所以都不知道 L 老师其实已经没名额了。
夏二营·北理珠
得知我夏令营被拒麻了的情况后,Y 学长(另一位保研去向很好的直系学长)向我引荐他们实验室的 Ch 老师,并且还在那位老师面前吹了我的彩虹屁(非常感谢 Y 学长的大力帮助),后来加了 Ch 老师简单聊了聊,感觉人挺好的。
北理珠的夏令营同样没有效力,形式为线上,但要进行十分钟的面试。面试流程是:先自我介绍三分钟,然后老师轮流提问。我在网上找了北理工的 PPT 模板后,就填充了一点内容。轮到我面试的时候,我还是挺紧张的,毕竟是保研过程中的第一次考核。
根据预期,我在三分钟的时候完成了自我介绍,接下来是 5 位老师轮流提问,他们分别问了:
- 讲讲项目的困难点;
- 讲讲 RAG 和 Fine-turning 的区别;
- 为什么要读研;
- 读研最重要的能力。
其中第一和第二个问题是基于我的项目问的,问的都很浅,我也都很轻松地答上来了。后来查看小红书,发现大家都很轻松,那看来就是走个流程。面试结束后 Ch 老师就和我发消息,鼓励我说答得不错,非常感谢他的鼓励,让我重拾了一些自信心。之后 Ch 老师给我布置了一些调研工作,但我那段时间需要赶论文,就没来得及做了。
于是夏令营就结束了,很惨淡可以说是。后来,女朋友建议我海投,我实在是忍受不了每个学校用着千奇百怪的系统,上传着各种各样的文件,每个学校都要花我一个多小时填报,但是没招了,再不海投就没学上了,我硬着头皮继续投。这次我把投递院校的层次往下降,分别投递了中山计学、大工计学、南航计学、南理计学、苏大计学,最终结果是,除了航理苏,其余全被拒。当时挺难过的,想过了会被拒,但没想过会被拒得这么惨。
不过峰回路转,留校赶论文 DDL 的时候,晚上去吃饭,路上遇到了给我写推荐信的 Z1 老师,他问我厦大怎么样了,我说没名额了,于是他就说帮我继续推荐给别的老师,“事情总得有个结果嘛。”,Z1 老师如是说。考虑到南计现在只收我们的专业第一了,就给我推荐了东南的老师,于是东南的故事就此开始。
夏三营·东南计院
东南的推免比较特殊,把夏令营和预推免合并了,并且外校的学生必须要获得本校老师推荐才能进入复试,复试仅为面试。在得知 Z1 老师的强推后,我主动联系东南的老师并展开了第一次面试。
面试过程持续了半个多小时,被狠狠地拷打了论文和一些基础知识。论文从立意到方法,从数据到实验都问了一遍,反正就是全方位拷打,基础知识问了解码策略和神经符号推理。由于那时准备得并不充分,所以面完我就感觉凉了。
东南的老师隶属于 PALM 实验室,所以还得过一轮实验室面。但是不知道怎么回事,入会后负责的人对我和另一位同学说,都只拿到了候补推荐,就草草结束了,感觉就是走了个形式。后来出结果后发现老师给了我正式推荐的资格,算是有惊无险地拿到了和其他大佬同场竞技的资格。
东南的面试分三天进行,第一天是直博和学硕,第二天是计学,第三天是软专。除了直博需要面约三十分钟,其余大约都是二十分钟。我报的是计学,所以第一天就得参加面试。面试开始的前一天,我坐高铁住进了东南九龙湖校区边上的酒店。

我至今还记得面试的所有细节,因为机会实在是太难得了,我实在是太紧张了。面试流程是,一共十来个房间并行面试,每人关注自己的号码到对应的面试教室等候面试。

等到我名字出现在大屏幕上的时候,我就出发准备面试了,在走廊等候的时候,我非常紧张,我感觉我从没那么紧张过。我一到等候走廊,就遇到了一开始和我一起入校的哥们,他是东北大学的,他狠狠地和我倾诉,说没怎么问项目,全问的 408,然后他都忘光了,肯定寄了,我一听,坏了,我 408 也都不太记得了啊,计网什么的根本记不住啊。然后前面两个兄弟出来了都说问基础知识比较多,特别是 TCP/IP,还有一个哥们被问到了 Transformer 的结构,我一听慌了,我说怎么个事,这我还面啥啊,计网真不会啊。没办法,只能硬着头皮上了。
轮到我的时候,老师们都出来上了个厕所。我根据昨晚在酒店里的排练,把个人信息表交给老师后,就上台打开 PPT 准备汇报。房间一个七个人,五位评审老师,一位助理,和一个慌得一批的我。
面试一共分为以下几个过程:
- 3 分钟中文介绍 PPT。我按照排练,流畅地讲完了 PPT 的所有内容;
- 5 分钟英语问答。包括:自我介绍、论文创新点、RAG 全称、RAG 的缺点。其中前三点我都流畅地答出来了,特别是创新点,我有一页 PPT 就专门分点讲到了,于是就拿手比划比划着解释了出来。最后一点 RAG 的缺点我主要就是说响应慢和没有成熟的框架两个点,奈何本人实在单词积累匮乏,说到后面已经有点词穷了,老师大概看出了我的窘迫,就及时打断了;
- 5 分钟 408 拷打。因为我的自我介绍表上写了操作系统 95 分,老师就说,我操作系统学得不错,来问几个问题,主要问了:解释一下页表、解释一下二级页表、说一下快表 TLB 的全称及其作用。我从虚拟化的角度解释了页表,从树的角度解释了二级页表,快表全称我是真不记得了,感觉脑子里根本没这东西,作用我当时也忘记了,后来老师解释了说是放到缓存里加速的,我才想起来这么个东西。不过我感觉老师比较满意我对虚拟化技术的理解,也算是弥补了一点;
- 7 分钟项目。包括:LLM 的输入输出、论文的贡献、自己写的论文老师改的多吗、图谁画的。项目相关的我都有条有理地答上来了,其余问题我都如实回答了。
面试完感觉燃尽了,有一种淡淡的活人微死感。



九月一号,那天正在健身房锻炼,忽然收到群里老师发的消息,说复试排名出来了,我第一时间进去看了,发现拿到了优营并且排名还不错,应该是比较稳的,我当时高兴的直接跳了起来,然后赶紧回宿舍检查是不是重名的,看看 ID 对不对得上。确认的确就是我以后,第一时间和父母还有女朋友说了,大家都很开心!后来冷静下来后联系了强推我的 Z1 老师,Z1 老师询问了总人数和优秀人数后,表示我的排名应该比较稳,应该没有什么悬念了,然后向我表示祝贺。嘿嘿,也算是没有丢 Z1 老师的脸!
那天之后整个人心态就佛了,所有的明争暗斗都与我无关了。一直到 9 月 25 日系统确认,整个人都处于一个非常闲适的状态。
预一推·天大智算
天大智算推免一共分三批,第一批在六月,我当时错过了,第二三批分别在九月初和九月末。需要进行线上机试、线下机试和线下面试三个环节。
我在九月初收到了天大智算的消息,说我的简历通过了初筛,可以进行接下来的选拔。我寻思着,这是为数不多通过我简历的 985 了,到现在还没经历过机试呢,那就参与感受一下吧!机试那天找了个没人的自习室,架好了双机位准备开干。
机试一共两小时,给了五道题,语言好像是不限制,可以用 C/C++、Python 之类的,但我记得时间限制都是一样的,所以我就用 C++ 了。五题简单介绍一下:
- 第一题:输出一个数的数位平方,签到题就不说了;
- 第二题:日期的自定义排序,也是签到题就不说了;
- 第三题:圆的位置判定(死去的高中知识),把所有情况枚举出来就过了;
- 第四题:01 背包,并且还是不卡空间的最基础版,也不说了;
- 第五题:一道偏思维的贪心,感觉难度大概是 CF 1500 的样子。题目背景是括号匹配,给定一个只含
(、)和*的字符串 ,现在可以将*改变为(或)或直接删除,问修改后可以匹配的字典序最小的 是什么。考虑枚举,我们从左到右枚举,)优先拿最靠近它的(匹配,不够就拿*匹配,如果还不够就无法匹配;接着从左到右考虑(的匹配,优先拿最右侧的*进行匹配,如果不够就无法匹配;最后考虑多余的*,直接删除即可。时间复杂度为线性,可以通过。
代码我放到 GitHub Gist 了,感兴趣的读者可以进一步阅读。不过我不确定是不是正确的哈哈,但是我感觉应该是 AK 的。最后第一轮机试大约是 700 进 100,我也是成功入围。入围的学生需要线下去进一步考核,考虑到已经拿到东南铁 offer 了,加上当时比较穷,就没去了。根据我在群里潜水观察的结果,大约有 60 人去线下考核了,最后给了大约 15 个候补和 10 个优秀。
感谢天大智算给了我这次机会,至少让我简单证明了一下我自己,嘿嘿。
后记
文章其实到十一月底才陆陆续续写完,我实在是太懒了。
一路走来,经历了很多,也收获了很多,无论是挫折还是成功,都是组成现在完整的、坚强的、自信的我的不可或缺的一部分。从认真对待每一场考试、坚持打卡每一节水课,再到钻研技术、潜心科研,每一环似乎都在为保研布局,但又其实可以是为任何一件事布局。我坚信保研不是任何一件事的终点,也不是任何一件事的起点,它只是有心者的水到渠成罢了。
非常感谢父母的经济支持和鼓励,这是不让我操心生存的不可或缺的一环。更要感谢小 601 一直以来的陪伴与打气,她具象化了我的未来,让我收获了很多的感动与幸福,也让我活得更加有盼头。还要感谢一路走来帮助过我的老师和同学,是他们创造了良好的学习和生活环境,让我有所思、有所悟、有所获。
路漫漫其修远兮,吾将上下而求索。