写在前面
夏令营已近至眼前。面对铺天盖地的夏令营通知,各位保研er们是否已经准备就绪?保研er们即将在夏令营中面临激烈的竞争,但机会与竞争共存,只有做好充分的准备,才能在这场战役中获得最终的胜利——梦校的offer。那么,夏令营应该如何进行准备呢?
计算机类笔面试常见知识点总结
01 笔试准备 01题型
对于计算机专业的笔试,一般院校考核会有两种题型:
① 选择、填空、判断: 这类题目一般涉及计算机的基本概念、特征、分类及简单的计算等,着重考察学生的专业知识广度,考核难度比较基础。但这类题目数量较多,对同学们的答题速度要求较高。
② 程序设计、算法设计、应用计算: 这类题目一般比较综合,着重考察学生的专业知识深度,要求同学们对经典知识、算法的综合性理解,专业前列的院校一般很喜欢考核综合类的笔试题。
02考核范围
① 编程语言基础: 编程语言是最为基础的,预推免中专门针对编程语言知识的考查可能较少,但是同学们不能因此松懈,应该积极复习。许多基础专业课的知识都与编程语言相关,尤其是数据结构与算法更与其息息相关。其中,C语言的基本语法是最基础的,也是最需要掌握扎实的。
② 数据结构与算法: 数据结构与算法是计算机专业同学的基本功,许多院校都着重考察数据结构与算法,其中时间复杂度、链表、循环队列、二叉树、哈希表等知识点都是计算机保研常考知识点。
③ 计算机网络: 计算机网络也是最常考的科目之一。由于同学们未来面临的许多科研项目都离不开网络架构,因此对计算机网络的考察也是重点之一。常见的考点:计算机网络中各层特点、TCP与UDP的异同、TCP的三次握手、流量控制和拥塞控制等。
④ 操作系统: 操作系统的课程知识比较系统,这也是计算机专业的同学们需要掌握的基本功之一。预推免中许多院校的老师们都会以操作系统知识作为考察的重点之一。同学们需要准备好进程与线程、死锁、磁盘调度算法、页面置换算法等经典问题。
⑤ 计算机组成原理: 计算机组成原理较难,因此笔试中几乎很少会出现相关的考点。但部分顶尖院校,例如北京大学等还是对计算机组成原理的基础知识较为重视。
尤其是对于申报计算机系统结构、高性能计算等偏底层的方向的推免生来说,计算机组成原理知识的复习是必不可少的,其重要基础主要涉及原码、补码、反码、循环冗余校验、带宽、利用率、存储容量等性能指标。
02 机试准备
01巩固专业基础
机试与扎实的基础知识息息相关,同学们需要积极复习数据结构与算法基础。保研er们可以利用课本或是专门的机试书籍对常见的数据结构(如链表、队列、树、表、图)进行复习,熟悉数据结构对应的操作,常用的指针、引用、标准输入输出、文件操作等更是要多加练习,确保熟练掌握。
在算法方面,对各种经典算法要牢记于心,比如枚举、贪心、递归、分治、动态规划等。此外,在机试考核中,对字符串处理(字符串匹配、词频统计等)、搜索算法(DFS/BFS)、列表队列处理(增删查改)的考察较频繁,同学们也需要多做准备。
02练习真题
刷题是提高机试能力的必需途径,而选择适合自己的oj平台非常重要。下面老师就来给大家推荐一些oj平台:
● UVA
UVA是和《算法竞赛入门》相对应的刷题平台,书中的练习题在平台上都可以找到,两相结合刷题效果非常好。不过全英文的网站在使用上可能会有点困难,提交速度也有点慢。此外,这个平台对答案的输出格式要求很严格,需要注意(格式不对也会WA哦)。
● 百练oj
百练oj是北大官方的平台,北大历年的夏令营、推免试题上面都有,资源非常丰富。平台评测速度很快,但对头文件要求很严格,可能因此出现编译错误。
● Leetcode
Leetcode也是很有名的oj平台,题目数量多,而且在持续增加新题。题目有分类,有难易程度和Tag标签标注。此外,可以在线编写、编译、调试,支持多种编程语言。
● RQNOJ
RQNOJ算是一个老oj平台,有很多经典题,但题量较小。题目有分类,界面清爽,debug很方便。
对很多机试能力不强的保研er来说,刷题或许不是一件愉快的事,毕竟debug很容易使人崩溃。因此一定要遵循由简入繁、循序渐进的刷题原则,一点点增强自己的能力和自信心。其次,要学会读别人的代码,学习他人更简洁有效的思路,并试着举一反三,从而更快成长。
03 面试准备 自我介绍类
几乎在所有的面试环节中,最开始就需要同学们进行自我介绍。根据时间的长短而言,一般分为一分钟和三分钟的自我介绍。同学们需要详细介绍自己的基本信息、学术背景、竞赛与科研项目经历、未来发展目标等。
基本信息一般包括同学们的本科院校、专业学习排名等等。大多数老师都比较关注竞赛与科研项目经历,同学们可以概括一下自己曾经参与过的项目内容及成果,也可以阐述一下自己未来的发展目标。
自我介绍环节一般比较简短,是给老师们认识自己的机会,也比较轻松,无须有太大的压力。自我介绍是面试环节中刚开始考核的缓冲阶段,既可以引起老师们的兴趣,也可以缓解同学们的紧张。同学们可以提前准备好一分钟和三分钟的自我介绍。
专业知识问题
部分院校会在面试中进行专业知识的考察。但由于面试中准备时间短暂、心理压力大,因此许多同学会觉得面试中的专业知识考察难度非常大。专业知识问题的考察一般会以抽题的方式进行,同学们首先要做好充分的准备,尽可能地表达自己对专业知识的理解。
如果答不上来也不能闭口不答,可以如实告知老师,老师们可能会进行一些提示和引导,这一小段时间内同学们也可以进行思考。 当然,如果能够准备充分,必然也会言之有物,同学们可以参考往年常见的CS保研面试问题。
简历项目问题
在夏令营申请时,同学们都会向院校老师们提供一份自己的简历信息。在综合面试中,老师们会根据同学们简历中的经历进行提问,尤其是竞赛和科研项目,这部分是老师们比较关心的部分。
同学们在进行面试之前,需要重新回顾曾经的竞赛与科研项目细节,例如模型、实验设计、数据来源、结论等,也需要了解项目存在的优缺点。在面试中老师们很有可能会对项目的细节进行提问,判断同学们在项目中的贡献和项目价值。
英文问题
在预推免中,英文能力也是考察的重点之一,但占比一般不大。部分院校需要同学们进行英文自我介绍,也有英语问答,例如为什么选择该院校、做过的科研项目等等。同学们需要提前做好准备,练习英语口语。
计算机保研面试中经常会对专业课知识以及所做项目涉及的前沿领域的知识进行提问,拥有准确而全面的知识储备才能让你在面试紧张的环境中表现出较好的专业素养和反应能力。