个人背景

项目内容
学校东部中流 211
专业AI
排名小专业前 5%,3/63
英语四级 590+,六级 540+
个人倾向方向 > 导师人品 > 导师学术 > 学校 title
保研方向数据库、分布式,或者其他 system 方向
核心目标逃离 AI

AI 专业,但是纯纯 system 人。

竞赛

  • 美赛 H
  • 蓝桥省三
  • 两个校二等奖学金凑行数

科研

科研情况基本为 0。读过一些 6.824 的相关论文,也看过一些近几年的文章,以及 LevelDB、etcd 这种工业实现。

项目

  • MIT 6.830
  • MIT 6.824
  • CMU 15-445
  • Go 实现的单机型 Redis
  • C 语言 Linux HTTP Server(写得太拉了,不想写在简历上)
  • 其他主要都是 Web 项目和一些不太适合当作项目写进简历的 Lab

这里需要声明一下,确实不是标题党。虽然专业是人工智能,但严格来说个人并不是科班出身,专业课全是信号与系统、自动控制原理、嵌入式等课程,408 都没有开全,甚至连深度学习都没有开。整个大二大三需要写代码的时候屈指可数,估计还没我一个 Lab 当中的代码量多,鉴定为自动化套皮。当时也是被学院给忽悠瘸了没有转专业,现在回想起来,整个大二大三两年所做的都是在弥补我当时这个错误的决定。

小结一下的话,就是学校背景并不突出,rk 也很一般,勉强蹭着前 5%。项目个人感觉做得比较扎实,但是吃亏在偏工程性,有的学校如果要求填写科研经历就不太好写。

Offer

  • 人大信院直博
  • 软件所并行实验室
  • 厦大信院
  • 华科软院 / 国光
  • 天大智算(合格,后续放弃)

最终去向:厦大信院

夏令营

报名与入营情况

个人秉承了应报尽报、不漏一校的原则,也是海投了十几个学校,最后果然也是被拒麻了,强 com 的中九一个没入。

院校是否入营结果入营时间
中山软院-7.3 - 7.5
成电计院-7.4 - 7.5
东北大学入营(放弃)放弃-
湖大信院-7.8 - 7.9
华师数据学院-7.17 - 7.19
华科国光-线上
科大苏研院-7.20 -
人大信院入营wl3,已补上7.8 - 7.12
厦大信院入营wl1,已补上7.12 - 7.15
天津大学入营合格,放弃线上
中南计院-7.8 - 7.9
软件所-7.17 -
山大计院入营(放弃)放弃7 月中上
哈工威入营放弃7.14(报道)- 7.16
上科大-7 月 4 - 6 日,7 月 17 - 20 日
西北工业大学-7.2 - 7.4

入营了但没去的学校

东北大学

和 RUC 时间冲突了,实在错不开,故没去,唯一的一个保底也没了。

哈工威

面试当天还是前一天睡到九点起床,发现自己被移出群聊,不知道是因为自己没改群名片还是已经结束了。本来也不想去,就没在意。

山大

纯纯宣讲营,我都没发邮件提交资料,最后也入营了。当时那天正在去北京的高铁上,那个腾讯会议点都没点进去。

天大智算学部

最恼火的一个夏令营。

久闻天大海王之名,今年可算是见识到了。当时本来也没想着报 TJU,点开官网发现十分钟就填完了,就顺手填了一个。结果天大最开始根本没筛人,QQ群里面有 1800+ 的人。

机试

之后首先通过机试筛一波人。公告上说的是只要不爆零就行,最后参加机试的有 1200 人左右,最后留下了 600 人左右。题本身并不难,大致都是 LeetCode easy 或者 mid 难度,还有两道是 LeetCode 原题。但是个人当时没怎么准备机试,AcWing 基础课也只过了一遍,最后也只 A 了两道,超时了一道,不过也是通过了初筛。

面试

天大的面试是分组进行的。由于个人想做 sys 相关,所以就报了 HPC 的那组。考核内容感觉非常随意,鉴定为纯纯的背景面:2 分钟英语自我介绍 + 5 分钟 PPT + 提问,总共时间十分钟。最后实际考核只有一分钟英语自我介绍 + 5 分钟 PPT,最后提问环节更是无语,感觉那些老师都没认真听,就问了一个“如果给了 offer 你的规划是怎么样的”。

最后那个组大约是 30 个人,最后给了 12 个“合格”。这里“合格”的意思是,合格并不代表是优营,后续还要持续跟导师保持联系到八月中旬或者八月底,最后才发优营。具体怎么个保持联系法就要看导师了。最后想着的是先拿个保底,所以就联系了一位做分布式调度相关的老师。

HPC 组

