2021北航计算机学院上岸,专业课140+和机试满分经验谈
先介绍一下我自己的基本情况,本科是某985计算机专业科班,2021年应届生,初试380+,其中专业课140+,复试200+成功上岸。
数学、英语、政治这三门公共课已经有大量的经验贴,所以不多做赘述。
接下来主要从961专业课的复习备考和复试的机试面试谈谈个人复习备考的经验和经历。
961专业课
961在全国计算机考研科目里算是比较独树一帜的,一是极具北航特色的以MIPS为背景的计算机组成原理和操作系统(以计组为甚),二是不在笔试考察数据结构。
复习过程中我也看了一些中的408的题目,整体感觉408比961考察更加灵活,北航961相对更为死板且考点集中,虽然961会考察一些偏门的知识点(但是分值不大),所以个人感觉961除了MIPS这块比较难啃,其他都还算简单。
时间安排
我本科是计算机专业的,所以这三门课都上过,掌握的也还可以,虽然和北航比有差别但是万变不离其宗。花费时间最多的还是组成原理。
本人从9月开始复习专业课,前期主要用了两个星期攻关组成原理的MIPS部分,而后开始对照的教材复习,拉了一遍专业课;10月底开始第二轮专业课的复习,主要参考北航的PPT,抓住北航的课程重点和难点;11月下旬开始做往年题查缺补漏。
复习的参考书目和资料
比较必要的书目和资料:的操作系统、计算机网络;北航的三门专业课的PPT(QQ群里能找到);任意一本数据结构教材(推荐《大话数据结构》,我大一入门的时候看的,深入浅出);
可选的参考书目:计组大黑书,《计算机组成与设计硬件/软件接口》(我没看过,不过群里经常有学长学姐推荐,仅供参考);
计算机组成原理
组成原理应该是这三科里面最难的了,因为MIPS确实是独树一帜。由于我没有看过的组成原理的书,所以主要从自己的理解和北航的ppt和大黑书出发。
最重要的是MIPS汇编语言、五级流水线的结构,以及对于冲突处理这部分,这几乎是每年的必考点。这部分主要看的是北航的PPT。了解verilog、学有余力并且时间充裕的话,可以看一下GitHub上北航大二的同学上传的计组的P4和P5部分的代码,分别是单周期和流水线,这是群里一位本校同学给的建议,我觉得看了以后确实能对流水线那幅图有更深的理解:比如其中多路选择器的摆放,rs rt rd等等问题。
大黑书不用看完,大概只需要看中间某几章。我个人是先看的书再看的PPT,最后看的代码。这本书对MIPS流水线的讲解非常好,耐下心来仔细精读一定会有所收获的。
专业课知识琐碎,在复习的过程中注意做好总结归纳。否则可能看完PPT就忘了。
操作系统
操作系统主要分成了几大块,进程管理、内存管理、文件管理等部分,其中PV操作几乎是每年必考。PV这块和408是共同的考点,的书上有大量练习题,最好每一道题都做一下。
的书讲得很详细,但也有一些PPT中出现了但是没有的知识点,注意比对着复习。
计算机网络
牢记“五层结构”,网络的几乎所有知识点都是围绕这五层体系结构展开的,注意把这些知识点串起来。
北航在网络这块会考一些很偏门的东西,比如码分多址的英文缩写。这些分我个人觉得能拿就拿,不要因小失大了。
复试机试(数据结构和算法)
北航只是在笔试不考数据结构,而复试机试的题目基本都是围绕数据结构的基本操作展开。比如今年考察的就是链表和树。
尽量用CSP考试换分。毕竟CSP考试一年有三次,但是复试机试只有一次机会,2个小时。
学习数据结构的最好办法就是用标准C语言去动手实现相应的数据结构,熟练掌握指针。这些数据结构的核心,就是指针。不要依赖C++的STL容器。
数据结构的学习步骤
指针的基本概念和关联概念(堆和栈);
线性表->单链表->双向链表(循环链表);
栈和队列,分别用数组和链表实现;
二叉树(以及多叉树),注意树的基本算法,比如各种遍历方式、二叉排序树的建立方式等;
领接表和领接矩阵的存储图,以及图的相关算法,例如遍历方法、最短路径、最小生成树等;
堆和优先队列;
Hash表(学有余力的话),尝试手动实现一个HashMap;
更高级的B+树、红黑树(学有余力);
排序算法;
算法的话,递归、分治、贪心、动态规划,都可以看看。
|
|