末九计科 6%
四级 558、六级 518
CCSP 一铜一银,ACM 一铁!
两个水项目
无科研经历
由于对自身定位的认识不足,加之今年极度内卷的保研形式,以及线上面试的便利,我选择了海投。
夏令营
中国科技大学 计算机科学与技术学院(入营/参加)、南开大学 计算机学院(入营/未参加)、华东师范大学 软件学院(入营/未参加)、华东师范大学 计算机学院(入营/参加)、复旦大学 计算机学院(未入营)、山东大学 计算机学院(入营/参加)、南京大学 计算机科学与技术系(入营/参加)、南京大学 软件学院(未入营)、同济大学 电子与信息工程学院(未入营)、中国科学院大学 软件所(未入营)、上海交通大学 软件学院(未入营)、中山大学 数据科学与计算机学院(入营/参加)、天津大学 智能与计算学部(入营/参加)、哈尔滨工业大学(深圳) 计算机科学与技术学院(未入营)、浙江大学 软件学院(入营/未参加)、厦门大学 信息学院(入营/参加)、中南大学 计算机学院(未入营)、武汉大学 计算机学院(未入营)、北京航空航天大学 计算机学院(未入营)、西安交通大学 软件学院(入营/参加)、华中科技大学 计算机学院(入营/参加)、华南理工大学 计算机学院(入营/参加)、北京理工大学 计算机学院(入营/未参加)、东南大学 计算机科学与工程学院(入营/参加)
夏令营优营
中国科技大学 计算机科学与技术学院(二批次)、华东师范大学 计算机学院、山东大学 计算机学院、中山大学 数据科学与计算机学院、厦门大学 信息学院、西安交通大学 软件学院、华中科技大学 计算机学院
经过夏令营的洗礼后,我对自身的定位有了更清晰的认识,预推免只选择了几个学校报名。
预推免
北京大学 软件与微电子学院(未过初审)、哈尔滨工业大学(深圳) 计算机科学与技术学院(通过初审/未参加)、浙江大学 软件学院(通过初审/参加)、同济大学 电子与信息工程学院(通过初审/未参加)、北京航空航天大学 软件学院(通过初审/未参加)
预推免通过
浙江大学 软件学院
浙江大学 软件学院
由于今年线上面试的形式较为特殊,不知道对以后是否有参考价值。不过仍然希望以记流水账的方式,记录一下我在各个学校面试的情况,以面试时间为序。
第一场面试,紧张。几个老师围坐在远处的桌边,低头翻看材料,并非我想象中的对视。
最初的环节是英语口语测试。老师让我介绍一下长沙,这是一个很容易的问题。然而,我跪了。离开长沙已半年,脑海中对长沙的印象仅剩下岳麓山和湘江。紧张的我,除此之外,脑海一片空白。于是,两句后,我就陷入了尴尬的停滞。最后只能以 “I am too nervous to continue” 草草收场。难受死了。
老师也没说什么,直接问我,我的学院是 ”信息科学与工程学院“,是不是有学什么信息类课程。我答无(想着前不久才吐槽过学院的名字),并列举了一些上过的计算机课程。然后,老师又问我为什么没有科研经历。我不能说我一直在划水啊!我只好说我在搞竞赛,然后说了一些我获得的奖项(好水,我都不好意思说)。
接着,老师开始提问专业问题。第一问是 ”操作系统中的内存抖动是什么?”,我立即描述了一下缓存抖动(结束时才发现是内存抖动,但内存抖动真没学过,想去应该就是缓存抖动吧…);第二问是 “二叉树前序/中序/后序遍历的区别”,这很简单;第三问是 “求拓扑排序有几种方法“,我讲了一般拓扑排序的算法流程和利用强连通分量 Tarjan 算法求得逆拓扑序这两种方法(结束时搜了一下才发现原来拓扑排序有好几种不同的实现方法…)。
两天后优营结果就出来了,效率很高。本人拿到了第一个 offer,心里踏实了起来。
南大开放日持续三天,实际上只需要 20 分钟的面试就结束了。面试分为两场,pipeline,第一场限时回答几道选择题,第二场老师面试,每场各持续十分钟左右。
第一场面试,选择一个编号的题库进行作答。我选了 8 号。第一道就是数学题,我很慌,因为我没有复习数学。不过好在是道集合的题目,不是很难。第二题是计算机系统的题目,问题是哪个选项是错误的,我选了应当优先使用被调用者寄存器%ebx(不知道对不对)。第三题是算法复杂度计算,问哪个递归算法效率最高。首先排除两个每次规模减一的,这肯定不是答案。剩下的两个算法转换成递推式就是 T ( n ) = 5 T ( n / 2 ) + O ( n ) T(n) = 5T(n/2) + O(n) T(n)=5T(n/2)+O(n) 和 T ( n ) = 9 T ( n / 3 ) + O ( n 2 ) T(n) = 9T(n/3) + O(n^2) T(n)=9T(n/3)+O(n2) ,根据主定理,两个式子的复杂度分别为 Θ ( n log 2 5 ) \Theta(n^{\log_25}) Θ(nlog25) 和 Θ ( n 2 log n ) \Theta(n^2\log n) Θ(n2logn),两边各取以 n 为底的对数,可以发现是第二个式子的复杂度更小。因为这道题限时两分钟,根本来不及作答,只好凭感觉选了第一个式子(然后就选错了)。第四题是程序阅读题,人脑模拟运行,观察到许多坑点,我想我应该都避开了。
选择题结束后,老师又问了一道思想品德题。我原本以为会是什么又红又专的东西,结果问的是 ”你认为学校管理其下属院系是应该宽松还是紧张?“。我当然回答应当宽松。回答完毕,老师就告诉我下一场面试的会议 ID 和密码,然后我就离开了考场,进入下一场面试。
第二场面试,有三位老师。一上来就是英语口语题,我本以为会是聊家常,或是问专业问题,结果居然抽到了一道政治题,大意是 “你觉得高中教育与本科教育是否应当免费?”。我当然回答应当免费。我一顿乱讲,中间想不起单词卡了好几次,表现十分糟糕(至少比在山大行)。
英语面试结束后,三位老师开始轮流问我问题。南大是盲面,老师手上没有我的简历,也不给我自我介绍环节,所以我怀疑他们可能连我叫什么名字都不知道。在这样的条件下,老师们只能一顿乱问,不管你是什么专业,学没学过。而且,有项目经历和论文的同学就很吃亏。
第一位老师问我,我熟悉什么语言。这是经典的自爆问题啊!按照以往的经验,如果答 C++,那么对方就有机可趁,开始一顿怒怼。我非常小心谨慎地答 C。老师显然不是很满意,因为这不是他想要的答案,他不想失去怼我的机会,开始引导我:“你就没学过点别的语言吗?” 我镇定自若,不可能回答 C++ 的,我说,用过一点点 Java。他见此情形,彻底失去了希望,于是开始转变策略,问我平常写程序都写什么。我说写编程题,像 ACM 这样的,试图将他引导到数据结构和算法上!结果,他并不吃这套,问我:“你怎么知道你写的程序是对的呢?” 我直接答道用对拍,写一个确认无误的效率更低的算法(但是我现在又意识到,我怎么知道我写的对拍是正确的呢。。陷入了循环论证当中,当时并没注意)。老师说那我怎么知道我写的对拍程序是对的呢?我只好说不断测试,用大量随机样例测试,并用人工构造的极端样例检测算法的边界条件。老师追问测试到什么程度我才能确认我的程序是对的。我:???老师你这是哲学问题。老师说这是科学问题。我很崩溃,老师说可以了,换下一位老师。终究,躲开了 C++ 的制裁,我还是没有躲过被一顿怒怼的命运,该来的总是会来的。。
第二位老师的问题就很正常,问我进程和线程是什么,区别在哪。这很简单。
第三位老师问我,我有没有写过程序。我感到了莫大的耻辱:我刚刚表现得那么菜,以至老师觉得我连程序都没写过吗?。。我说,我当然写过,我是计算机专业的,还参加过 ACM 集训。老师又问,我写代码偏向工程还是数据结构和算法。当然是数据结构和算法,我以为老师会开始问我算法题了!非常兴奋。结果老师问我,我在书中学到过的算法,在哪里见过它的实际应用。这。。。这么水的开放式题目真的好吗?我说在计算机网络的网络层中,为每个路由器制定路由表用到了最短路算法。然后就没了,我很失望,没有问我算法题。
总的来说,我觉得第二场面试把我面成了一个菜鸡,我好难受。我想,南大梦碎了。
确实,最后发 offer,连在 wl 里的资格都没有 5555555
水,很水,非常水。说是每人准备 1 分钟英文自我介绍 + 4 分钟科研成果介绍 + 3 分钟提问时间,可以想到,个人展示在考核中的重要程度,但也加剧了水的程度。
我的个人展示时间可能只有 4 分钟左右,语速比较快。最后的提问时间,老师问我,我写到的基于 2PC 的 KV 数据库的性能跟市面上的数据库有没有比较过。这问题…我说,我写的只是个 demo,主要是为了实现 2PC 协议。接着,他问我我的数据库实现了怎样的一致性(PPT 中谈到了一致性)。我开始一顿乱讲。我感觉面试老师对分布式没有了解,只能问一些无关紧要的问题,大概是因为天大多是搞智能的吧。然后,他也没什么可问的了,就把我打发走了。我没计时,但我感觉总共就只面了 5 分多钟。
说实话,我感觉这是我目前,也很可能是所有夏令营中,最水的一个。一没机试,二没专业课问题,面试还几乎纯展示,基本上是只看简历选人了。然而最后并没有拿到优营,而同校的其他人全部都拿到了,搞不懂。
中山的线上考核非常严格,先是拉我到一个专门的审查会议,对我的各种资格、设备和环境进行检查,还要我宣读承诺书,一番操作之后才放我进正式面试的会议。
会议刚开始是 10 分钟的 PPT 展示,考虑到在天大只讲了 4 分钟,我放慢了语速,并添加了许多无关紧要的内容,总算是凑够了 10 分钟。展示结束后,老师就开始问我英语问题:我最喜欢的一门课是什么?我听到这个问题我脸都青了,之前准备口语的时候,是看到这个问题的,但我忘了加入口语题库了…于是我只好现场乱讲,说了操作系统。没想到,还有第二个:研究生时最想做的事情是什么?我:unnnn…我想爆了脑袋,说了句 “我想读非常多的论文来提升我的研究能力”,我为我的心口不一感到抱歉。
在我以为一切都结束,可以松一口气的时候,谁想到有更恶毒的魔鬼在等待着我。老师问的第一个问题居然是:正定矩阵是什么?我人都傻了。我的线性代数只复习到线性无关…根本不知道这是啥。其实,前几天,在一个保研群里,就见过这个问题,我记得群里给出的答案是秩大于 0 的矩阵,我就这样答了,但是好像是错的。事后查了下好像是特征值大于 0,那么我是记错了。
然后,老师又问,秩是什么?这,一个经典问题,我忘了,只好随口胡说。感觉老师问上瘾了,又问我对称矩阵是什么?全概率公式怎么写?微分中值定理是啥?…面对这一连串的数学攻击,我跪了,我只好说,我忘了,没有复习到…老师遂放弃,我松了一口气。
我的个人展示中提到,我在纸刊上发表的文学作品。老师可能对文学作品的发表与学术论文的发表的异同感兴趣,便来问我。我就解释了一下。
老师们又问我一些很奇怪的问题:“你刚刚英语说学习操作系统能够提高编程能力,为什么?”、”你们的操作系统的实验是什么?“、”你计算机系统学了什么?“、”说一下 CPU 的结构?“、”你说你对计算机网络感兴趣,但在成绩单里没有见到这门课,是怎么回事?“…
这些问题,考察知识点的(CPU)我刚好没复习,闲聊式的(操作系统、计算机系统、计算机网络)我刚好都是着重复习的,加上前面问的数学问题,我感觉这场面试,完全把我的劣势完全暴露出来了…
面试结果只有通过和不通过两种(我是通过),至于效力,有两种说法:一种是宣讲上的,说是听从教育部不搞擦边球,最后夏令营成绩跟九推一起排,择优录取,相当于提前预推免了;另一种是老师说的,往年一般只要通过就是录取了。总之,很迷。
(10 月更新)一直到 10 月预推免成绩公布,学院都没有说清楚究竟是哪一种录取方式,只能说不太负责(反正我也鸽了
水,好水,特别水。我在会议室文档里上传了简历,讲了四分钟自我介绍 PPT(对,就是那个天大用完了给鸭大用的 PPT),然后老师问完我喜欢的方向,就说我只要有保研资格就能来了,然后就结束了。无英语、无专业课问题,全程 0 压力。
我是能猜到西交软的生源了。
优营出的也很爽快,老师很无奈地说:要鸽也早点告诉我。
第一天上午是机试,ACM 和 OI 的混合赛制,5 道题,基本都是数学/动态规划题。本打铁蒟蒻太菜了,只能用暴搜骗分(都骗不到)。反正做的很差。本以为今年夏令营唯一一场机试,是俺大显身手的时候,果然,还是在做梦。
第一天下午是各团队的面谈,结束后需要提交志愿。这里要先说明一下华东师大计算机的各个团队,一个系统方向(大数据智能系统)+ 若干个智能方向(ML/CV/NLP…),以及一个隐藏导师(魏同权老师,做云计算,他还是我在填报系统时的意向导师)。我对系统和网络比较感兴趣,便填写了魏老师和大数据智能系统团队。
面试前老师给大家发了各个团队的推荐论文,需要阅读,面试时可能会提问。由于魏老师不在夏令营手册的名单中,也就没有推荐论文,我就只读了大数据智能系统的论文,大概是个In-Memory File System。
第二天是面试,我被安排在了 8:30 的组里,很难受。开场是自我介绍,中文的就可以,我简单地说明我的情况。接下来是一道英文题,要求朗读并翻译,内容是关于病毒的(还以为会是计算机相关,没想到是蹭了个时事)。之后是一道简单的编程题,要求给出编程思路,题目是判断一棵二叉树是否是二叉搜索树。
这些环节都结束后,就是与老师们交流了。刚刚提到,面试前提交了志愿,所以,老师就问我填了什么志愿。我说大数据。老师们愣了。我也愣了。老师好像不知道有这个团队似的,跟我确认,“什么大数据??” 我算是明白了,原来这些老师都是智能相关的团队的,这下尴尬了。我说,我报了一个大数据智能系统,和一个不在名单里的老师,想做网络、云计算、分布式系统这类的。于是,老师们彻底死心了,问我为什么不报机器学习、计算机视觉什么的。我曾也喜欢过机器学习,但经过一段时间的学习后,发现我还是不适合搞这方面。其中一个比较年轻的老师就说,是不是数学不太好啊?我含泪点点头,老师表示理解。
老师们见我不想搞机器学习,也不好问一些相关的问题,只好让我自由发挥,问我对云计算的理解,学过云计算的什么知识,学过分布式的什么知识。我开始用云计算技术——我只去上过第一节课的那门课——的知识来胡说八道。老师们也不懂这些,就看着我,无计可施。我窃喜。然后,老师们问我,我看论文没有。我只看了 abstract 和前面的一点点介绍,但这足够我唬他们了!
老师们以为我很懂,开始问些别的,比如 ACM(华东师大很看重 ACM,以至于都没问我科研的事)。我估计老师们应该被我糊弄住了,问我,我有没有报别的夏令营。我如实回答,我报了,因为今年竞争太激烈了,被迫加入内卷当中。又问我,是不是能拿到保研资格,昨天机考考得怎么样。我感觉这简直就是在告诉我:你稳了,只要机考不是爆零,又能拿到保研资格,你就能来了。
最后,拿到了优营。
考核形式是抽一道英文题(5 min),抽一道专业题(5 min),以及 5 min 的老师提问时间。
英文题居然抽到了 ”介绍一下你用过的第一台电脑“ 这样的问题,好在一下就糊过去了。还有一道翻译题,内容是关于神经网络的,了解一点专业术语,也糊过去了。
专业问题就很坑了。我抽了一道人工智能的题目,关于语音识别和人脸识别,介绍它们的应用、所用的技术、面临的问题,这我是真的不懂了啊!如果是神经网络什么的我可能还可以糊一下,具体到语音识别、人脸识别我是真不懂了。这方面我根本没去了解过,毕竟我很早就对人工智能丧失了兴趣。我糊弄不过去了,只能说,这方面的知识我没有学过,并且不是我的兴趣方向。
老师说好,让我介绍一下我自己。我就开始说,我喜欢系统,喜欢网络,喜欢分布式,对人工智能没兴趣。老师接着问我对网络的前沿领域有什么了解,我其实也不清楚…说了下 SDN、云计算、边缘计算。老师又问我云计算和边缘计算有什么区别,我就大概说了下一个中心化一个去中心化。然后,老师可能感觉学院里没什么人做这些,就问我,我对学院做云计算的实验室有什么了解。呃,我就说,昨天宣讲第一个实验室,做的是网络的,其他的好像都是人工智能这些的。这时,时间到了,我就退出了。
最后出结果,80 分以上优营,我 79 分。nb。
不同的系面试有不同的规则,我是计算机科学系,首先三分钟英文自我介绍,然后五分钟 PPT 个人展示,最后是老师提问。
自我介绍重复了,我只好英文简单说一下概况,中文详细展开。PPT 是我用过三遍的了,现在是第四遍,非常娴熟。老师提问,上来就是思想品德问题三连:“你觉得你与同学相处得怎么样?心情烦闷怎么排解?”、“你认为大学应该加强思想政治教育吗?”、“如果你见到有人发表不当言论、反动言论,你会怎么做?“ 我:喝喝。之后的正经问题所有都在项目上展开,老师把我简历上写的项目都问了个遍。好在我之前准备过,无压力。
厦大的生源看起来确实不行,但家在福建,还是蛮报了一下厦大。
面试前,说好的,面试流程是 2-3 分钟中文自我介绍,然后提问。然而,事实上,老师让我用英文介绍…还好我已经背得滚瓜烂熟。
介绍完后,老师说,我数据结构分数最高,96,是吧?我提醒道,是计算机系统,98。老师意外,但这阻挡不了他想问我数据结构的欲望,说,问你个数据结构问题,你了解堆排序吗?我说,我懂,然后 blahblah… 老师又问,建堆的复杂度是多少?我说,有两种方式,blahblah… 老师又问,堆排序的复杂度是多少?我说,平均 O(nlogn),最坏也是 O(nlogn)。老师说,回答正确。
接下来,老师又问了我一个项目,移动开发的。我不知道有啥好说的,就说前端 Android + 后端 Java,通过 socket 网络通信,后端采用 MVC 框架对数据进行增删查改。我想让他问我分布式的项目,不过看起来这个老师不懂这个。
最后,老师问我,有没有联系好导师。科大做分布式的老师不算多,方向上没有特别感兴趣的,就迟迟没有联系。我说,还在考虑联系哪个老师。
最后结果是,我在二批次里(说是相当于 waiting list,但后来实际上相当于优营)。不是很理解为什么拿到一个很低的分数,唉,反正就这样吧。
往年华科夏令营似乎是有机试无面试,今年特殊情况,有面试无机试。
面试采用分组群面形式,说是群面,实际上是闲聊(当然,不同组的具体形式不同)。虽然也针对每个人问了一些专业/项目/科研问题,但总的来说,氛围比较轻松。
最后,拿到了优营。
东南的夏令营和预推免是合在一起的。
面试是在一个很野鸡的平台上进行的,用起来就像个课设项目。面试开始后,首先问了我一个英文问题,不仅是用口述,而且还是专业问题,大概是问计算机网络的(我只听到这个…)。我就直接说了计算机网络大概是个什么东西,结结巴巴的。老师听不下去了,说,可以了。然后问了我的研究兴趣,有什么了解,做过什么项目。
接下来,老师开始问我专业问题。首先是问了我学了什么计算机专业课,我报了下菜名后,老师又不说话了。另一个老师问,反向页表是什么?我:阿巴阿巴。老师:那你说下页表。我:巴拉巴拉。怎么问这么偏的东西,OSTEP 上提及反向页表的就两段话,全忘了。。另一个老师问,微信红包随机金额怎么实现?我:阿巴阿巴。老师:那给你 20G 的数据,在 3G 内存里进行排序,怎么操作?我:阿巴阿巴。老师:好了,可以了。我卑微退场。。。
有毒,我们算法课甚至连外部排序都没教。。。我也没上心。。。唉,太菜了,是我太菜了。
浙软在预推免中跟夏令营一样海,同样是点击就送,预推免群人数一度接近千人,而总录取名额(SE + AI)在 200 左右。
浙软预推免的复试分为机试(15%)与面试(85%)两部分。
首先是机试。按照去年面经的说法,虽然机试只占 15%,但它非常重要。由于机试形式与 PAT 相同,且可以采用 PAT 成绩作为顶替,我报考了 9 月的 PAT(9 月 PAT 的经验挖个坑),并拿到了 97 分的成绩。机试开始前,我用 PAT 成绩顶替了机试成绩。在公示的顶替成绩中,满分 23 人,90 分以上 57 人,我感觉问题不大。机试结束后,看推免群中说到,机试好像比前两次 PAT 难,满分只有10 人左右,60 分以上 200 人左右,我感觉基本稳了。
面试是经典的个人展示开局。老师问了我三个问题
如何一次写出正确的程序?(我:算法类先利用数学证明,工程类先编写详细文档。)
流量控制在哪一层起作用?(我:运输层。老师:答错了,是链路层。)
数据库的四个特性是什么?(我:ACID)其中的 I 是指什么?(我误答成了一致性,在被问到 I 是哪个单词的缩写的时候反应过来是隔离性)你的分布式数据库项目中,是否实现了隔离性?(我:目前是串行的,不支持并发,所以没有)如果让你来实现隔离性,你会怎么做?(我:上锁,采用经典的 R 锁和 X 锁方案)
第一个问题让我想起了夏令营面南大的阴影(“如何知道你写的程序是对的?”);第二题答错了,被老师怒怼,是真的怼;第三题一时短路,给了错误的答案,后面才反应过来。总之,感觉情况不怎么好。
最后隔天出成绩,效率真高。面试分还不算低,结合机试,还有个不错的总分,在拟录取中靠前的位置。
推免开始前,我对读研的想法就是:不搞科研,所以所有学校我报的都是专硕。在这两点上,北大软微,yyds,然而今年太卷了(是我太菜了),没有通过初审。于是,我选择了次于软微的浙软,同时也算是圆了自己的浙大梦吧(勉强)。