再说说 HPC 这个组还有这个老师。首先 TJU 个人感觉本身就不算是 sys 强校,HPC 这个组我个人查 DBLP、Google Scholar 等感觉大多老师也都脱离了科研一线。最终个人感觉有两个老师还可以,就挑其中一个方向比较 match 的联系了一下。之后老师就发了点论文让我看,说过几天聊一下。本来以为是考核性质的,我还做了个 PPT,结果到了当天不仅老师两次迟到,先是说推迟半小时,后来发消息也不回,大约半小时后问我是否有时间。在那等了一个点,后面内容也就是简单聊一聊,说可以留个名额,然后给了个大致的方向,让我现在就开始干活,后面参加组会。

聊天内容上个人感觉画饼味有点重。先说研究生的“果酱”是 2w,之后又说往届的学长学姐都是提前入组,毕设也跟着他做,最后毕设整理整理又是一篇高质量论文,之后入学去拿“果酱”也有很大的竞争力。反正这些话我听着并不是很舒服。后面给了点方向,让我先跟着学,后面参加下周组会。初印象并不是很好,当时由于手头没 offer,想着先拿个保底,也就先答应下来了。

最有意思的来了。大约一周后,我当时正在参加 XMU 的夏令营,他在群里发了个开组会的通知。由于我第二天就要机试 + 参观实验室,并且我确实是啥也没学,就直接和他请了个假,说目前还有别的夏令营。

之所以这么说,主要原因是之前参加 RUC 的夏令营,联系的老师问我后面还有哪个夏令营,我如实说后面还有 XMU,老师简单问了问情况之后祝我那边好好表现,争取也拿个优营。于是和 TJU 的老师我也如实交代了,没想到第二天他回了我一句:“啥意思?天大已经给了 offer 还要去其他的?”由于我当时马上要去机试了,感觉和他解释 + 拉扯还需要一段时间,而且下午还要从思明去翔安那边实验室参观 + 实验室面试,我就没回他,打算晚上再和他拉扯。结果下午他打了个电话,我当时在实验室机试没接上,后来看微信就已经被移出群聊了。

首先确实是我个人没及时回消息,主要也是实在没空回。但这种处理方式我也是确实没想到,有点绷不住。只能说他也不是真心想招我,互相海罢了。再者,TJU 去年手撕 offer 的事基本已经人尽皆知,“已经给了 offer 还要参加其他的”这句话哪个学校都能说,唯独 TJU 不行。本来打算好好跟他解释一下,道个歉给鸽掉,后来看他直接移除群聊了,也没什么好说的了。加上本身也不是很想去,就再也没回他。

再说说 HPC 这个组,组本身并不大,学术可以移步 DBLP 自行了解。只能说其中几位老师已经脱离了科研一线,还有一个是我上面联系的老师,另外一个之后和一位 TJU 本科的同学聊天时说他在本科当中的风评不是很好。总的来说,不推荐任何人报名 TJU 的 HPC 组,这里就不拉踩了,可以去自行了解一下还有哪些做 HPC 的组和学校。

人大信息学院

个人感觉总体上体验最好的一个学校。由于我本来做的是数据库相关的,所以 RUC 一直算是我的梦校。也在五月份左右就联系了柴云鹏老师,当时聊了聊之后就感觉老师人非常不错,方向也比较 match。当时他看我做过 6.824,就直接把我拉进了他的一个组里,说有时间就可以跟着学一点,看我的时间安排。由于后面我考试比较多,也就基本就在摸鱼看看论文和 etcd 的代码。

再说夏令营,最开始我是打算报专硕的。RUC 专硕 2 年 + 有宿舍 + 中关村,性价比爆炸。后面也是觉得入营无望,再加上和老师接触下来感觉老师人非常好,方向我个人有点基础也比较感兴趣,就联系了老师报了直博。最后也是入了营。

考核今年恢复了往年的线下考核形式,笔试 + 机试 + 面试。考核内容由于保密协议并不能说。

  • 笔试、机试比较简单,信院可以用 CSP 抵,但是今年的题感觉 CSP 400 以下抵都很亏。
  • 面试个人感觉还是很考察个人能力,面试的时候刚好那一组全是做 sys 的老师,也确实被问到了一些盲区,加上当时比较紧张,发挥得很烂,走出教室就感觉凉了。

不出意外,最后也是只拿到了 wl3。感觉补肯定是能补上的,但是目前想去的老师都已经有人联系了,可能选不到好老师。之前联系的柴老师跟我说,今年可能会有老师会有两个名额,如果谁多了名额或者谁鸽了,第一时间通知我,我哭死。不过现在 RUC 好像还没开始补人,目前还没收到邮件。

个人对直博还是比较恐惧的。之前报完全是因为感觉专硕入营无望 + 被柴老师的个人魅力打动才头铁报了直博。如果选不到好导师的话,我大概率就会放弃 RUC 信院了。

