写在前面
这段经历记录了一个计算机科学专业学生在保研过程中的心路历程和实战经验。他在末2的情况下,通过真诚和科研向的态度,成功在夏令营和预推免中获得了多个学校的offer,包括浙软、华科、西工大、吉大、信工所、国防科大和天大。尽管过程中有许多挑战和挫折,他始终坚持不懈,最终实现了自己科研向的梦想。
01
我的保研奋斗历程
01
个人情况
- 末2(一流B)
- 夏令营排名10%
- 预推免绩点10%
- 综测3/70(专业为2/144)
- 无项目、无科研(仅仅读过一些论文)
- 竞赛:ICPC EC-Final Cu
- 英语:四级水平
- 国家奖学金(去年获得,今年因学院限制未能获得)
02
前期准备
家在郑州,联系了郑大的一位强导,虽然人很好,但因为直博名额的限制和硕转博的风险,最终选择放弃。保研过程中,我收到了一份40-50k的工作offer,这也是我最终选择直博的重要原因之一。经过深思熟虑,我决定选择科研向且侧重实践的方向,并选择了计算机系统结构
02
夏令营经历
01
吉林大学 软件学院
入营(筛选较宽松,我校入营人数较多)
最终获得offer面试过程:线上进行,简单中文自我介绍和宏定义问答。尽管准备不足,最终意外获得优营资格,排名靠前。
02
西北工业大学软件学院
入营(报名时间较短,报考人数不多)
最终获得offer面试过程:线下进行,过程简单但给予了充分的面试机会。
03
中科院信息工程研究所
入营(报名即入,无bar)
无offer(预推免阶段获得学硕offer,但被我拒绝)面试过程:机试AK,但英语问题导致未能通过面试。
03
预推免情况
01
中科院信工所 二室
在中科院信工所的预推免过程中,我首先通过了编程题的机试部分,取得了全对的成绩(AK)。面试时,介绍了自己两次编程题全对的经历,包括天大智算的经验。随后,面试官提问了许多关于数据结构的专业问题,其中有一个C语言的专业知识点没能回答上来,因为我不熟悉那个概念。接着,面试官问我对学硕、专硕、直博的看法,我表示倾向于学硕和直博。当老师问到直博是否也可以时,我本来想补充一句“直博更好”,但面试很快结束,没能说出口。
信工所二室还有一个单独的英语面试,虽然我的英语水平不高,但面试官似乎是信工所的学生,并没有过于为难我。面试结束时,老师们询问我是否联系过导师,我表示因为不确定是否会收到offer,所以没有联系导师。老师们笑了,并建议我尽快联系导师。尽管我对自己的英语表现不太满意,也没有联系导师,但最终在9月28日收到了学硕的offer,并通过邮件拒绝了。
02
华中科技大学 直博
在华中科技大学的预推免过程中,我放弃了浙大软件和天大的面试(当时我只有吉林大学的offer,现在回想起来觉得自己真有勇气)。尽管华科的学硕门槛我也够,但我更倾向于直博。华科的机试取得了全对的成绩(AK),面试时间为8分钟,我用了三四分钟做自我介绍,剩下的时间回答问题。唯一有点紧张的是被问到英语四六级成绩,我临场做了解释,并让部分老师对我的理由表示满意。
面试过程中,老师们都很友好,我感到面试进行得很顺利,并联系了自己认为最合适的导师,最终顺利拿到了直博的offer,并决定就读华中科技大学的直博项目。
03
国防科技大学 计算机
在国防科技大学的预推免过程中,我的排名为12/160(300+人入选,线下去了160人)。夏令营和预推免的排名合并后,入选的800人标准化后排名未公布(今年取消了夏令营优营,导致成绩差点作废,群里一度炸开了锅)。我们只知道各种专业一共招收21个直博,直博和学硕等名额可能会在9月29日调整。
我联系了一位非常强的导师,他人很好,但由于928中午才知道自己的预推免成绩,不敢冒险等待。928晚上通知录取的过程分为五个队列串行进行:分别是入职、集成电路专硕、联培直博、直博和学硕。实际情况是直博和学硕的录取基本上在下午三四点才开始。我校其他同学知道了中九甚至次九的offer后都选择了放弃,开了第二批预推免,标题含“直博”字样,这可能意味着学硕和直博的名额都没有填满(五个队列一共招收200+人,候补名单有530人左右)。
国防科大的录取过程非常严格,直博录取后再选导师,流程上不公布具体的排名。我面试时坦诚地说了自己有华科直博的offer,面试的英语问题也比较特殊,问到我专业的人数和综合测评排名等问题。这次英语面试已经有了经验,问题也听得懂,顺利完成。
04
计算机常见面试真题整理
01
计算机网络
Q
解释TCP三次握手过程。
A
TCP三次握手是建立连接的过程,依次是客户端发送SYN请求,服务端收到后回应SYN-ACK,最后客户端回应ACK以确认连接。
Q
什么是子网掩码,其作用是什么?
A
子网掩码用于区分IP地址的网络部分和主机部分,帮助确定一个IP地址属于哪个子网。
Q
什么是路由表?
A
路由表是一种数据表,用于存储路由信息,帮助路由器决定将数据包转发到哪里。
02
操作系统
Q
解释进程和线程的区别。
A
进程是资源分配的基本单位,线程是CPU调度的基本单位。进程有独立的地址空间,而线程共享进程的地址空间。
Q
什么是死锁?如何预防死锁?
A
死锁是指两个或多个进程因争夺资源而相互等待,导致无法推进。预防方法包括资源分配算法、银行家算法等。
Q
解释分页和分段的区别。
A
分页是将内存分成固定大小的块,分段是将内存分成逻辑上的段。分页实现物理地址空间管理,分段实现逻辑地址空间管理。
03
数据结构
Q
解释二叉树和二叉搜索树的区别。
A
二叉树是每个节点最多有两个子节点的树结构,二叉搜索树是二叉树的一种,其左子树的所有节点值小于根节点值,右子树的所有节点值大于根节点值。
Q
什么是哈希表,如何解决哈希冲突?
A
哈希表是一种通过哈希函数将键映射到值的数据结构。解决哈希冲突的方法包括链地址法、线性探测法等。
Q
解释快速排序的基本思想和实现步骤。
A
快速排序通过选择一个基准元素,将数组分成两个子数组,小于基准的在左,大于基准的在右,然后递归排序子数组。实现步骤包括选择基准、分区和递归排序。
Q
请描述如何反转一个单链表。
A
利用三个指针prev、curr和next,依次遍历链表并改变指针方向。
Q
二叉树遍历:请解释前序、中序和后序遍历的区别。
A
前序遍历顺序是根节点、左子树、右子树;中序遍历顺序是左子树、根节点、右子树;后序遍历顺序是左子树、右子树、根节点。
Q
请说明堆排序的基本步骤。
A
首先构建最大堆,然后交换堆顶与堆尾元素,接着对剩余元素重新调整堆,重复以上步骤直到排序完成。
04
人工智能
Q
请解释梯度下降法的基本原理及其在机器学习中的应用。
A
梯度下降法通过计算目标函数的梯度来更新参数,使目标函数值逐步减小;广泛用于优化机器学习模型的参数。
Q
请简要介绍卷积神经网络的结构及其在图像处理中的应用。
A
卷积神经网络由卷积层、池化层和全连接层组成,通过提取图像的特征进行分类、检测等任务。
Q
什么是过拟合和欠拟合?如何解决这两种问题?
A
过拟合是模型在训练集上表现好但在测试集上表现差,欠拟合是模型在训练集和测试集上都表现差。解决方法包括增加数据量、正则化、调整模型复杂度等。
05
总结
在整个保研过程中,多面试、多尝试是成功的关键。硬实力和真诚是取胜的法宝,面试时应尽可能展示自己的优势。保研之路虽然充满挑战,但每一次面试和选择都为最终的成功奠定了基础。无论是中科院信工所、华中科技大学,还是国防科技大学,每一次经历都让我更明确了自己的方向,并为最终的选择做好了准备。