首先向大家介绍一下我的考研大致经历。我是一个二战上岸北京工业大学计算机科学与技术学硕专业的考生,两次考研选择的学校不同,一战大概超了复试线十几分,最终因复试选导师扎堆被刷。很不甘心地选择了二战。下面我将从三个方面分享自己的一些心得。一、关于考研择校和定专业我自己觉得经历了2019年计算机专业大幅度涨分以及2020年众多高校更改专业课考试科目,对于择校择专业方面我还是有一些心得体会的。关于择校,大家应该发现近几年除了那些原本就很牛的学校以外,很多原本分数线不高的学校从2019年开始大幅的涨分,除了考研目前的整体局势影响以外,这些大幅度涨分的院校往往有以下两种特点。第一种:该学校在整个专业领域处于比较有优势的地位且常年分数线都比较低。第二种:该学校计算机专业课考试科目比较少或科目比较简单,容易复习。以上的这几个好处,实际大家都看到了,所以就出现了扎堆严重的情况,导致分数线被抬高。这也是大家现在为什么说考得好不如报的好的原因。那么肯定有一些人就会想,这种不可控的报考结果我怎么能知道呢?一战失败后我也是这么想的,但是冷静下来思考,实际我们可以尽力把这种风险降底的。那么我的意见是合理评估自己的能力,在能力范围内,做更高一点的挑战。对于计算机考研的专业主要有计算机科学与技术、软件工程、网络安全的学硕和专硕。这里面大部分院校的各专业考研难度从高到低为计算机科学与技术、软件工程、网络安全。目前专硕的扎堆情况越来越严重。不过这些也都要根据具体学校具体分析。我二战选择北工大的原因是有朋友考上,她觉得北工大复试相对比较公平。一开始北工大的专业课只有c语言和数据结构,我觉得这两门都是比较好复习的科目。但是九月底出大纲的时候却换成了四门,数据结构占100分、计算机组成原理和操作系统各占20分,计算机网络占10分。说实话我当时挺慌的,虽然其他几门占比不多,但是每科的考试范围还是很大的,我要花大量的时间去学习,最终的收益也不一定好,所以考虑要不要换个学校。当时211院校里更换为408的也不少,不选择考的多的势必会扎堆儿。于是我根据自己的情况分析了一下,这么晚改考四门会有很多跨考和应届专业课基础不太好的同学放弃该学校,反而使二战考生的优势更明显,所以那时候我想如果能保证数据结构的100分尽量不失,其他科好好准备应该每科拿个一半分问题不大(这里说明一下出大纲前我的数据结构已经学了两遍了,一战专业课为数据结构和组原且自身专业课基础比较扎实)。综上最终选择了北工大。北工在计算机同实力的院校中考研难度中等。2019年以前的难度比较低,自2019年起难度加大,尤其专硕竞争巨大。学硕进复试比例为1:1.5,专硕则接近1:2,且复试成绩占综合成绩的50%。相较于其他院校的专业课难度,北工难度中等偏上,专业课尤其是数据结构考的比较细致。二、考研初试经验分享(1)思想政治理论政治我基本上9月份才开始,前期主要是看徐涛的视频,做肖秀荣的1000题。第一遍过完以后有时间的话可以把1000题的错题再过一遍。后期背诵主要是徐涛的小黄书和肖四肖八。在肖八没有出来以前可以用小黄书去不断巩固基础知识,里面对易混淆和难点分类讲解的比较清楚。选择题:对于选择题,一定要把肖四肖八的选择题牢记于心,把每一题的每一个选项都分析透,不要只要求会做。考试前一两天可以再着重把选择题过一遍,正式考试时选择题中还是会出现不少肖四肖八的选择题内容,屡试不爽。大题:最后冲刺一定要把肖四的大题背的滚瓜烂熟,肖八的大题只要整体有思路能说出个一二正式考试的时候大题就没有问题了。这里害怕考试大题没有思路的可以关注一下徐涛考研政治的公众号,在最后阶段会给大家说一些需要重点背诵的内容和大题解题思路。(2)英语说实话我的英语不太好,两次考的都不太理想,也没有什么比较好的方法能分享给大家。我自己考研期间是跟的何凯文的每日一句,就是不断背单词,细细的分析阅读中出现的单词和句子等。我的同学们都说唐迟的阅读讲的不错。(3)数学数学我比较偏向于张宇,因为很喜欢他的讲课风格,也很赞同张老师的价值观。张宇的课对数学基础不太好的同学而言不太友好。那么下面我就分别介绍一下我两次备考数学复习的不同过程。为一战和二战的小伙伴提供一些参考。1)2019年一战,奇数年数学试题整体难度相较于偶数年更基础一些,难度偏低。3月—6月:刚开始就是看同济教材做课后题(这个过程要认真对待,是打基础的开始)。如果觉得实在枯燥,可以配合着高昆仑的基础课学习,高老师这部分的课程很基础,适合所有学生。这段时间最好是能把整个数学要考的基础过一遍。在这中间我还穿插着听了张宇的高数基础课程(嫌记笔记太慢的,可以把教案打印出来,自己做必要的补充总结)。7月—9月:是提高数学成绩很关键的一个时期,这期间我用到的资料主要是李永乐的全书、张宇的基础和拔高课程以及张宇的1000题(奇数年的话汤家凤的1800也是不错的选择,相较于张宇1000题更偏基础一些)。在进行全书的学习的时候切忌只求速度。第一遍可能大部分题都没有思路,那么就对着答案分析。为什么要用这个方法?我自己独立做怎么想到下一步该怎样做?有没有更简便的方法?纯运算的时候怎样才能算的更快?在第一遍的时候多问问自己以上这几个问题。做第二遍的时候就要摆脱答案,每一道题自己都要尝试着独立完成,每个专题的题与题之间要学会总结归纳。同种类型的题都有哪几种解题方法,什么情况下应选择那种解题方法。这才能慢慢内化为自己的东西。10月—12月:一到两天完成一年的真题,整理错题,对相关基础知识进行巩固。模考时要按照考试的时长严格控制时间。在真题试题类型整理的过程中要自己不断总结每种题型的做题方法,涉及到的所有知识点都要在过一下,有能力的可以二刷三刷。2)2020年二战,二战我是从7月才正式开始复习数学的(之前的学习方法已经阐述的很详细了,这里着重说一下时间安排和用到的资料)。7月—9月中旬:李永乐的全书过了两遍,张宇的1000题刷了一遍,闭关修炼(过了两遍)和配套视频课程(过了一遍)。张宇的闭关修炼很推荐,题型、知识点总结都很不错。9月中旬—11月中旬:32年数学真题过一到两遍,注意总结。11月中旬—考前:张宇八套卷、四套卷、李林四套卷(个人不是太推荐,题目综合性不行,只是因为前几年他压中了题,所以近几年买他的人比较多)。套卷做完以后也要反复的看总结。从2020年开始数学的命题方向倾向于那些近20年没有考过的知识点,以及从未考过的知识点,常考知识点命题灵活度也提高了不少。所以这就提醒我们在备考的过程中不要有侥幸心理,每一个点都要牢牢掌控(这方面张宇的闭关修炼整理的很详细,要再次吹捧一番),并且不能仅仅关注真题里出现的知识点,它只能作为差缺补漏的一种手段。(4)专业课这里我主要说一下备战北工的专业课复习过程。1)数据结构(8月开始复习)在北工的专业课考试内容中,数据结构占比最大,也是考的最细的科目,基本上能出现的知识点都有可能考到。咨询考研辅导加微:15010247108 咨询考研我用的复习资料是新祥旭内部资料,一战复习数据结构我用的是新祥旭内部资料。个人感觉如果是考北工用新祥旭内部资料比较好,新祥旭内部资料的讲解会更偏基础,书中出现的代码也比较精简,有利于记忆和默写。而王道前面的代码还可以,越往后就写的越乱了。数据结构我大概过了有至少3遍吧,全书的代码都要自己独立默写一下,我大概默写了2到3遍。2)组原、操作系统、计网(10月开始复习)这部分占比比较少,对于北工这三门不是比谁学的更细更深入,而是谁记住的东西多,谁能不忘。这三门我主要用的是新祥旭内部的资料,讲的很不错,辅助的资料是问我同学要的考408的知识总结。王道主要用来为这三门打基础,基本上每本过一遍,重要章节过两遍。后期距考试还有差不多半个多月的时候,晚上的时段我会 用来过408的知识总结资料,这个的好处就是可以在很短的时间内把知识点过一下,用来巩固和延缓遗忘三、考研复试经验分享北工的往年复试有英语口语、英语听力、专业课笔试、机试和综合面试 这几部分。英语口语:包括自我介绍和常规问答。只要提前多准备一些问题的答案就不会有太大的问题。英语听力:类似英语四六级的听力,多听听四六级听力就可以了。专业课笔试:往年是c语言、离散数学和数据库(二选一),今年最初的安排是考离散数学和数据库。按学校所给的参考书复习即可。机试:北工开始机试也仅仅一年,今年又遇上了疫情也被迫取消了。所以暂时资料不多。机试除了把基础把握好,在牛客等一些oj平台练习外,最好还是问问师兄师姐找找有没有题库。综合面试:这里面的东西就很多了,包含专业基础知识的考察、毕设、项目等等。由于今年的疫情,复试以线上形式进行,没有太大参考价值我在这里就不过多赘述。近些年复试在考研中占的比重越来越重,所以无论初试考的有多好都不能在复试备考中放松警惕,不然真的可能使你将近一年的努力以失败告终。最后想告诉大家的是,人最怕的是在犹豫不决的路上,做好决定立马行动,不要为一些无用的担忧浪费时间。当然也不要因一次的失败而否定自己,也不要定远远高于自己实力的目标,不论你再努力也是要一点一点进步的。切忌考研的过程中一定不要自我感动,因为你不知道大家都有多拼,你的那一点付出是理所应当的。我希望那些为考研辛勤付出的同学们能够收获一个满意的结果,也希望无论结果如何你都不要怀疑自己,因为这一路不论是好是坏都会带给我们不一样的收获,坚持本身就有意义。
我是一个普通一本“三跨”考生,我本科是数学类,跨考计算机类,经历重重磨难,终于如愿所偿。当时我之所以选择山东大学,是因为山东大学属于实力很强但又不是那么出众的学校;而且它的数学类在全国名列前茅,一直是他们学校的王牌专业之一,而且报名的人数不是很多,查询去年的报考情况,居然有收调剂的同学,而且调剂的基本只要本科数学类的,这样刷去了一大部分调剂的,最后符合的就不多了,而且调剂的有一部分是一双非的同学,当时我想应该不会很难考,只要初试过了,复试不要出大问题,基本应该不会有问题了。当时就各种了解,在2019年4月份了解到山东大学的数学学院的网络空间安全专业要独立出来成立网络空间安全(研究院)学院,而我本科也很喜欢计算机方向,本科也上了不少课程,但当时就心动了,就进一步进行了解,原来山东大学的网络空间安全原来属于数学系,在数学系下招生,而且有一个非常厉害的教授叫王小云院士,破解了几个非常难以破解的密码,一举带领山东大学走上国际顶级水平;并且在国家大力推行人工智能、数据分析、网络安全的研究,山东大学成立网络空间安全学院,顺势而为,非常具有吸引力,我感觉找到了一个非常不错的专业,看了学院的2020年的招生计划,计划2020年招收17个学硕,20个专硕和10个左右的非全,感觉招生人数虽然只有37个左右,但是考虑到今年第一年招生,是第一个吃螃蟹的人,报考的人应该不会很多,所以机会还是很大的,但是弊端就是由于第一年招生没有往年的真题,所以准备专业课可能有一点困难,但是看到招生目录上的专业课有三个方向,专业课都是数据结构+计算机网络(824)或是离散数学(826),可以根据自己选择考824还是826,这些专业课本科都学过而且也学得不错,但是离散数学感觉难度有一点大,就选择了数据结构和计算机网络。在问了学长学姐后,让我们可以以王道或是天勤的作为资料就行复习,后期和学长买了计算机学院和软件学院的一些期末试题作为资料。网络空间安全学院的招生计划在官网可以查询,第一年是以50人左右的规模就行培养,第二年100人左右,逐年增加,所以2021年招生规模会控制在100人左右,以今年的情况来看,报考人数大概在150人左右,进入复试46人,最后录取45人(包括一个强军计划),由于舆情的影响,专硕名额扩招了6个,基本上进入复试的都录取了(有一人放弃复试,可能是找到了更好的下家,直接放弃复试)。从初试试题上看,今年的试题由于是第一年招生,没有真题,但是王道书基本上已经完全涵盖,大题和一些难题直接就是王道书上的题目和一些软专常考题,所以说,吃透王道的基本可以保证拿高分了,其他的一些知识点可以参照学院的考试大纲进行查缺补漏。总体来说,这两年报考网络空间安全学院的性价比是很高的,对21的考生来说也是机会,21是会扩招至100人左右的规模的。1.思想政治理论对于政治一般跟着肖老师和徐涛老师的基本考研满足要求了,买肖老师的全套+徐涛老师的视频课程,当然你也可以跟着其他老师学习,全套的也不用自己到处找资料,省时省力也不错,自己找资料也可以锻炼自己的信息搜寻水平。我是1000题做2遍,然后肖8做选择题,考前一星期肖4猛背,基本在66左右,当然要考70分+还是要留点心。有时自己做选择题会错很多,心态很崩,或是一些模棱两可的,心态真的要炸,遇到这种情况我们需要最近几天可以先不做题,而是多看看书,把一些知识点记牢靠,再来做题,查缺补漏。2.英语由于这几年山东大学的院线一般都是校线,2019年工学是50分、50分、70分70分,今年是45分、45分、70分70分,政治英语降低了5分,一般过线的话都不是很难。我是暑假期间《10天搞定考研词汇》每天花3小时猛背了两遍,之后就没碰过单词方面的东西,直接进入真题,在真题中认识陌生单词与训练句子,当然能每天外加何凯文的《长难句解密》来辅助,个人觉得直接进阅读阶段开始学拆句子最快速有效,(基础好的忽略)。单词阶段结束的早的同学,建议直接进入阅读,加上新东方李旭和唐迟视频练习,体会老师所讲方法并不断练习;把英语一(全部)和英语二(10年后)的阅读根据自己进度进行训练,一天至少3篇以上,保证做题的连续性,第二天翻译文章,搞清楚结构和单词和句子,把自己错的原因用一个小本子记录下来写上最正确的解决思路,下一次做题时候看看自己之前错的,总结一下,防止同样的错误再次出现;弄清楚每句话每个单词,留最新3年考前模拟冲刺即可。阅读后期最重要的就是不断看自己错的原因,不断总结,如果有时间在做一遍(我是把2010年之后的英语一再做了一遍,有的还是再一次犯错,这样的题要好好斟酌一下,认真总结)。对于英语翻译我的随缘,只要把阅读搞上去了,我就放心了(当然大佬级别的还是得准备一下)。英语作文最最主要的就是不同题材准备好后狂背,狂背,狂背(重要的事情说三遍)要能脱口而出,之后要完整的默写一遍(这个步骤个人感觉及其重要,直接决定了你想说的能不能写)然后在背诵,多注意默写错的地方;后期就是以背默的为基础,对背默的进行改写(检验水平的不二法则)。英语复习的过程对于很多工科学生来说,还是有很大的压力,过程很枯燥,必须制定好计划,严格执行,耐住性子。3.专业课刚刚说了网络空间安全学院刚刚成立没有真题,主要以王道的书为主即可,吃透王道,140分+就不是什么问题了;专业课是数据结构+计算机网络(824)或是离散数学(826),可以根据自己选择考824还是826,这些专业课本科都学过而且也学得不错,但是离散数学感觉难度有一点大,就选择了数据结构和计算机网络。在问了学长学姐后,让我们可以以王道或是天勤的作为资料就行复习,后期和学长买了计算机学院和软件学院的一些期末试题作为资料。学院有考试大纲,大家可以参照学习,其中数据结构清华大学出版社的严蔚敏,吴伟民的《数据结构(C语言版)》和高等教育出版社的张铭,王腾蛟,赵海燕的《数据结构与算法》;计算机网络参考《计算机网络(第7版)》,谢希仁 著,电子工业出版社的和《自顶向下方法(原书第7版)》,(美)詹姆斯·F. 库罗斯(James F. Kurose);(美)基思·W. 罗斯(Keith W. Ross)著。826离散数学参考《离散数学及其应用(原书第7版)》,Kenneth H. Rosen,机械工业出版社。4.复试网安学院复试比占一半,所以复试逆袭是可能性很大的,只要准备好。以今年的情况来看,报考人数大概在150人左右,学院线为学校工科线(45分、45分、70分、70分、285分);进入复试46人,最后录取45人(包括一个强军计划),由于舆情的影响,专硕名额扩招了6个,基本上进入复试的都录取了(有一人放弃复试,可能是找到了更好的下家,直接放弃复试)。复试比1:1.1。对于复试由于今年疫情的影响几乎所有学校都往后推了,今年复试使用了双机位与网上笔试与面试,笔试就是按照大纲要求笔试以口试作答;由于要方便与口试,所以大部分笔试题都是概念性比较强或是就算量很少,题目都是一些很经典的问题,大家准备考研不用钻牛角尖,难度不会很大;面试的问题随机不固定需要多方面准备,老师喜欢从你的介绍中挑问题问你。最后祝愿所有考研学子都能够考上理想的学校,成功上岸。
综述「南开大学计算机在2019年之前都是自主命题,专业课考察数据结构和c++, 但2020后改成了408统考,从某种程度上是增加了专业课考核的难度。」并且今年由于新冠疫情的影响,采用网络复试同时取消了笔试导致复试比例降为30%, 因此初试很大程度上决定了你能不能进入复试。但明年不出意外复试还是有笔试的。「另外2019年南开计算机招生名额个位数,今年不知是什么情况,所以大家报考前要清楚招生人数带来的风险与机遇。」个人情况作为唯一一名进专硕复试的考生,初试成绩为351,数二109, 英语78, 政治70,计算机408统考94, 复试成绩87.4。我本科也是南开计算机,因此专业基础也可以,但也是因为这个原因导致轻视专业课的复习,所以408统考不是很理想。这一点大家千万不能像我这样,因为专业课一定是重中之重。**我的数学方面不是很强,高数线代课程都是70多分,因此对数学下重功夫学习,有句话叫做考研得数学者得天下, 这不是没有道理的。**我英语还好,其中四级英语611,六级英语538。初试篇首先在初试方面我并没有采用严格的时间规划。暑假六月份到9月份我去公司参加了实习,九月底才开始正式进行考研复习, 期间还花了时间找工作面试,签Offer。这样一来万一我没有考上,也可以参加工作。这一点对于基础不好的同学不要学习,我个人觉得基础好,英语扎实,数学还可以的同学三个月复习是足够的。我身边的同学大部分也是暑假开始复习考研的。但如果你基础一般,特别又是跨考的同学,战线建议拉长一些,至少半年到一年以上。a. 专业课 --重中之重参考书用的是王道的四大本再加上历年的408真题集。这个阶段把南开上课所用的教材或者ppt都收集好,有疑惑的问题就可以看教材。「一旦你熟悉了教材或者的内容,对后面的复试专业能力考核部分也是一个小小的准备。」b. 数学 -- 依然重中之重数学用的是张宇数二系列, 前期就看讲义梳理知识点,把里面的每一代习题都认真理解并且会做出来,自己觉得某些知识点或者题目很有意 思就写在笔记本上。后期着重做张宇的1000题,至于真题我是11月份开始每天做一套。今年数二明显是加大了难度,就连线代都不简单,但 是能够把我上面说的东西都做后,数学也不会考太差,我的对策是以张宇讲义之难应对考研数学之难。c. 英语我英语不是复习的重点,没买英语资料,整个复习期间就买了一套真题,只做了几套用来熟悉题型,特别是在后期我主要分析了一下作文的套 路。同时我每天会看一篇googlenews的新闻,来保持自己的语感,不懂的单词就查一下读几遍混个耳熟。可以说别人是刷题但我是看新闻做阅 读来学习,这一点还是因人而异吧。「英语很依赖于平时的积淀,而且对于英语我推崇阅读而不是背单词,背单词应该是穿插到阅读英语之中。」如果你现在还是大二或者大三,时间充裕, 我建议你买点英文教材去学习。我是在上计网、机组、体系结构等课程的时候, 既买了中文教材 也买英文教材。如果你慢慢把英文教材啃下来,那么应付考研的作文和阅读,一点问题都没有。d. 政治政治就看肖秀荣的知识点精炼就好,真题我觉得帮助不大,十一月份后我把肖四肖八一共十二套卷的题目基本都背了下来。整体上政治没怎么 花我的复习时间,而且政治也不应该成为复习重点。复试篇复试一共25分钟左右。分为以下几个部分。a. 机考编程虽然今年没有考上级编程,明年应该还是会考的。「我从过年回家到复复试前,陆陆续续刷了100到Leetcode题目(leetcode是一个算法刷题网站),」**重点放在了动态规划、链表、二叉树、图BFS和DFS搜索等。**我这样是一箭双雕的做法,既能够应对考研复试的上机编程,也能应对找工作或者实习的算法题考核。b. 英面把自我介绍和一些常问考题背熟,记住流利性很重要。在复试之前我还特意找在美国留学的同学模拟了一下英语对话,并纠正语法错误。一些常考 题除了自我介绍之外还有介绍你的母校,介绍你的家乡,介绍你的本科毕业设计等。如果你自我介绍提到的东西老师比较感兴趣,老师也会提问。这里有一个小技巧,那就是自我介绍可以长一些、丰富一些,但也不会太长啊,这样老师可能就没时间问你其他英语问题了,接着就直接进入中文环节。c. 专业能力与项目能力。看复试要求考察科目的教材,如果时间不够可以看ppt。这部分我分为两种情况。第一种对于项目丰富的科班学生, 老师们会重点考察你的项目或者 毕设细节,通过项目来了解你的专业水平。第二种是对于本科没怎么做过项目或者跨考的同学,老师们了解你的计算机水平只能考察基础学科,如计 算机网络、机组、操作系统的核心知识点。d. 发散性问题随机应变并时刻保持谦虚。比如你觉得在公司实习和在学校有什么不一样?如果导师让你做一个题目,但你中途又想换题目怎么办?这一部分临时发挥即可。
北京科技大学于1952年由天津大学(原北洋大学)、清华大学等6所国内著名大学的矿冶系科组建而成,现已发展成为以工为主,工、理、管、文、经、法等多学科协调发展的教育部直属全国重点大学,是全国首批正式成立研究生院的高等学校之一。1997年5月,学校首批进入国家“211工程”建设高校行列。2006年,学校成为首批“985工程”优势学科创新平台建设项目试点高校。2014年,学校牵头的,以北京科技大学、东北大学为核心高校的“钢铁共性技术协同创新中心”成功入选国家“2011计划”。2017年,学校入选国家“双一流”建设高校。2018年,学校获批国防科工局、教育部共建高校。北京科技大学计算机与通信工程学院源于1973年成立的计算机及应用专业,经过近40年的建设,学院在学科建设、科学研究水平和教育教学质量上实现了跨越式的发展与大力提升。学院目前设有计算机科学与技术系、软件工程系、通信工程系、物联网与电子工程系、信息基础科学系5个系以及计算机与系统科学研究所、知识工程研究所、先进网络技术与新业务研究所等多个研究所。学院现有教职工118人,专任教师90人,其中中科院院士1人、长江学者特聘教授1人、国家杰出青年科学基金获得者1人、教育部新世纪优秀人才3人,教授24人(其中博士生导师17人),副教授37人。还有一支以中国工程院原副院长邬贺铨院士领衔的20余名国内外知名教授组成的兼职教授队伍。学院的学科建设与专业设置始终紧紧围绕信息技术领域的国际前沿和国家需求。学院拥有计算机科学与技术、软件工程2个一级学科博士点,通信与信息系统1个二级学科博士点以及计算机科学与技术、软件工程、信息与通信工程3个博士后流动站,计算机系统结构、通信与信息系统2个二级学科北京市重点学科。学院拥有计算机科学与技术、软件工程、信息与通信工程、电子科学与技术4个一级学科硕士点和计算机技术、软件工程、电子与通信工程3个工程硕士点,拥有计算机科学与技术、通信工程、信息安全、电子信息工程、物联网工程5个本科专业。现有本科生1500余人,博士和硕士研究生600余人,留学生100余人。一、考试科目初试科目①111 单独考试思想政治理论②240 单独考试英语③610 单独考试数学④871 计算机综合一(含计算机组成原理、数据结构)"复试科目:549 计算机综合二(含系统结构、操作系统)二、参考书目[1] 蒋本珊.计算机组成原理(第3版).清华大学出版社,2013[2] 唐朔飞.计算机组成原理(第2版).高等教育出版社,2008[3] 齐悦,夏克俭,姚琳.数据结构、算法与应用.清华大学出版社[4] 严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社三、分数线2019年公共课39专业课59总分2702018年公共课39专业课59总分2702017年公共课36专业课54总分260四、考研真题五、经验分享一、学校选择◆因素一:学校水平。考研最好还是报考一些211/985,双非“双一流”也可以考虑,要对比学校之间的水平,可以参考2017年教育部评估,这个是最权威的。◆因素二:报考难度。对比报考难度,可以参考分数线,而报录比更为可靠,要看整体报录趋势,也会出现一年简单一年难的现象。北科17年计算机专硕报266人,录46人,而18年报381人录40人,后来扩招到47人。◆因素三:专业课科目。我选择北科就是因为它考计算机组成原理,个人感觉比较擅长组成,这次我也是靠专业课成功逆袭。二、公共课学习考研最好看一些老师的视频,切忌闷头学,既枯燥效果也不好,下面给大家推荐一些老师的课程和书籍。◆数学二:张宇,汤家凤,李永乐(线代)。高数上册以张宇视频为主,下册以汤家凤视频为主,线代看李永乐的视频就可以了。关于用书,复习全书和张宇十八讲最好都做完,线代用李永乐的线代讲义。划重点:18数学比较变态,其实大家都考的比较烂,并没多大差距,而19不会太难了,所以容易拉开差距,好好学就能拿高分,所以,18考研比拼专业课,19考研要更加重视数学。◆英语:先推荐一款记单词APP墨墨背单词,效果极好,被我推荐的同学都说好!英语大部分课程我都看的育明考研的,语法可以看看田静的《句句真研》配套视频课程,完型强烈推荐陈文笠的真题讲解视频。◆政治:特别强烈推荐处女座徐涛全套。他的书比较难买,早下手,其实大家过于神话肖秀容,肖比较有价值的是1000题和肖8/4,论视频课程和书,还是推荐徐涛,他的核心考案有很多表格整理,比肖秀容的大书好太多,小黄书押题分专题和角度,逻辑清晰,比肖四更好背!去年几乎全压中,而且很多题干都一样。划重点:建议暑假就开始拿出时间看徐涛的视频课,看他的视频课就当是放松了,但切忌别沉迷,前期主攻选择题,十二月份开始背小黄书大题即可。三、专业课学习这里主要介绍北科的专业课学习方法。北科初试数据结构和组成原理,复试操作系统和系统结构,我初试123,复试115,不是很高,但足以逆袭。◆开始时间:暑假开始,必须从暑假就得开始专业课,不然到后面时间会越来越不够用。◆推荐用书:数据结构,课本用北科夏克俭的,里面的算法比较重要,真题考过里面的算法,但里面印刷错误较多,习题用王道。组成原理课本用蒋本珊的,习题用蒋本珊课本配套习题册。◆真题分析:18年较往年真题有不小的变化,有不少新题目,但题目比较简单,更加注重基础,可能北科出题老师也知道今年数学会很难,不想让我们考的很难堪。划重点:考研专业课,真题最重要!四、考场发挥◆全真模拟:建议十月一之后每周可以进行一到两次数学和英语全真模拟,到12月份进行一到两次政治模拟,不要以为政治考试时间充足,我当时就没做完。。。模拟环境不需要太好,因为考场上也会出现很多干扰因素,全真模拟就是锻炼在有干扰的情况下进行考试,做到临场不乱。为了做到全真模拟可以从淘宝购买答题卡。◆考场心态:紧张是正常的、必须的,不紧张的都是重在参与的,当题目很难时不要心慌泄气,因为你的竞争对手不是这份题,而是同时跟你做这份题的考生,你难他们也难,玩的就是心跳!五、复试准备◆成绩出来前:不管感觉考的怎么样,都要在成绩出来前开始准备复试,先准备个人简历和项目,因为无论是找工作面试还是复试都需要简历,面试官都会问到大学做过的项目。◆联系导师:能联系到最好,联系不到就好好准备复试,只要考上了包分配。六、调剂经验◆调剂选择:成绩出来后,高出分数线较多的,全心准备一志愿复试,擦线或过线不多的,可以适当准备一下调剂,一般在寒假结束后,大部分学校才发布调剂信息,这时适当看一下调剂信息,心中确定几个调剂目标即可,给调剂院校发邮件填预调剂系统之类的其实用处不大(除非你是211/985出身,或分数特别高,能被导师相中),关键还是等调剂系统出来,填写调剂志愿后,学校通过该系统按分数和出身确定调剂资格。◆志愿填写:最多可以同时填写三个志愿,锁定时间为36小时内,建议先保留一个不填,说不定会碰到一个更合适的调剂院校,都填满了就没机会了。◆调剂与一志愿之间的问题:要确保调剂院校复试时间和一志愿不冲突,否则只能舍弃一个。填调剂对一志愿录取并无影响,并且面试老师一般也不会看到你的调剂信息。◆我的调剂经历:我当时先参加北科复试又接着参加的调剂复试(我是在调剂系统出来那天就填写了调剂志愿),调剂复试成绩出来的快,第二天给我发了录取通知,让我在一个小时内接受录取,否则就把名额给别人,当时北科这边成绩还没出来,感觉北科复试面试发挥的很差(面试前几分钟手指割破了,恰巧又要手译,没有写完,所以关键时期一定要远离危险器具),我就接受了调剂录取,原则上我就不能再接受别的学校录取了,在北科成绩公布前一天,我得到消息我能被北科录取,当时的心情真是喜悲交加,我就直接去了调剂院校,经询问,调剂学校这边是可以对录取解锁的,同时也需要联系北科那边,因为此时如果北科那边已经筛选出录取名单,我这边才解锁,那我就两头空了。两边都联系妥当了,在调剂院校这边写申请,找领导签字,几经波折终于解锁成功了,第二天妥妥地被北科录取了。七、复试笔试北科复试笔试比较重要,分数差距比较大,每年都会有很多不及格的,是逆袭的关键◆推荐用书:操作系统,课本我用的是汤小丹的,这本书其实写的不太好,推荐以王道为主。系统结构用尹朝庆的课本和配套习题册,看到输入输出系统那章即可。◆真题分析:题型较为固定,操作系统大多是17年真题改编,17年真题网上有,可有搜一下,系统结构几乎全是尹朝庆习题册原题。八、面试经验北科面试,每个组会有小差别,每人10分钟左右,当时我们组流程是这样的:1.给一张英文短文纸条,然后5分钟时间手写翻译。2.给一本英文书,从中找一段,读一下。3.开始专业课面试,老师会先问你哪门课学的比较好,然后提问一些关于这门课的问题,我当时说的数据库,问题是数据模型有哪些,都是很基础的问题。还会问你擅长哪门语言,会问你该语言如何定义字符串等等,也会问一下综合性问题,比如按一下开机键会发生什么等等。4.介绍大学做过的项目,这个很关键,复试成绩出来前,可以着手准备一下。划重点:切忌不会回答便硬扯,态度要真诚,尊重老师的提问,切忌多嘴。
北京大学867计算机技术参考书目-报录比-分数线①101思想政治理论②201英语一③301数学一④867计算机基础综合更多资讯公中号:致硕考研该专业参考书目:专业一:汤子瀛《操作系统》、谢希仁《计算机网络》、王道论坛《操作系统》、王道论坛《计算机网络》、王道论坛《数据结构》该专业复试参考书:专业:C++、JAVA、PYTHON、数据库、汇编、算法数据结构等等该专业考研的基本情况是: 计算机考研竞争越来越激烈了,清华的难度是最大的,北大信科也比较难。软微相对还没有很难,依托于北京大学的计算机专业,性价比极高,浙大都比北大软微难考,可想而知,推荐考生报考北大软微,招生名额比较多,风险不大。近年复试分数线:政治 英语 数学/专业 专业 总分 招生人数2019年 50 50 80 80 340/340 2302018年 50 50 80 80 310/310 2402017年 50 50 80 80 360/300 200复试专业课基本情况:一些简单的算法手写,问了专业课基础等等。考研初试报考人数:2000左右考研复试报录比:10:1复试英语分值:无复试笔试分值:20%左右复试刷人情况:260人进复试,刷了60人左右(大多是初试分不高的)。初试占比70%,复试占比30%。复试其他情况:针对所授科目整体全程辅导规划:第一阶段:1 基础巩固阶段:第一遍以课本教材和老师主讲内容为基础完成知识框架的整体复习,对整个课程的知识结构清晰系统掌握,理解。课上时间努力把基础概念以及抽象的知识消化,对于非理论的概念或基本性质课上积极向老师提问和请教。第二阶段:2 专题练习阶段:在第一轮学习的基础上,第二轮学习有所侧重,即侧重于本书的核心部分也就是考试的重点知识部分,需要对真题+专题进行大量的练习和研读,加深理解。同时对于参考书上的典型习题多多理解记忆,举一反三。对于计算机三门课需要融会贯通,同时多向老师请教,达到熟能生巧的程度。这轮学习必须深入掌握考点把握出题形式和应对办法,老师会引导学员复习和巩固提高。第三阶段:3 冲刺模考阶段:在进行完第一轮和第二轮的学习之后,通过冲刺模考查漏补缺,提升应试技巧。相信通过“基础”+“专题”+“真题”+“模考”的过程,一定会取得较好的复习效果。
全文9000多字,阅读完成大概需要5分钟尘埃落定有一段时间了,自从复试回来一直在庆祝和忙其他事情,这才终于静下心来记录一下这段历程。话不多说,先放一张楼楼的帅照,嘿嘿,文末有惊喜,请耐心阅读!说明一下我的总体情况,本科山东农业大学(大家所说的双非),计算机专业,初试分数282分,数学考了62分(政治67英语61专业课92)。应届考研报考北京邮电大学网络技术研究院4组计算机技术。直到复试名单出来之前,一直认为自己没有丝毫希望进复试,完完全全没有准备复试。我所报考的组共19人进入复试,我的初试成绩排第18名,只录取13人(复录比高达1:1.46+)。知道自己进复试之后,抓紧复习了一周多点的时间(期间阑尾炎缠身),最终英语听说能力第2名(9/10分)、笔试第1名(21/30分)、综合面试(机试+面试)第1名(59.46/60,也是全院最高分,机试题全对)、复试成绩第1名(89/100)、入学总成绩第3,成功上岸。先说自己的复试,再说自己的初试。因为我知道我只有复试值得大家借鉴,感兴趣的可以看一下关于我的初试,主要是聊一些我犯过的一些忌讳,给大家敲响警钟。然后最后的时候再讲一下自己的心路历程(关键是记下来给自己看)。真没想到两个月前还在床上躺着默默流泪的我现在会被几位学弟学妹催着写经验贴……惭愧……复试:复习一周拿复试第一回想起来自己也觉得不可思议,3月20晚上知道自己进入复试,3月21犯阑尾炎,连续打了5天吊瓶,其中2天凌晨都在医院急诊,3月26日就要到北京,次日就要复试报到,最终复试总成绩第一名,感觉非常玄妙。总结四个字就是:抓大放小。复试顺序是:机试和笔试在同一天,上午机试,晚上笔试,隔一天后下午进行面试(包括英语听说能力、专业面试)。机试:北邮复试的机试和面试是最重要的,机试在我心中的权重仅次于面试,但是在有限的时间内面试除了简历之外的确不太好做太多准备。准备好自己的简历和材料后,正式复习机试。看了一些机试的辅导视频,先了解北邮机试的环境(IDE、OJ的使用),题型,紧接着就是随视频一起做历年的一些题目(做了不多,顶多20题,大多都很基础,时间太紧了,做不了太多),每次看题之前先要自己动手敲一遍,可能40%的时候都是能自己A出来的,这时候再看答案可能会开阔一下自己的思路,甚至找出他人方法的一些不足。最后总结一下该类题目的规律方法(比如字符串处理用string vector可能会更加方便,比如碰到01字符串相消问题,应该首先想到把0全替换为-1),总结一下各库函数的使用(我在考前把自己认为能使用到的库函数写在一个word里进行了总结,事实证明很有用,能提高不少编程速度),如果有的时候不方便接触电脑(比如输水的时候),强烈建议《王道考研机试指南》,我就是利用打吊瓶、在高铁上赶路的时间看完了半本这书,我认为它对我的帮助很大,很有价值(不是所有的题都要看,结合历年真题,自己总结机试爱考什么,尤其是复习时间严重不足的时候,一定要抓大放小)。在机试的前两天,得知今年政策有变:机试不再允许携带纸质材料了。大家都哀声一片,但在我看来并不是坏事。纸质材料对大家机试的提升是毋庸置疑的,一些模版题目,哪怕是现从书上找,现学,我相信也能在考场上敲出来。这项政策的改变将严重影响我们的编码水准,那么换一个思路来想,老师不会为难我们,老师不希望我们4道题全都做不出来,所以我得出一个结论:题目难度会下降,侧重点应该会在基础题目上。所以仅剩的两天内,我直接跳过了动态规划等难度较高的算法题,在熟练掌握了各种字符串处理、数组处理、库函数的灵活运用等基础问题后,我又复习了几个关键算法的实现,比如Dijkstra算法、Floyd算法等。这些算法的基本思想我们在初试复习中多多少少留下了一些印象,所以在实现这些算法时,要着重体会一个算法从基本思想到最终实现这个生产过程。终于到了机试考场,不出我所料,今年的题目难度的确有降低。前两道题基本上只要有点基础都能做出来,20分钟内搞定。第三道题是库函数vector的使用,其中有个点是关于vector.erase() 方法的具体使用,我实在是没能想起来,所以在vector的基础上避开该方法的使用,开辟了一个新的vector,手动遍历,然后存放截取后的vector。所以说,考场上碰到不会的点不要慌,换一个思路就可以了,条条大路通罗马。唯一可以说有点难度的就是第四题,是一个最小生成树的模版题。没有了书本材料的加持,做出这个题的同学还是少数。大部分人都知道最小生成树用Prim算法或者Kruskal算法解决,但大家实现起来遇到了各式各样的问题。这个问题的确戳到了我的复习盲区,我没有实现过最小生成树算法。凭借对Prim算法的理解,一步一步进行尝试,每写几行代码都要用注释把自己的思路理一下,最终在临考试结束的最后1分钟内,惊险Accept,4道机试题全部pass,而且4道题加起来只提交了5次,罚时比较少。说实话,最后一道题提交的那一刻手都是颤抖的,因为心里很清楚只有这一道题还算有区分度。出了机试考场心情舒畅。机试结束后我觉得自己稳了九成,因为自己对自己的专业面试和英语听说能力有充足的信心,而且由于本科时专业课都认真听讲,成绩也还不错,笔试心里有底。至于机试结果:题目的确简单,但19个人里才只有2个人全A。笔试:总体来算只拿出了20小时左右的时间来看笔试相关的内容。笔试6选4,我选了我大学里学过的比较熟悉的几门课:数据库、人工智能、计算机体系结构、软件工程。复习方法就是笔试前的两三天开始看北邮该门课程对应的PPT(人工智能只有参考书没找到ppt),迅速看完,主要是唤起自己本科学习的回忆,对一些主要知识点迅速回想以及记忆,一些比较偏的知识点(老师没标红的)只是扫了一眼,印象微乎其微,印象中没学过的知识点直接跳过,没时间从零开始学习某个知识点。临笔试最后的2个小时,去百度了几份非常基础的选择题拿来做做练手(笔试只考选择题填空),结果跟我设想的一样:老师并没有太多时间和精力设计笔试题目,大部分都是从网上直接搜集的。就是这两个小时做的人工智能和数据库的题目,笔试时考到了5道左右的原题。真正的笔试过程没什么好说的,也没有什么惊险刺激一说,一个小时的考试时间,动作快一点,做成啥样就啥样。做到几个原题还是喜出望外的,在考场上泛起了猥琐的笑容……考试结束前20分钟就做完了试卷,但没有提前交卷。做完了也耐下心来仔细检查了一下,查出了几个小错误。那些着急走的同学,不懂为什么会这么着急,我心想省出十几分钟来并不能对自己的面试有什么提升。面试(包括英语听说能力和专业面试):说实话,面试才是真正的重中之重中之重中之重。江湖上流传着一个传说:只要老师面试阶段觉得你表现突出,想要留下你,那么即便你初试、笔试、机试做的不太理想,那么老师也会把你的面试分数拔的很高,留下你。英语听说能力的准备:每所学校对考生英语的考察侧重点有所不同,甚至我所面试的学院每个组老师的要求也不同,这些都要事先了解,并且做出充分的准备。我们组英语的考察形式就是一个2分钟左右的自我介绍+简单的英语问答。英语的权重甚至低于笔试,只占复试的10%,虽然不重要,但也需要提前准备,而且需要掌握方法。在出发北京的倒数第三天,我自己写出了一个中文版的自我介绍,直接用翻译软件翻译成了英文,然后在自己的能力范围上进行了一定的润色,但自己觉得这样远远不够,于是从某鱼上找了一位比较精通英语作为批改的小姐姐,花了10块钱,付费请她加以润色并且替我通读一遍(检查自己有没有发音上的错误),最终稿就这样形成了。最终稿形成之后,每天早上和晚上都会腾出半小时左右的时间来进行背诵,雷打不动。等背熟的时候,找了自己的小伙伴进行模拟面试,这时候要注意自己的肢体动作、表情、眼神(最重要),要跟面试官形成一种互动,一定不能让面试官认为你是在背。专业面试的准备:得知进入复试后的整整两天时间,除了精心雕琢我的简历外,什么事都没有做。这么做首先因为深知面试的重要性,其次因为我们实验室的老师在我们初试成绩公布之后就在群里提醒我们说最好把简历提前发送到她的邮箱,不过我自认为完全没有希望进入复试,所以没有发送。所以第一件事就是做好我的简历。至于简历的重要性:除了提前发送给老师让老师提前了解你以外,在面试时,纸质版简历会提前交到老师手中。这个时候老师在你面试时会翻看你所提供的材料(包括但不局限于简历),从而根据你的材料提出相应的面试问题。这样的话可以把面试的主动权把握一部分在自己的手里。材料不必只是一页纸,我的材料就比较详细(一共26页)。做这种资料册的时候一定要注意把自己的优势突出出来,比如我本科阶段参与、主持的项目比较多,我就把项目展示紧随在简历后面,在整本材料的前部分。做完排好版之后,我特意找了一位关系较好的本科老师帮我审了一遍,老师对我提出了一些小建议,非常有帮助。回去修改完,成稿就形成了。附上我的资料册目录,赞多的话放出完整版。目录反面是简历(一些个人信息隐去):虽然页数很多,但实际上大多数都是自己所写的项目的页面展示、证书照片等,我认为文字性的内容不宜过多,老师来不及看。之后我打印了8份我的资料册(绝对够用了),而且我打印的是黑白的。因为根据我的经验,老师其实不太喜欢彩印(大概是因为成家立业的老师们比较勤俭节约,本科阶段数次帮班里交作业的时候得出的结论),彩印的价格远大于黑白印。这一点的话大家信则有不信则无吧!准备完简历之后,就全身心投入到机试、笔试的复习中了。等到再准备面试,已经是临面试的前一天。一天时间里,我对老师针对我的简历可能会提出的一些典型问题作出了模拟回答,并且写在了我的手机备忘录里。不过说实话,我准备的这些问题,面试中基本上一个都没有问到。正式面试:首先进行排号,我的排号比较靠后,所以说我利用这些时间反复背诵自己的英语自我介绍,然后问问前面的同学老师都问了什么问题。前面出来的同学都说老师并没有问他简历上的项目,全是问的专业课知识。我有点慌,因为我准备的问题全部都是项目相关的,初试考的专业课我并没有拿出时间来复习。但理智思考了一下:瞥到过他们的简历,大多不是太丰满,项目也很少或者很简单,所以有可能老师对他们的项目并不感兴趣……老师才直接问的专业课。如果我是老师,一定会对我自己的项目感兴趣而且多问几句的。我的材料由一位师哥帮我提前交给了老师,我拿着我的Android调试手机进入了会议室(想要把手机上的项目直接展示给老师,但实际上并没有用到)。进门后最近的座位就是我的座位,示意图真的比较紧张,虽然的确很有把握……进门前先敲了门,进门后跟老师问好,老师示意我入坐。入座后,把紧张的小手放在了膝盖上,老师看不到(如果很紧张,尽量把手放在老师看不见的地方,不然会不由自主的做一些小动作)。之后老师说让我进行英语自我介绍。深吸一口气,不打磕绊的把自己介绍完毕,期间一直注视、扫视着老师,跟老师进行眼神上的沟通。自我介绍完毕,老师问What’s your favorite course?稍微有点慌,以为自己介绍够了2分钟后就不会有问答环节了。稍作思考,并且把老师问的问题重复了两遍(这是不对的,最好直接回答,我紧张了),回答: “Design Mode”。紧接着看到老师诧异的表情,可能老师的确没有准备这门课程相关的问题,所以没有继续这个问题向下问。英语听说能力正式结束,松了一口气。开始专业面试。英语自我介绍期间,一个老师听我介绍,另一个老师在翻看我的简历。观察表情,老师的确对我所提供的材料产生了一定的兴趣,我就不紧张了。之后老师问我的问题比较细致而且数量也比较多,但其实都很简单,整整20分钟的面试,可能17分钟都在问项目方面的问题,3分钟问了几个数据库课程方面的问题(关于范式)。说几个还有印象的面试题吧。第一个问题问的我Android的四大组件,说实话,没有完全回答正确,但的确是答出来两个,上次开发Android app还是在一年多以前,复试复习时间紧也没有来的及回看项目,的确是遗忘了。这个时候千万不要瞎说,我跟老师说时间久了,遗忘了。之后又问我自己有没有服务器、问我服务器是什么服务器、多少钱一个月、开通了多久、干什么用、在一个包括前后台的Android app里,都用到了什么技术栈、域名申请流程、备案的流程、本科实验室里参与运维了哪几台服务器……这些问题自然是对答如流,而且从这些小问题里不难看出老师的思路:老师没有在问一些深层次的问题,更多的是项目上的一些细节,目的一定是为了知道我写在简历上的项目到底是不是自己做的,所以心里就有底了,越来越有自信。即便遇到不会的问题也丝毫不慌,因为明确了老师提问的目的后,我相信即便有个别问题回答不上来,我也能从其他问题中让老师相信这些项目是我亲身主持、开发的。本科阶段参与的项目虽然技术含量的确没有那么高,但的确是自己放弃了无数个假期时间留校,耗费时间和精力做出来的,所以有些细节记忆还是比较深刻。之后也问了几个问题,有个别没回答上来,但我根据老师提的问题往这个问题相关的、我能回忆起的话题进行牵引,把握起面试中的主动权,(比如有老师问我怎么加入的本科实验室、什么时候加入的实验室这两个问题,自然牵引出我假期自愿留校开发项目的意图、很能吃苦的经历,顺带老师也问了几个这方面的小问题……)之后成功让老师相信这些项目的确是我做的。还有些其他问题: 1.Java中的堆栈有什么作用?2.Jsp中的内置对象?3.对SSH框架有没有了解?4.数据库原理中事务的四大性质?前两个问题完全遗忘了,稍加思索,试着回答了一下,看着老师表情不大对立马收手,说老师这个问题我的确不了解,我还是不瞎说了。第三个问题回答说:“了解,但现在SSH可能比较落伍了,维护老项目才用得着,现在大家更喜欢用SSM、Spring boot这些写Java后台……”。被老师打断,老师说SSH的确老,但是一些新框架你没有使用过,有什么用呢?连忙回答自己使用过SSM,而且正在看一门Spring boot相关的课程,老师便也没再问。而第四个问题应该是我应对的最好的。“老师,关于事务的四大性质,书本上文字性的内容我可能记忆不太清,我可以结合自己的了解谈一下对事务的看法吗?”,“可以,就是想听结合你自己的理解”,“在我的应用中事务是几个数据库操作的集合,这些集合是不可拆分的,如果某个事物中含有两项操作,要么一起发生,要么就都不发生。如果第一个操作执行过程中发生了错误,那么第二个操作也不将执行。一旦产生错误,事务会进行回滚操作,回滚到事务发生前的状态”。就这样,不知不觉,20分钟过去了,老师告诉我这样就可以了,面试结束,回去让我通知一下在外面的同学们,说复试是差额复试,如果被刷不要太失落。我说:“好,谢谢老师。”随后起身,“老师,我还想最后说一段话。我知道今天许多问题我回答的不尽人意,我认为今天面试自己发挥的不太好,没有把我最真实的水平体现给老师。但是我想说,如果我有幸能加入贵中心,我有十足的信心可以成为一只领头羊,尤其是项目方面,我自信我是一个可以扛起大旗的人,希望老师可以给我这个机会。”说这段话的时候其实没有说空话,自己的确是有这个信心。我相信我那时的目光是十分坚毅的,我相信我那时候身边是有一股强大气场的。听到这段话后其实几个老师的表情已经不再那么严肃,有一个老师甚至已经笑出来了。老师也回应说:“好,回去等通知就行了。”我将要走出会议室的时候,突然想起来忘了说什么,赶紧回头补了一句“老师,我机试4A!”老师这时候是真乐呵了,说“好好好!我们还没看哪个呢”。然后老师再见,步出了门外。(mdzz 怎么写的跟自传似的 无所谓了 让大家感到身临其境吧)至此整个复试就正式结束了。最后面试还有一个点强调一下:不要老师问什么你就只答什么,如果整场面试老师发言的时间比你还长,那么这场面试成绩一定不理想。每个面试问题都没有固定的答案。要试着在某个问题的回答上适当的引申,把老师指引到你擅长的领域,掌握面试中的主动权。但一定要先正面回答一下老师的问题,再去加以引申,不然就是答非所问了。————————4.27更————————跟一位师哥在知乎上的探讨引发了一些关于面试的思考。师哥说:回答问题的时候不要进行引申,防止自己把自己带到坑里去。这是一种更求稳的做法,如果对自己水平不自信的话,就把侧重点放在答好老师的问题上就可以了。当然,即便是只回答老师提出的问题,也尽量把答案丰满一些,不要太简短,比老师说的话还少。———————————————————复试结束走出会议室,回顾整个复试过程,对自己的表现还是总体满意的。不留遗憾了。复试结束已经是晚上20:50了,跟小伙伴一起回到了宾馆,把手机开到最大音量等待死亡电话……熬到1点没有等到死亡电话就睡着了,第二天上午也没有接到,就说明应该是拟录取了。当然,等到最终拟录取名单正式出现在学院官网上,心才真正踏实。关于初试:关于初试我实在是没什么好说的,我总分只超过A区国家线12分,数学单科只超过3分,考的很差。只能跟大家提一下初试备考期间我所犯下的忌讳:自己高考的时候给自己压力太大,曾神经衰弱。导致考研的时候过份注意自己的心态调整以及劳逸结合。心态调整的太松散,心情太放松,太轻敌,整个备考期间没有适度紧张。给自己定的目标太低,就觉得数学80+,专业课100+就能稳稳上岸,但自己打错了算盘,考试这件事情大家都有发挥失常的时候,假如自己本身的目标就是要考120分左右的高分,那么哪怕发挥失常低个20分也不会影响自己的录取。感情这种不确定因素的确会成为考研路上的一个绊脚石,劝大家备考期间在一起的坚持住,单身的忍住。我一样都没做好。“知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。物有本末,事有终始。知所先后,则近道矣。”太重要了。不要想着4月份在疯玩5月份立马转变学习态度进行学习,调整进入学习状态是一个过程性的问题,要一步一步规划好,循序渐进的把自己调整到学习的最佳状态。有条件的话一定要找一个踏实肯干,学习有劲头的研友,最好能带带自己的。数学一定要做题,而且做题也要讲究方法,一定要系统化的模拟考试。我在数学模考的时候还是没有严格要求自己,总是把一张卷子分散成好几次来做,所以效果不明显(这一点不展开赘述了,其他贴都有很详细的数学备考攻略)。关于北邮专业课。803真题还是少,一定要把803做完之后去做408,不要觉得把803几张卷子研究透了就够了。由于时间规划不合理以及自己的懒惰,我后期没有拿出时间来做几套408。保重身体。自从6月份开始我可能每个月中十几天都在吃药,频繁的感冒、嗓子发炎,都是阻碍我学习的重要因素。不要耗费太多心思在外貌打扮上。头发不用勤洗。相反地,如果你在备考期间很注重自己的个人形象,可能你要给自己提个醒,自己是不是没有真正静下心来。不要只看成功者的经验贴,多听听考研失败的学长学姐总结出的经验教训,毒鸡汤不易喝太多。心路历程这段写给自己的。初试备考中的那些我所犯过的忌讳,前面也都交代过了。我还记得初试期间在考场周围的饭馆里吃饭,老板的七八岁小孩跟我说“欢迎下次光临”。初试结束是坐大巴返校的,坐在大巴上非常迷茫,跟身边朋友说数学顶多五六十分,大家还都不信。打电话给我妈没有打通,给我爸打的。我说,爸,没戏了。我爸说,学霸都这样!考完就说自己没戏了!其实稳得不行!我简直破涕为笑,我说wocao我是真没戏了哈哈哈哈!我爸也没有埋怨我什么的,就说不行就再来一年呗。真的当时眼泪在眼里打转,回想这些年来,爸妈在学业上从来没给过我什么压力,基本放养型,督促都很少,基本全靠自觉。但我一旦想学,他们一定会帮我营造最好的学习环境。直到初试成绩公布,都是半欢喜半忧愁,玩也没怎么玩尽兴。经常夜不能寐。有天晚上做了一个梦,梦到我奶奶给我找了个半仙,给我开了个偏方,要我自己手动叠五只小船,然后用油锅炸黄,然后捞出来,控下油,在屋外烧掉,就能考上。做完就惊醒了,赶紧在手机备忘录里记下。初试成绩公布的前几天照办了这件事(有点迷信,但的确是寄托一个好的念想吧)。初试成绩公布后才是真正的焦虑,我所报考的组别建立了QQ群,有热心同学利用群投票帮大家统计了成绩,以便个人能够对自己的成绩做一个定位。我的成绩在专硕里排二三十名,按照往年的分数以及复试人数,断定自己完全没有希望了(后来才知道有人瞎投)。在初试成绩公布到国家线公布这段时间里,做的事情不多:堕落、迷茫、寻求安慰、调整心态、试探性寻找调剂以及为二战做准备(更多的是心理准备,书也借了几本)。高数十八讲借来了,线性代数网课也看了几节。着手准备了毕业设计,希望能尽快完成毕业设计然后以便尽早投入二战复习。那时候就反思自己,觉得2018年真的是迷失自我的一年。考研这件事情,考不上的话就是自己水平不够,修炼不到位,没有给自己找太多其他理由。既然水平不够,那就再修炼一年呗!在反复思考下,终于算是说服了自己。3.15国家线公布,漫不经心的看了一眼,还跟家里说了一声,意思就是:看!我数学考了62还过了国家线,明年一定有信心。内心想着一心二战,但真的有许多长辈过来劝说,既然过了国家线就试探性的找一下调剂吧。开启发邮件之旅。漫不经心的做了一份很山寨的简历,开始发邮件。282的分数,没有几个老师真正打开我的邮件看,发了几封石沉大海,搞得自己心情很差。再也不想继续找了,不能影响我二战的心态啊哈哈哈。3.20左右先是公布了院线。专硕的院线竟然跟国家线一样,是我从始至终没有预料到的。虽然还是没抱希望进复试,但心情美丽了一些。晚上看到群里发布了群公告,说复试线出了,抱着观望的态度打开了网站。看到我所报考的组复试线278,整个人懵掉了,不合常理!因为根据投票结果是不可能进复试的!这时候才想到有人乱投票,混淆视听。反复确认高于278就可以进入复试,在实验室里大吼一声“我*,我进复试了”,实验室的师哥师姐、学弟学妹竟然给我鼓起了掌。哭着给我妈打了电话,哭一半是因为激动(你们能体会原本生活一片灰暗,突然有了一丝希望的感觉吗?),一半是因为留给自己的复习时间只有一周了,利用一周之内逆袭,似乎是不可能的事。之后又给关系比较近的老师报了喜,收获了许多鼓励和祝福。迅速调整好状态,等到复试名单出来之后,发现除了前几位分数很高,从第5名(共19人)开始,大家分数差距在40分之内,胜算更多了。老师在群里说今年复试可能要刷不少人。可是复录比已经不是我考虑的内容了,如果不是复录比比较高,那我就没法进入复试了。争分夺秒,没时间担忧了,这一周要拼命,不留遗憾。……分割线……这周过的太快了,太充实了。复试也恍若一瞬,原来剧情可以反转的这么戏剧化。我的考研之旅结束了。从“无颜面对江东父老”到“衣锦还乡”,恍若隔世。一路走来崎岖不平,收获的远远不止“考上了”三个字。有些错误、教训,会铭记一辈子的吧。我爸把家里藏了12年的好酒拿出来喝掉了。回想准备复试的那一周忐忑不安的心情,其实自己可以更自信一点的:我本科阶段专业课学习认真、基础好、编程作业按时完成,实训常常带领小组成员夺第一,课下也会买网课跟着刷一些算法题,加入实验室之后基本上没有假期……回想起来,我在整个大学阶段里没有荒废过的时光,都是在为我的复试打下基础。大学,还是不易荒废呀。各位,共勉。编辑于 2019-05-10授权转载,原文地址:https://zhuanlan.hu.com/p/63338889嘿嘿,感谢楼楼的转载授权,想看楼楼更多图片吗?想了解楼楼在研究生阶段的生活怎么样吗?话不多说,作者直接放图!帅气逼人!楼楼在唱歌比赛 图一多才多艺的楼楼!!!优秀的楼楼,斩获冠军!!!作者在最后祝福楼楼在研究生阶段取得更大成绩,收获更多精彩!生活幸福,科研顺利!!!也祝福天下的考研学子在人生路上收获属于自己的精彩!!!更多精彩,请点击关注
大家好,我是育明考研小赵老师关于上海交通大学计算机科学与技术考研信息汇总,请参考一、院校介绍上海交通大学是教育部直属、由教育部和上海市共建的全国重点大学。创办于1896年、以南洋公学为前身的上海交通大学,是我国历史最悠久的高等学府之一。一个世纪以来,形成了“起点高、基础厚、要求严、重实践、求创新”的优良传统和办学特色,为国家培养了10多万优秀人才,包括一批杰出的政治家、社会活动家、实业家、科学家、教授和工程技术专家,为国家的繁荣和科学技术的发展作出了重要贡献。著名校友有江泽民,以及陆定一、丁关根、汪道涵、钱学森、吴文俊、邹韬奋、茅以升、蔡锷、黄炎培、邵力子、王安等。在国家23位“两弹一星”功臣中,交大校友有6位;在中国科学院、中国工程院院士中,交大的校友有200多名。改革开放以来,一批较年轻的校友已在世界各地、各行各业崭露头角。 交通大学在解放前已成为一所在海内外有一定影响的知名大学。建国以来,虽然经过了50年代的“院系调整”和“西迁”等重大变动,上海交大人“饮水思源,爱国荣校”,寸心不移。改革开放以来,上海交通大学率先在全国高校进行校内管理体制改革,使古老学府焕发出青春和活力。经过20多年来的不懈努力,学校获得了前所未有的发展。现已成为一所以坚实的理科为基础,强大的工科为主干,管、农、文、法等学科具有特色,具有国内一流水平,并有较大国际影响的全国重点大学。通信与电子系统、船舶与海洋工程、自动控制、复合材料、金属塑性加工等若干个学科已接近世界一流水平。大规模集成电路、计算机、光纤技术、系统工程等一批新兴学科在国内具有重要地位。二、专业目录(101)思想政治理论(201)英语一(301)数学一(408)计算机学科专业基础综合三、研究方向1. 计算机系统结构2. 计算机软件与理论3. 计算机应用技术4. 先进计算机体系结构与芯片技术5. 软件工程四、参考书1. 《计算机通信网原理与技术》薛质,袁艺 等编著清华大学出版社,2012-6-1;《计算机网络》(第四版)中译本Andrew S.Tanenbaum清华大学出版社2. 《数据结构》严蔚敏 清华大学出版社;《操作系统教程》陆松年、薛质等编 电子工业出版社20003. 《软件工程原理》(第1章-第9章),沈备军等编著,高等教育出版社,2013;《数据结构(C++语言版)》(第3版),邓俊辉编著,清华大学出版社,2013;《深入理解计算机系统》(原书第二版)(Computer Systems A Programmer's Perspective,Randal E.Bryant/David O'Hallaron著),(第2,3,6,8-10章),龚奕利等译,机械工业出版社,2011五、拟招生人数2019年计算机科学与技术拟招生人数3人六、历年分数线2019年政治50英语55业务课一75业务课二85总分3252018年政治50英语50业务课一75业务课二85总分3202017年政治50英语55业务课一75业务课二85总分325七、育明考研策略数据结构数据结构这门课程框架比较确定,算是比较基础的课程,可以作为第一门复习的课程。在复习时建立知识框架,在延伸至具体的知识点以及各种抽象概念等,散而不乱,打好知识基础,然后在辅以做题,比如王道的习题,你就会豁然开朗。算法基本上都需要手写代码,这个你如果感觉上来比较难的话,可以复习一遍之后再进行,推荐第一遍复习选择题,第二遍复习答题(算法),代码一定要手写,不能光看。看完后背下来也要默写一遍。我当时准备了一个本子,写了大概有几十个算法,基本上都还比较基础一些的。计算机网络这门课程知识点繁多且比较杂,需要花费比较多的时间复习,建议作为最后一门课程复习,避免遗忘的太快。这门课程的主要难点及考点基本就是五层协议:物理层,数据链路层,网络层,传输层,应用层。其中下面两层考选择较为多些,上面三层,结合组网之类的会考答题,一般只有一题。网路这部分必须拿到高分,尽量少失分。操作系统操作系统整体分为:进程管理、内存管理、文件管理、设备管理。即操作系统负责硬件管理,可以简单理解为依次管CPU,管内存,管外存,管外设。进程管理:进程和线程的比较,进程的创建和终止。进程的阻塞与唤醒。死锁的判断(四个必要条件),死锁的预防(破坏四个必要条件),死锁的避免(银行家算法等)。内存管理:程序装入的过程与原理,编译与连接,逻辑地址与物理地址。连续分配方式的原理与特点。分页与分段,请求分页与请求分段。缺页中断的处理。虚拟地址和物理地址的转换。
很多读者抱怨计算操作系统的知识点比较繁杂,自己也没有多少耐心去看,但是面试的时候又经常会遇到。所以,我带着我整理好的操作系统的常见问题来啦!这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如进程管理、内存管理、虚拟内存等等。文章形式通过大部分比较喜欢的面试官和求职者之间的对话形式展开。另外,我也只是在大学的时候学习过操作系统,不过基本都忘了,为了写这篇文章这段时间看了很多相关的书籍和博客。如果文中有任何需要补充和完善的地方,你都可以在评论区指出。如果觉得内容不错的话,不要忘记点个在看哦!我个人觉得学好操作系统还是非常有用的,具体可以看我昨天在星球分享的一段话:这篇文章只是对一些操作系统比较重要概念的一个概览,深入学习的话,建议大家还是老老实实地去看书。另外, 这篇文章的很多内容参考了《现代操作系统》第三版这本书,非常感谢。一 操作系统基础面试官顶着蓬松的假发向我走来,只见他一手拿着厚重的 Thinkpad ,一手提着他那淡黄的长裙。1.1 什么是操作系统?面试官: 先来个简单问题吧!什么是操作系统? 我:我通过以下四点向您介绍一下什么是操作系统吧!操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石;操作系统本质上是运行在计算机上的软件程序 ;操作系统为用户提供一个与系统交互的操作界面 ;操作系统分内核与外壳(我们可以把外壳理解成围绕着内核的应用程序,而内核就是能操作硬件的程序)。关于内核多插一嘴:内核负责管理系统的进程、内存、设备驱动程序、文件和网络系统等等,决定着系统的性能和稳定性。是连接应用程序和硬件的桥梁。内核就是操作系统背后黑盒的核心。1.2 系统调用面试官:什么是系统调用呢? 能不能详细介绍一下。 我:介绍系统调用之前,我们先来了解一下用户态和系统态。根据进程访问资源的特点,我们可以把进程在系统上的运行分为两个级别:用户态(user mode) : 用户态运行的进程或可以直接读取用户程序的数据。系统态(kernel mode):可以简单的理解系统态运行的进程或程序几乎可以访问计算机的任何资源,不受限制。说了用户态和系统态之后,那么什么是系统调用呢?我们运行的程序基本都是运行在用户态,如果我们调用操作系统提供的系统态级别的子功能咋办呢?那就需要系统调用了!也就是说在我们运行的用户程序中,凡是与系统态级别的资源有关的操作(如文件管理、进程控制、内存管理等),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。这些系统调用按功能大致可分为如下几类:设备管理。完成设备的请求或释放,以及设备启动等功能。文件管理。完成文件的读、写、创建及删除等功能。进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。进程通信。完成进程之间的消息传递或信号传递等功能。内存管理。完成内存的分配、回收以及获取作业占用内存区大小及地址等功能。二 进程和线程2.1 进程和线程的区别面试官: 好的!我明白了!那你再说一下: 进程和线程的区别。 我:好的! 下图是 Java 内存区域,我们从 JVM 的角度来说一下线程和进程之间的关系吧!如果你对 Java 内存区域 (运行时数据区) 这部分知识不太了解的话可以阅读一下这篇文章:《可能是把 Java 内存区域讲的最清楚的一篇文章》从上图可以看出:一个进程中可以有多个线程,多个线程共享进程的堆和方法区 (JDK1.8 之后的元空间)资源,但是每个线程有自己的程序计数器、虚拟机栈和 本地方法栈。总结:线程是进程划分成的更小的运行单位,一个进程在其执行的过程中可以产生多个线程。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同一进程中的线程极有可能会相互影响。线程执行开销小,但不利于资源的管理和保护;而进程正相反。2.2 进程有哪几种状态?面试官: 那你再说说进程有哪几种状态? 我:我们一般把进程大致分为 5 种状态,这一点和线程很像!创建状态(new) :进程正在被创建,尚未到就绪状态。就绪状态(ready) :进程已处于准备运行状态,即进程获得了除了处理器之外的一切所需资源,一旦得到处理器资源(处理器分配的时间片)即可运行。运行状态(running) :进程正在处理器上上运行(单核 CPU 下任意时刻只有一个进程处于运行状态)。阻塞状态(waiting) :又称为等待状态,进程正在等待某一事件而暂停运行如等待某资源为可用或等待 IO 操作完成。即使处理器空闲,该进程也不能运行。结束状态(terminated) :进程正在从系统中消失。可能是进程正常结束或其他原因中断退出运行。2.3 进程间的通信方式面试官:进程间的通信常见的的有哪几种方式呢? 我:大概有 7 种常见的进程间的通信方式。下面这部分总结参考了:《进程间通信 IPC (InterProcess Communication)》 这篇文章,推荐阅读,总结的非常不错。管道/匿名管道(Pipes) :用于具有亲缘关系的父子进程间或者兄弟进程之间的通信。有名管道(Names Pipes) : 匿名管道由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了有名管道。有名管道严格遵循先进先出(first in first out)。有名管道以磁盘文件的方式存在,可以实现本机任意两个进程通信。信号(Signal) :信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生;消息队列(Message Queuing) :消息队列是消息的链表,具有特定的格式,存放在内存中并由消息队列标识符标识。管道和消息队列的通信数据都是先进先出的原则。与管道(无名管道:只存在于内存中的文件;命名管道:存在于实际的磁盘介质或者文件系统)不同的是消息队列存放在内核中,只有在内核重启(即,操作系统重启)或者显示地删除一个消息队列时,该消息队列才会被真正的删除。消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取.比 FIFO 更有优势。消息队列克服了信号承载信息量少,管道只能承载无格式字 节流以及缓冲区大小受限等缺。信号量(Semaphores) :信号量是一个计数器,用于多进程对共享数据的访问,信号量的意图在于进程间同步。这种通信方式主要用于解决与同步相关的问题并避免竞争条件。共享内存(Shared memory) :使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新。这种方式需要依靠某种同步操作,如互斥锁和信号量等。可以说这是最有用的进程间通信方式。套接字(Sockets) : 此方法主要用于在客户端和服务器之间通过网络进行通信。套接字是支持 TCP/IP 的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。2.4 线程间的同步的方式面试官:那线程间的同步的方式有哪些呢? 我:线程同步是两个或多个共享关键资源的线程的并发执行。应该同步线程以避免关键的资源使用冲突。操作系统一般有下面三种线程同步的方式:互斥量(Mutex):采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问。比如 Java 中的 synchronized 关键词和各种 Lock 都是这种机制。信号量(Semphares) :它允许同一时刻多个线程访问同一资源,但是需要控制同一时刻访问此资源的最大线程数量事件(Event) :Wait/Notify:通过通知操作的方式来保持多线程同步,还可以方便的实现多线程优先级的比较操2.5 进程的调度算法面试官:你知道操作系统中进程的调度算法有哪些吗? 我:嗯嗯!这个我们大学的时候学过,是一个很重要的知识点!为了确定首先执行哪个进程以及最后执行哪个进程以实现最大 CPU 利用率,计算机科学家已经定义了一些算法,它们是:先到先服务(FCFS)调度算法 : 从就绪队列中选择一个最先进入该队列的进程为之分配资源,使它立即执行并一直执行到完成或发生某事件而被阻塞放弃占用 CPU 时再重新调度。短作业优先(SJF)的调度算法 : 从就绪队列中选出一个估计运行时间最短的进程为之分配资源,使它立即执行并一直执行到完成或发生某事件而被阻塞放弃占用 CPU 时再重新调度。时间片轮转调度算法 : 时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法,又称 RR(Round robin)调度。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。多级反馈队列调度算法 :前面介绍的几种进程调度的算法都有一定的局限性。如短进程优先的调度算法,仅照顾了短进程而忽略了长进程 。多级反馈队列调度算法既能使高优先级的作业得到响应又能使短作业(进程)迅速完成。,因而它是目前被公认的一种较好的进程调度算法,UNIX 操作系统采取的便是这种调度算法。优先级调度 : 为每个流程分配优先级,首先执行具有最高优先级的进程,依此类推。具有相同优先级的进程以 FCFS 方式执行。可以根据内存要求,时间要求或任何其他资源要求来确定优先级。三 操作系统内存管理基础3.1 内存管理介绍 面试官: 操作系统的内存管理主要是做什么? 我:操作系统的内存管理主要负责内存的分配与回收(malloc 函数:申请内存,free 函数:释放内存),另外地址转换也就是将逻辑地址转换成相应的物理地址等功能也是操作系统内存管理做的事情。3.2 常见的几种内存管理机制 面试官: 操作系统的内存管理机制了解吗?内存管理有哪几种方式? 我:这个在学习操作系统的时候有了解过。简单分为连续分配管理方式和非连续分配管理方式这两种。连续分配管理方式是指为一个用户程序分配一个连续的内存空间,常见的如 块式管理。同样地,非连续分配管理方式允许一个程序使用的内存分布在离散或者说不相邻的内存中,常见的如页式管理 和 段式管理。块式管理 : 远古时代的计算机操系统的内存管理方式。将内存分为几个固定大小的块,每个块中只包含一个进程。如果程序运行需要内存的话,操作系统就分配给它一块,如果程序运行只需要很小的空间的话,分配的这块内存很大一部分几乎被浪费了。这些在每个块中未被利用的空间,我们称之为碎片。页式管理 :把主存分为大小相等且固定的一页一页的形式,页较小,相对相比于块式管理的划分力度更大,提高了内存利用率,减少了碎片。页式管理通过页表对应逻辑地址和物理地址。段式管理 : 页式管理虽然提高了内存利用率,但是页式管理其中的页实际并无任何实际意义。 段式管理把主存分为一段段的,每一段的空间又要比一页的空间小很多 。但是,最重要的是段是有实际意义的,每个段定义了一组逻辑信息,例如,有主程序段 MAIN、子程序段 X、数据段 D 及栈段 S 等。 段式管理通过段表对应逻辑地址和物理地址。面试官: 回答的还不错!不过漏掉了一个很重要的 段页式管理机制 。段页式管理机制结合了段式管理和页式管理的优点。简单来说段页式管理机制就是把主存先分成若干段,每个段又分成若干页,也就是说 段页式管理机制 中段与段之间以及段的内部的都是离散的。 我:谢谢面试官!刚刚把这个给忘记了~3.3 快表和多级页表面试官: 页表管理机制中有两个很重要的概念:快表和多级页表,这两个东西分别解决了页表管理中很重要的两个问题。你给我简单介绍一下吧! 我:在分页内存管理中,很重要的两点是:虚拟地址到物理地址的转换要快。解决虚拟地址空间大,页表也会很大的问题。快表为了解决虚拟地址到物理地址的转换速度,操作系统在 页表方案基础之上引入了 快表 来加速虚拟地址到物理地址的转换。我们可以把块表理解为一种特殊的高速缓冲存储器(Cache),其中的内容是页表的一部分或者全部内容。作为页表的 Cache,它的作用与页表相似,但是提高了访问速率。由于采用页表做地址转换,读写内存数据时 CPU 要访问两次主存。有了快表,有时只要访问一次高速缓冲存储器,一次主存,这样可加速查找并提高指令执行速度。使用快表之后的地址转换流程是这样的:根据虚拟地址中的页号查快表;如果该页在快表中,直接从快表中读取相应的物理地址;如果该页不在快表中,就访问内存中的页表,再从页表中得到物理地址,同时将页表中的该映射表项添加到快表中;当快表填满后,又要登记新页时,就按照一定的淘汰策略淘汰掉快表中的一个页。看完了之后你会发现快表和我们平时经常在我们开发的系统使用的缓存(比如 Redis)很像,的确是这样的,操作系统中的很多思想、很多经典的算法,你都可以在我们日常开发使用的各种工具或者框架中找到它们的影子。多级页表引入多级页表的主要目的是为了避免把全部页表一直放在内存中占用过多空间,特别是那些根本就不需要的页表就不需要保留在内存中。总结为了提高内存的空间性能,提出了多级页表的概念;但是提到空间性能是以浪费时间性能为基础的,因此为了补充损失的时间性能,提出了快表(即 TLB)的概念。 不论是快表还是多级页表实际上都利用到了程序的局部性原理,局部性原理在后面的虚拟内存这部分会介绍到。3.4 分页机制和分段机制的共同点和区别面试官: 分页机制和分段机制有哪些共同点和区别呢? 我:共同点 :分页机制和分段机制都是为了提高内存利用率,较少内存碎片。页和段都是离散存储的,所以两者都是离散分配内存的方式。但是,每个页和段中的内存是连续的。区别 :页的大小是固定的,由操作系统决定;而段的大小不固定,取决于我们当前运行的程序。分页仅仅是为了满足操作系统内存管理的需求,而段是逻辑信息的单位,在程序中可以体现为代码段,数据段,能够更好满足用户的需要。3.5 逻辑(虚拟)地址和物理地址面试官:你刚刚还提到了逻辑地址和物理地址这两个概念,我不太清楚,你能为我解释一下不? 我:em...好的嘛!我们编程一般只有可能和逻辑地址打交道,比如在 C 语言中,指针里面存储的数值就可以理解成为内存里的一个地址,这个地址也就是我们说的逻辑地址,逻辑地址由操作系统决定。物理地址指的是真实物理内存中地址,更具体一点来说就是内存地址寄存器中的地址。物理地址是内存单元真正的地址。3.6 CPU 寻址了解吗?为什么需要虚拟地址空间?面试官:CPU 寻址了解吗?为什么需要虚拟地址空间? 我:这部分我真不清楚!于是面试完之后我默默去查阅了相关文档!留下了没有技术的泪水。。。现代处理器使用的是一种称为 虚拟寻址(Virtual Addressing)的寻址方式。使用虚拟寻址,CPU 需要将虚拟地址翻译成物理地址,这样才能访问到真实的物理内存。 实际上完成虚拟地址转换为物理地址转换的硬件是 CPU 中含有一个被称为 内存管理单元(Memory Management Unit, MMU) 的硬件。如下图所示:为什么要有虚拟地址空间呢?先从没有虚拟地址空间的时候说起吧!没有虚拟地址空间的时候,程序都是直接访问和操作的都是物理内存。但是这样有什么问题呢?用户程序可以访问任意内存,寻址内存的每个字节,这样就很容易(有意或者无意)破坏操作系统,造成操作系统崩溃。想要同时运行多个程序特别困难,比如你想同时运行一个微信和一个 QQ 音乐都不行。为什么呢?举个简单的例子:微信在运行的时候给内存地址 1xxx 赋值后,QQ 音乐也同样给内存地址 1xxx 赋值,那么 QQ 音乐对内存的赋值就会覆盖微信之前所赋的值,这就造成了微信这个程序就会崩溃。总结来说:如果直接把物理地址暴露出来的话会带来严重问题,比如可能对操作系统造成伤害以及给同时运行多个程序造成困难。通过虚拟地址访问内存有以下优势:程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓冲区。程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。当物理内存的供应量变小时,内存管理器会将物理内存页(通常大小为 4 KB)保存到磁盘文件。数据或代码页会根据需要在物理内存与磁盘之间移动。不同进程使用的虚拟地址彼此隔离。一个进程中的代码无法更改正在由另一进程或操作系统使用的物理内存。四 虚拟内存4.1 什么是虚拟内存(Virtual Memory)?面试官:再问你一个常识性的问题!什么是虚拟内存(Virtual Memory)? 我:这个在我们平时使用电脑特别是 Windows 系统的时候太常见了。很多时候我们使用点开了很多占内存的软件,这些软件占用的内存可能已经远远超出了我们电脑本身具有的物理内存。为什么可以这样呢? 正是因为 虚拟内存 的存在,通过 虚拟内存 可以让程序可以拥有超过系统物理内存大小的可用内存空间。另外,虚拟内存为每个进程提供了一个一致的、私有的地址空间,它让每个进程产生了一种自己在独享主存的错觉(每个进程拥有一片连续完整的内存空间)。这样会更加有效地管理内存并减少出错。虚拟内存是计算机系统内存管理的一种技术,我们可以手动设置自己电脑的虚拟内存。不要单纯认为虚拟内存只是“使用硬盘空间来扩展内存“的技术。虚拟内存的重要意义是它定义了一个连续的虚拟地址空间,并且 把内存扩展到硬盘空间。推荐阅读:《虚拟内存的那点事儿》维基百科中有几句话是这样介绍虚拟内存的。虚拟内存使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。与没有使用虚拟内存技术的系统相比,使用这种技术的系统使得大型程序的编写变得更容易,对真正的物理内存(例如 RAM)的使用也更有效率。目前,大多数操作系统都使用了虚拟内存,如 Windows 家族的“虚拟内存”;Linux 的“交换空间”等。4.2 局部性原理面试官:要想更好地理解虚拟内存技术,必须要知道计算机中著名的局部性原理。另外,局部性原理既适用于程序结构,也适用于数据结构,是非常重要的一个概念。 我:局部性原理是虚拟内存技术的基础,正是因为程序运行具有局部性原理,才可以只装入部分程序到内存就开始运行。以下内容摘自《计算机操作系统教程》 第 4 章存储器管理。早在 1968 年的时候,就有人指出我们的程序在执行的时候往往呈现局部性规律,也就是说在某个较短的时间段内,程序执行局限于某一小部分,程序访问的存储空间也局限于某个区域。局部性原理表现在以下两个方面:时间局部性 :如果程序中的某条指令一旦执行,不久以后该指令可能再次执行;如果某数据被访问过,不久以后该数据可能再次被访问。产生时间局部性的典型原因,是由于在程序中存在着大量的循环操作。空间局部性 :一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,这是因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式簇聚存储的。时间局部性是通过将近来使用的指令和数据保存到高速缓存存储器中,并使用高速缓存的层次结构实现。空间局部性通常是使用较大的高速缓存,并将预取机制集成到高速缓存控制逻辑中实现。虚拟内存技术实际上就是建立了 “内存一外存”的两级存储器的结构,利用局部性原理实现髙速缓存。4.3 虚拟存储器面试官:都说了虚拟内存了。你再讲讲虚拟存储器把! 我:这部分内容来自:王道考研操作系统知识点整理。基于局部性原理,在程序装入时,可以将程序的一部分装入内存,而将其他部分留在外存,就可以启动程序执行。由于外存往往比内存大很多,所以我们运行的软件的内存大小实际上是可以比计算机系统实际的内存大小大的。在程序执行过程中,当所访问的信息不在内存时,由操作系统将所需要的部分调入内存,然后继续执行程序。另一方面,操作系统将内存中暂时不使用的内容换到外存上,从而腾出空间存放将要调入内存的信息。这样,计算机好像为用户提供了一个比实际内存大的多的存储器——虚拟存储器。实际上,我觉得虚拟内存同样是一种时间换空间的策略,你用 CPU 的计算时间,页的调入调出花费的时间,换来了一个虚拟的更大的空间来支持程序的运行。不得不感叹,程序世界几乎不是时间换空间就是空间换时间。4.4 虚拟内存的技术实现面试官:虚拟内存技术的实现呢? 我:虚拟内存的实现需要建立在离散分配的内存管理方式的基础上。 虚拟内存的实现有以下三种方式:请求分页存储管理 :建立在分页管理之上,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能。请求分页是目前最常用的一种实现虚拟存储器的方法。请求分页存储管理系统中,在作业开始运行之前,仅装入当前要执行的部分段即可运行。假如在作业运行的过程中发现要访问的页面不在内存,则由处理器通知操作系统按照对应的页面置换算法将相应的页面调入到主存,同时操作系统也可以将暂时不用的页面置换到外存中。请求分段存储管理 :建立在分段存储管理之上,增加了请求调段功能、分段置换功能。请求分段储存管理方式就如同请求分页储存管理方式一样,在作业开始运行之前,仅装入当前要执行的部分段即可运行;在执行过程中,可使用请求调入中断动态装入要访问但又不在内存的程序段;当内存空间已满,而又需要装入新的段时,根据置换功能适当调出某个段,以便腾出空间而装入新的段。请求段页式存储管理这里多说一下?很多人容易搞混请求分页与分页存储管理,两者有何不同呢?请求分页存储管理建立在分页管理之上。他们的根本区别是是否将程序全部所需的全部地址空间都装入主存,这也是请求分页存储管理可以提供虚拟内存的原因,我们在上面已经分析过了。它们之间的根本区别在于是否将一作业的全部地址空间同时装入主存。请求分页存储管理不要求将作业全部地址空间同时装入主存。基于这一点,请求分页存储管理可以提供虚存,而分页存储管理却不能提供虚存。不管是上面那种实现方式,我们一般都需要:一定容量的内存和外存:在载入程序的时候,只需要将程序的一部分装入内存,而将其他部分留在外存,然后程序就可以执行了;缺页中断:如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),则由处理器通知操作系统将相应的页面或段调入到内存,然后继续执行程序;虚拟地址空间 :逻辑地址到物理地址的变换。4.5 页面置换算法面试官:虚拟内存管理很重要的一个概念就是页面置换算法。那你说一下 页面置换算法的作用?常见的页面置换算法有哪些? 我:这个题目经常作为笔试题出现,网上已经给出了很不错的回答,我这里只是总结整理了一下。地址映射过程中,若在页面中发现所要访问的页面不在内存中,则发生缺页中断 。缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问。 在这个时候,被内存映射的文件实际上成了一个分页交换文件。当发生缺页中断时,如果当前内存中并没有空闲的页面,操作系统就必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。用来选择淘汰哪一页的规则叫做页面置换算法,我们可以把页面置换算法看成是淘汰页面的规则。OPT 页面置换算法(最佳页面置换算法) :理想情况,不可能实现,一般作为衡量其他置换算法的方法。FIFO 页面置换算法(先进先出页面置换算法) : 总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面进行淘汰。LRU 页面置换算法(最近未使用页面置换算法) :LRU(Least Currently Used)算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 T,当须淘汰一个页面时,选择现有页面中其 T 值最大的,即最近最久未使用的页面予以淘汰。LFU 页面置换算法(最少使用页面排序算法) : LFU(Least Frequently Used)算法会让系统维护一个按最近一次访问时间排序的页面链表,链表首节点是最近刚刚使用过的页面,链表尾节点是最久未使用的页面。访问内存时,找到相应页面,并把它移到链表之首。缺页时,置换链表尾节点的页面。也就是说内存内使用越频繁的页面,被保留的时间也相对越长。
我的情况:2020四川大学计算机学院电子信息专业考研分数排名初试总分369初试政治7520初试英语7763初试数学9982初试专业课11824复试总分86.46折合总分77.5817上面是我初试以及复试的分数和排名。四川大学电子信息专业(0854)进入复试的初试合格分数线是340,单科线是55[83],进入复试的有132人,最终统考录取73人全日制+2名非全日制。时间安排:第一年由于种种客观和主观的原因,没有考上,2019年考的川大计院的计科学硕,只考了295分,分数线是325,还差30分上线。第二年从8月几号才开始正式复习。每天早上5:50起床,就算赖床也会在6点10分之前起来,晚上11点半睡觉。白天从6点多到晚上9点半在学校的自习室复习。早上到了自习室东西放下先背会儿书,把昨天学习的快速复习一遍。背会儿单词或者专业课(或者政治)。上午主要是学习数学,学累了就看会儿政治视频,下午主要是学习专业课,学累了看会儿政治或英语视频(或者去教学楼外面绕湖边走一圈,很nice的放松方式)。看政治视频是我那时候觉得挺惬意的休息方式。晚上主要是政治和英语的学习。每天中午在自习室趴着睡半小时,自习室氛围很好,也比较安静,特别是中午睡午觉时,座位上坐满了人,大家都在趴着睡觉,教室里很安静(自习室有个群,每天大家会在群里交流),所以自习室是我比较推荐的学习场所。8月到10月都是这样的安排,到11月,时间比较紧张,我没有压缩睡眠时间,而是加快了步伐。觉一定要睡够,并且尽量早睡早起,因为我发现我是那种晚睡1小时就会晚起2小时的人。当然,我还是没有做到几个月每天都如此规律,10月之前基本上每周都会有一天,会放松一下,睡个懒觉,看看电影什么的。10月之后就休息得比较少。政治政治的学习,第一年考研买的书也没看,第二年直接没买书,就只看了视频,徐涛的视频,强化课看了一遍,刷题课看了一遍,到10月开始刷选择题,选择题要刷很多,可以用肖秀荣的1000题,手机上有几个微信小程序,也是按章节来的,大概1000多道,每天刷一小节,40天就刷完,每次也就10来分钟,我是每天中午睡觉前刷(用来酝酿午觉的),刷完必定很困,倒下就睡。到后面的肖秀荣的八套卷四套卷建议都用上,八套卷主要是刷选择题,四套卷的选择题作为测验,计时做,看看自己的分数。四套卷的大题是重点,一定要背,特别是前两套,19年和20年命中的大题基本都是前两套里面的。四套卷背熟,大题就不用慌了,12月之前我都没有背过政治大题,我19年政治67分,20年政治75分。「政治大题主要的不是背内容,而是答题思路,内容是辅助,掌握答题思路,即使拿着没押中的大题也能拿个不错的分。」英语**英语,如果没有一个比较适合自己的学习方法,那就是靠自己的英语老底了,但其实大部分考研的人英语老底是不够的。**我英语就是六级考了n次才飘过的老底,也不是很好。所以得靠方法,这里我比较推荐于慧讲授的学习方法(虽然他的书对他的方法有多好有些夸张的描述),就是从语法上去学习这门语言。但是不是每个人都适合,学习英语有两条路,一是语法,而是语感。培养语感需要付出的时间和精力会比较大,但是那样子培养出来的英语水平可以很高,如果想走捷径,那还是走语法这条路吧,因为省事,性价比高。**第一, 单词得好好背。**不管用什么方式吧,坚持把考研词汇背到基本没有不认识的词。我背过的有新东方的《研词》,王江涛的《十天搞定考研词汇》。王江涛的《十天搞定考研词汇》中讲述的方法,也就是快速地滚动背大量词汇的方法,对我还是有挺快的提升,难点在于坚持下来。**第二, 刷真题!主要是阅读。**按照于慧那个方法刷真题是有用的。大概是:一篇阅读,先做,做完不忙对答案,再研究试题,考究到底选什么,到比较确定的时候,对答案,看看哪些是一开始错了,改对了的,哪些是错了还没改对的,哪些是错了改都没改的,看看思路是不是和自己想的一样等。然后过两天再回来重做这篇阅读,滚动着(就是每天先做做之前的题,再做新的题)。数学「数学主要是理解和刷题。一战时用张宇的36讲,做了1000题的A,B部分(A简单,B中等,C难。但20版开始好像不分A,B,C了)。最后刷真题和模拟题。」二战时只用了张宇的《闭关修炼》,有时候查阅一下36讲。张宇的《闭关修炼》是一本非常好的复习书,总结得很好,简洁又不失全面。但是初学者拿着《闭关修炼》可能有些地方看不懂,建议一本详细的数学书(36讲或者复习全书)+《闭关修炼》。《闭关修炼》里面每一个题都值得仔细弄透。我是拿着一个题,先做,做出来在前面画√,做不出来画×,没对全画半√。做了之后拿着解析仔细研究,一是要看懂解题步骤,二是想为什么要这么做,是怎么想到的。最重要的是第二步骤,一定一定要想,怎么想到这个解题思路的,实在想不出来就只能记住步骤了。张宇强化课会讲解一些题,一定要看。即使当时把题弄透了,久了不复习还是扛不住遗忘。所以多去复习,第二天,隔段时间,都要再把之前打×的再做一遍。(惭愧的讲,我有些题前面连着画好多个×)。最后要做真题,真题做完再刷模拟题,合工大的,张宇的,李林的等等,越多越好,我大概刷了40套模拟题,真题当然要刷完。最后那段时间,我的模拟题分数大概120几,真题130几,不过考试的时候还是只考了99分。可能最后一周时间觉得数学没问题了,只顾着政治,停止做数学题了就生疏了,也可能是今年数学本来就难的原因吧。专业课「专业课还是早点开始比较好,一战时专业课8月中才开始,加上时间花得少,不够重视,以为简单,最后复习时间不够,刚复习完一轮就上考场,最后分数才86。二战时就足够重视了。最后118,排名还算靠前。」我使用的书籍有:王道考研的书,找了汤子瀛的《操作系统》看了一遍。一战结束我知道我操作系统比较弱,所以二战操作系统花的时间比计网和数据结构稍多。对于874,复习时候完全可以按照408来,只是不复习计算机组成原理。王道书上的题都要刷了,错题要做记号,然后过几天回看,实际上是每天回看前几天做的错题。复习完一章就(使用xmind)画思维导图,这个步骤很有意义,这个图保存着,考试前可以快速过n次,一次很快就浏览完几个科目了。复试时候还用到了它们,真的很不错!数据结构大题要背代码。数组基本题型,常用的排序算法,树的遍历三种模板(递归和不递归的),图的广度优先和深度优先等都要默写!这个可以到10月再开始。结语我花的时间大概是数学≈专业课>英语>=政治,时间比重大概是3:3:1:1。其中英语和政治是:前期英语多,后期政治多。对于考研,重要程度:方法>选择>努力(坚持),但都是重要的。「一是方法重要,今年考电子信息第一名的那位hxd在经验贴里讲到:」“在正式复习之前,我看了王道和知乎上一两百篇经验贴,我属于那种愿意花一个月时间计划也不愿意走一个月弯路的人,即使这样复习过程中还是走了不少弯路。” 他是跨考,一战上岸,且是第一名,不得不说是很强了。经历了考研也更深刻理解到,方法的确是比努力还重要的!一定要找到适合自己的方法!我也花了一个月时间去找方法以及找复习的节奏。**二是选择重要。**第一年我报名时候报的软件工程学硕,后来有学长极力劝我改计科学硕,因为软件学硕招的太少了,在犹豫再三后还是选了计科,然而我如果当时没改,那2019年就稳上研究生了,最后分数线290,招10人,上线3人,最低分293,上线的3人全录,从计科调剂了7人到软学(当然,这不怪学长,学长确实是为我好,他也考川大计学,本没必要劝我跟他竞争计学,但为了我考上概率更大,他这样做了,所以,虽然结果不如人意,但打心底里还是感谢学长的)。这只是我的例子,这样的例子其实很多,今年很多学校由于扩招,一是分数线降低了很多,二是进入复试的人数里录取的比例非常高。但是仍然有些学校不但不扩,还缩了。川大计算机考研实际上已经属于非常热门的专业了。特别是专硕,报考人数逐年指数增长,录取人数基本不变。三是努力重要,这个不必多说。关于辅导班,我觉得,面授班不是必要,网课可以报。报班和考不考得上关系不大。不巧的是,身边认识的考研朋友,报面授班的都没考上。当然,不是说报班反而考不上,是说这两者关系确实不大。考不考得上还是看自己方法,选择和努力。「最后,对于学习资源的获取,这个很重要,但是这里不多说(版权问题),推荐三种方式:一是群文件,二是公众号,三是论坛。至于到底是哪些群,哪些公众号,哪些论坛,找学长学姐问问就知道了。」
对于计算机专业的同学来说,无论是保研还是考研,机试都是一种较为常见的考试类型,也是令很多同学较为头疼的考试类型。不同院校机试所占比重也不尽相同,比如北理考试形式只有机试和面试,因此机试占50%,人大笔试、面试、机试都有,因此机试只占10%,有的院校将机试成绩作为能否进入面试的硬性指标,比如北航、清华、北大。机试成绩可能会影响你的面试成绩,因此还需要认真对待。对于大多数院校来说,机试考试是面向过程的编程,题型相对固定,但是想要跑通所有用例,拿到AC,还是又一定难度,尤其对于边缘测试,非常考察逻辑思维能力。下面我介绍一下我的机试准备历程。参考资料欲善其事,必先利其器,想要刷好机试题,找到一个合适的学习方法至关重要,首先准备一本书籍系统的学习一下各种题目类型是必要的,在这里我推荐《王道计算机考研机试指南》这本书,这本书的题目难度和大多数学校题目难度持平,另外推荐一本书叫《算法竞赛入门》,许多打ACM的同学都学习过这本书,题目难度较大。其次要找到一个合适的刷题oj平台,不使用平台来做题,是没有任何效果的,因为对于超时问题、边界用例测试、甚至格式问题,自己难以想的周全。在这里我推荐几个平台:百练oj,这个是北大官方平台,可以找到历年的考试试题,部分院校也采用此机试平台;UVA,《算法竞赛入门》这本书配套的平台;leetcode这是最大的一个oj平台,全球程序员都在用的平台,倾向于算法,只需实现题目要求的关键算法,难度较大,对于夏令营这种既考察算法又考察细节的思想有些出入,不适合将此平台作为练习机试的唯一平台,但是因为这个平台使用人数多,并且许多大佬都会分享解题思路并开源代码,因此这是个非常好的提高代码能力的平台。除此之外还有很多oj平台如牛客网、杭电oj、RQNOJ等等也都各有优势。刷题建议对于刷题来说,首先还是要由简入繁,循序渐进,以leetcode为例,每个题目都标有难度等级,做完以后会有同类型但是难度增大的题目推荐,循序渐进的做题,可以避免看到题目发懵,甚至直接走向一个错误的思路。其次,做完一个题目,要养成读取借鉴别人代码的习惯,别人的代码可能思路更简洁,比起闭门造车,效果事半功倍。最后就是学校出题大多有迹可循,针对目标高校,搜寻往年试题,找寻规律,重点练习。0语言建议对于大多数考生来说,使用一门通用的机试语言可以省去很多不必要的麻烦,虽然很多学校提供多种语言平台,但是也有很多学校对此并无说明,保险起见,还是使用C/C++练习。在练习时要学会使用标准库,可节约大把时间,并规避由手写函数带来的错误,由于标准库较多,尤其对于字符串处理问题,用到的函数种类繁多,只能熟能生巧,多做练习。常见题型(1)、字符串处理,如词频统计问题,字符串匹配等。(2)、 搜索算法,如DFS、BFS。(3)、链表队列处理,增删改查。(4)、动态规划。(5)、 贪心算法。(6)、背包问题。在夏令营机试期间,我遇到的(1)、(2)、(4)类型的题目最多,对于数据结构里树和图的考察并不多,可见机试主要考察算法,对构建数据结构的考察相对较少。最后对于那些害怕机试的同学来说,有效规避机试也是一种选择。如提前考取CCF,不少学校可以通过CCF成绩免机试;考取PAT证书免浙大机试;或者选择投报无机试的学校,如北邮、北交大;投报擦边专业,如电子通信、自动化等。最后祝保研人们保研顺利。