厦大信息学院

厦大今年是推荐制入营,最后录取也是按组进行录取。考核内容分为机试和面试,各占 50%。

机试

计算机系要求只能用 C,但是有的考场说 C++ 也可以。总的来说并不难,但是我本身机试就很烂 + C 语言字符串处理不熟悉,被一个字符串的题卡了很久,整得心态爆炸,最后发挥得很烂,换算成百分制只有 70 多。

面试

厦大面试有个软件,各项计时 + 抽题,面试整个过程按流程来:

  • 英语自我介绍
  • 文献翻译
  • 专业课提问
  • PPT 展示
  • 自由提问

厦大也有保密协议,具体内容也就不说了。总体来说氛围比较轻松,后来还扯到了 CockroachDB,给老师讲了几分钟的 CockroachDB。

答完自我感觉良好,最后没能优营,确实是被机试给拖后腿了。同组的基本都 80 多 90 多,机试占比 50% 直接寄。算了算,除非面试给个 98、99,不然也追不上最后一名。问老师,老师说现在组内 wl1,而且后面我得知组里已经有其他同学准备鸽了,姑且也算是个 offer。

update:厦大已经补上了,感觉除非那几个中九强校能找到强组的好导师,不然可能就这边了。

夏令营小结

由于今年大家都在海投 + 个人学校和绩点并不是很突出,最后入营结果也比较惨淡,入营后的表现也不是很好,最后只收到了两个高 wl。XMU 如果能补上,大概率还是会去的,sys 强导 + 实验室氛围很不错。RUC 能去肯定能去,不过得看能不能选到好导师了。

后面就备战预推免,看看 HUST、SYSU、ZJU、NJU 能不能入营吧。

预推免

由于这个时候厦大已经补上了,并且我也很想去,因此预推免主要是想同时兼顾 title + 老师,非好 title + 强导不去,因此投得也是非常狂,大概如下:

院校是否入营结果时间
浙大计专xx
南大计专xx
中山计院xx
软件所(并行计算实验室)offer9.14
华科软院(国光)offer9.26

软件所并行实验室

可以看到投得非常普信,最后被拒得也是非常惨。目前只有软件所的一个组让我入营了,主要做的方向为并行计算相关。其实个人对中科院系是很不感冒的,当时投的时候也就是瞎投着玩,没想到最后入营了。本来是不打算去的,后来有几个朋友入营了计算所、软件所、PKU,还有个朋友在北京实习,就想着去一起聚一聚。当天晚上就一起锐评计算所、软件所,更加坚定了自己不想去的想法。

9.20 开奖了,顺利拿到优营了,但是硕还是直博,老师是谁暂时都没说,9.27 才截止,先拿着想几天。

update:给的硕士,只有一个老师有名额,不太想去,就已经鸽掉了。

面试

第二天最终参加面试的有五个人,整个面试过程非常水。最开始问的两个英语问题竟然成了面试当中最难的问题。介绍完 PPT 之后就两个老师提问,一个老师全程看电脑不说话,另外一个基本上就是纯聊天,扯东扯西的,到点就结束了。面完得知其他人都是这样,不知道是背景面还是完全不想招人。

笔试

笔试主要是考 OS 和并行算法设计,一共五道题,一个半小时。总的来说不难,我前面 OS 的题废话太多了,导致后面没太做完。OS 主要是进程间通信和局部性,并行算法的题也比较基础,如果学过 CMU 15-418,大概都可以应付得了。

一点吐槽

最后再吐槽一下计算所和软件所,主要是我的某位朋友。他在计算所某个组实习了一个月后,线下实习只配了地下室作为宿舍,最后的工资也没发。更荒谬的是,最后夏令营的时候由于没坚定表达自己想来,就以心理测评不过关给挂掉了,也不知道具体情况是什么样。由于暑假 all in 了计算所,导致夏令营 0 offer。

这几天又“入”了软件所,收到了发送的邮件,但是又迟迟未告知具体的面试时间,不过他还是先来了北京,之后再询问竟然得知根本没有面试资格。请问没有面试资格您发什么邮件?

不是针对中科院的所有组,只能说有的组在招生上的行为极其敷衍和不负责。对于打工和 all in 这种事情,请慎重再慎重。而他有着还不错的 rk + 比较丰富的 sys 经历,至今还没上岸,在这里只能祝他后面一切顺利吧。

华科软院

报华科主要是想来国光那边做存储,因此当时也是提前联系了一位老师。和老师简单聊了聊之后,做了一轮实验室的机试考核:一个 LRU cache、一个负载均衡的题,还有个树 DFS 板子题,剩下两个不记得了。A 了两道,和其他人差距不大。之后询问老师,老师说可以为我保留一个名额,但是今年国光不单独招生,因此还需要走 CS / SE 的名额。本来报的是 CS,在开预推免的几天之后,老师说今年 CS 竞争比较激烈,然后就让我转投 SE。

入营了,但是 25/200,机会渺茫,当作保研的最后一站去玩玩吧,拿优营就不指望了,而且那边的条件我也不是很想去。

update:出结果了,最后排名 14/98(入营了 200 人,最后只有 98 个参加面试),可以稳录取了。目前还是不太想去,明天找老师详细聊一聊再确认一下。如果和我原本想的差不多的话,就准备鸽了。

面试

华科是我今年遇到的第一个先面试后机试的学校,那就先说说面试。面试每个组的内容都不太一样,我被分到的组主要是自我介绍 + 围绕项目的自由提问。总体上氛围还是很轻松的,年轻老师很亲切,老教授很和蔼,整个面试过程聊得很开心。这次终于没有保密协议了,可以好好说一下内容:

  • 学习过程中遇到的最有挑战的事 / 工程量最大的项目
  • 你做的这些 Lab,具体是什么形式
  • 对于一个系统,如何检测运行中的故障
  • 既然你做分布式,那么你有接触过区块链吗,了解区块链当中分布式的应用吗
  • 有没有接触过较为前沿的内容
  • 你在 sys 方向积累很深,你是怎么确定你的方向的
  • 既然你是人工智能专业,又主要学数据库,你对 AI4DB 有什么看法
  • 读研的未来规划 / 方向

面试的老师刚好有一位是做分布式 / 区块链相关的,他对我做的这些东西也很感兴趣。总的来说,给我的感觉就是做的这些 Lab 确实是帮了大忙了。最开始介绍了很长时间 6.824 当中的相关工作,我当时说到了分布式环境下 debug 很困难,老师就追问了一个如何检测系统故障。由于当时 debug 确实很头疼,就了解到了市面上的一些智能日志分析软件,就主要围绕着这个答的。对于前沿工作的问题,主要是说了说 Raft 作者博士论文当中的优化和 etcd 当中的实现(其实也不是很前沿),然后是 Raft 在跨域上的应用和 CockroachDB(这里再次感谢柴老师当时拉我进组呜呜呜)。刚好最近在学 15-721,又说了说在课上看的几篇近几年的 SIGMOD 文章(Snowflake 这种的)。关于确定方向的问题,就主要说了自己从 AI 到后端再到 DB 的一个跑路过程小故事。综合来讲的话,感觉老师还是比较认可我在各个问题上的回答的,也给予了比较正面的评价“挺好的”。我个人也感觉整个面试过程很不错,和老师聊得非常开心。

机试

华科的系统感觉有点奇葩,不是那种传统意义上的 OJ,而是个 LJ(local judge),Win 平台,IDE 用的是 VS2010。每次在系统中答题都会弹出来一个 VS2010,在里面编辑,然后编译运行一遍就算作答了。形式上又有点类似 LeetCode,不需要自己进行 IO,只需要补充核心函数,然后不能自己去额外引入头文件,基本上就是 C 语言环境。

题目很简单,就三题:

  • 青蛙跳台阶 / 斐波那契数列
  • 字符串处理,判断能不能把一个字符串变成相邻字符都不同的形式
  • N 皇后

由于我平时主要还是写 C++ 为主,因此看到 C 语言字符串的题就犯恶心。因此把第一题和第三题快速 A 掉之后,第二题尝试做了一下,然后结果都是典中典的“烫烫烫烫”,之后直接不想做了,提前交卷溜了。

Summary

高考结束后,带着一种“考败来矿”的心态开启了大学生涯。在我听说到可以保研之后,便一直将保研当作我大学生涯的一个终极目标。在这三年中,保研作为目标的这个想法从来没变,但是究竟为什么要保研,这个问题我思考了很多。

现在如果让我来回答的话,我认为保研只是一个能够去更好地进行学习的途径,并不是大学生涯的一个终点或者终极目标。带着这样的心态,学习过程当中就不容易陷入到只卷绩点,或者随波逐流地跟着他人做一些项目。也多亏于此,今年参加的夏令营 / 预推免都收获了 offer,offer 率 100%。

最后再说说一个 trade-off 的问题。今年也确实收获了几个 offer,放弃的 offer 在 title 上都大于最终去向。我的观点是只要遵从自己的内心就好,虽然可能会感觉有点遗憾,有时会去想如果我是人大的研究生会怎么样,如果我是华科的研究生又会怎么样。不是做了正确的选择,而是自己做出的选择就是正确的选择。我只需要知道我最后选择了厦大,选到了很好的老师,做着自己感兴趣的方向就可以了。现在如果再给我一次机会的话,我相信我还是会做出同样的选择。