东南大学2019年计算机学院初试经验+复试笔试回忆,复习经验+复试面试回忆。

写这篇文章的初衷就是当时自己初试复试找了好多经验贴,但是认认真真比较仔细介绍从初试到复试的全过程的看来看去就那么几篇,所以就自己写一篇吧,如果能帮到正在为梦想前行的你们那真是我莫大的荣幸。

初试经验

我考的是东南大学的计算机技术专硕,初试386。

数学一

数学是从3月份开始复习的,从复习数学开始,每天至少四个小时花在数学上,一般都是上午。整体的进度是暑假前结束一轮,一轮我用的是张宇的18讲,李永乐的线性代数讲义,张宇的概率论九讲。题目我都是做在笔记本或者A4纸上的便于回顾,虽然也没怎么回顾。七月份到九月份,这个期间是数学二轮,我主要是把之前的又做了一遍,这次就不能只顾着做题了,我是伴着张宇的强化班开始的,然后基本上他讲完一章,我听完后对这一个大章节进行了总结,主要就是总结哪些章节有哪些题型,把各种解题思路都总结一波,做到对这一章节的脉络有一个整体的掌握吧。二轮结束时,花了三四天把高数,线代,概率论的易考,易错,必考知识点,难点,还有比较冷门的知识点都总结了一遍(用来背的)。10月份开始的真题,以及张宇的闭关修炼。真题刷到只剩10年时,就是真题加模拟卷一起刷了,我当时用的是张宇的8套和4套,没有用李林的,你们还是最好用吧,不能不信邪。张宇大大的8+4是真心难啊,做的我找研友谈了好几波心。在做真题的过程中,也穿插着总结了每年真题都考了什么知识点,把涉及到的公式定义啥的都记在了pad上,把自己总错的地方也记在了pad上,到12月份,就每天抽半个小时默写公式,毕竟数一的公式太多了。闭关修炼我是用每天做个一两题左右,就是用比较零散的时间做的。数一的内容比较多,专业课任务也比较重,我都没有怎么做过练习题,所以这个时候总结就很起作用了,也会让你自己觉得学的很有条理。

专业课

专业课我是暑假开始的,从开始复习专业课,每天下午都是专业课的。先看的是计组和数据结构,用的是王道的资料。计组当然要搭配任国林老师的书来看啦,我用的是第二版的,不过这本书第一次看真的挺难受的,但是还是要挺下去啊。大概暑假结束数据结构和计组也结束了,任国林老师的书也过了一遍。九月的上半月看的操作系统。全部一轮看完之后,自己花了有5天时间,把三门课的知识点又自己各总结了一份讲义,便于后期背诵。之后把王道上的选择题全部重写了一遍,大题就没有了。后来王道408真题出了之后,就开始做408真题了,一天做,一天订正。如果还没到吃饭时间,就看东南大学计组的ppt搭配着计组的书。后来王道8套模拟题出来了,又开始做模拟题了,一天做,一天订正。同样,如果没到时间吃饭,就开始第二遍完整的看任国林老师的计组的书。然后就是回忆版真题啦,真题没有按年份来,按题型来的,比如先做所有的选择题,然后数据机构综合题,数据结构算法题,计组内存题等等。最后,就是把之前的所有的错题,不熟悉的题做第二遍,然后差不多就去考试了。在做试卷的时候,订正是带有总结性质的,毕竟有的题型总是反复考,比如补码加减和无符号数加减溢出标志的判断,真是各个地方都考。

英语一

其实我英语考的不高。暑假之前就过了一遍恋恋有词(没有背,就是看的朱伟的视频,记笔记)。暑假给英语的时间是晚上6点到10点,暑假开始背单词的,用的知米,每天抽一个半小时左右来背单词。然后开始做真题的阅读和完型,一天做,四天订正好像,主要就是各种查单词,划分句子结构。暑假结束后,各种其他题型也要准备了,基本上每天是阅读+其他题型的准备+背真题单词。10月份开始准备的作文,用的是王江涛的高分写作。我没有买黄皮书,阅读跟的唐迟,觉得还可以。暑假结束后每半个月抽一次时间来一趟全真模拟,拿之前没做的卷子。

政治

政治我是九月份开始,跟着徐涛的课程来看的,边看边做1000题。做完再来第二遍,第二遍就没有用视频了,用的是徐涛的冲刺背诵笔记。第二遍结束,第三遍就只做错题了,到了十一月下旬吧,具体也记不清了每天抽个一个小时背冲刺笔记上的简答题知识点。肖八肖四出来了就开始做肖八肖四,肖八只做了选择题,肖四出来后玩命的背肖四直到参加考试。

政治和英语我复习的比较诡异吧,其实各个科目知乎上都有很多经验贴,迷茫的时候可以去搜搜。我觉得每个科目只要你自己定出了一份属于自己的计划,按着计划来就好了。整个初试的准备真的是一分耕耘一分收获,只要你一点一点的坚持下来了,一定能获得想要的结果,毕竟我和我的研友们都成功上岸了。

2019复试笔试回忆 +提点

先介绍笔试吧,我怕时间久了,我就不记得什么题了,哈哈哈。
总的来说今年的题型和2018相差不大,感觉东大好像逐渐不考概念题了,偏向于应用了。今年是8道读程序题(80分)+1道程序填空题(5空,共15分)+1道程序改错题(5处,共15分)+3道程序编程题(10分,10分,20分)。emmm,考的还挺细致的,会在容易错的地方考你。回忆版的变量名称啥的肯定不太对,但是考点是对的。

  • 程序阅读题都是问你输出什么,第一题是考switch操作,以及前置++运算符和后置++运算符的区别。这题并不难,但考的挺细的,属于switch操作里嵌套 switch操作,然后并不是每一个switch都包含default语句,也不是每一个case语句结束后都有break语句,举个例子:break放的地方不一定对,但整体就这么个意思。
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int main()
{
	int a=4,b=3,c=0;
	for (int k=0;k<4;k++)//整体注意前置自增,自减和后置自增 ,自减的区别 
	{
		switch(--a>0)
		{
			case 1:{
				switch(--b)
				{
					case 2:cout<<"&";break;
					case 1:cout<<"@";break;
				}
				
			}//注意这里没有break语句。 
			case 0:{
				switch(c++)
				{
					case 0:cout<<"#";//注意这里也没有break语句。 
					case 1:cout<<"*";
					case 2:cout<<"%";
				}
				
			}break;	
		}	
		cout<<"!"<<endl;
	} 
	return 0;
}


  • 下面就不分第几题了吧,我也记不清了。
    这题主要考在函数里定义静态变量后,再次进入该函数静态变量并不二次初始化,而是保留之前的值。以及主函数中局部变量的作用域问题。
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
void fun(int a)
{
	static int m = 0;
	m+=a;
	cout<<m<<endl;
 } 
int main()
{
	int i = 0,k=2;
	for (int i=1;i<=3;i++)
		fun(i*k);
	
	cout<<i<<","<<k<<endl;//这个i不是循环变量i哦。
	return 0;
}

  • 这题就主要考以指针变量作为形参的函数,但是他很坏,他并没用利用指针变量修改实参的值,而是想要直接交换指针变量,显然指针变量作为形参其指向是不能修改的。具体理解的话,我记得C++大学教程(东大本科教程,复试笔试一定要看,有的练习题就是往年原题)里有一个顿悟说所有传递本质上是值传递,可以好好理解理解。这题是要求写出fun函数功能的。
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
void fun(int *a,int *b)
{
	int *c;
	c = a;a = b;b = c;
}
int main()
{
	int x = 7,y=19;
	int *p = &x,*q = &y;
	cout<<*p<<" "<<*q<<endl;
	fun(p,q);
	cout<<*p<<" "<<*q<<endl;
	return 0;
}

  • 这题就主要考字符串结束符‘\0’,它的ascii码是0.这题是要写出程序功能的。
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int main()
{
	char s[] = "2d876fv8d76fv\0hs8c7s8d7c";//注意字符数组中有\0结束符哦
	int i=0,num=0;
	while(s[i]!=0)
	{
		if (s[i]<='9' && s[i]>='0')
			num++;
		i++;
	}
	cout<<num<<endl;
	return 0;
}

  • 这题就主要考虚函数,非常坏的就是基类中析构函数并不声明为虚函数,这样delete 基类指针时,派生类析构函数就不会调用,而造成内存泄漏。
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
class M
{
	public:
		M(){
			cout<<"M:start"<<endl;
		}
		virtual void print()
		{
			cout<<"this is M class"<<endl;
		}
		~M()
		{
			cout<<"end of M"<<endl;
		}
};
class B:public M
{
	public:
		B(){
			cout<<"B:start"<<endl;
		}	
		void print()
		{
			cout<<"this is B class"<<endl;
		 } 
		 ~B()
		 {
		 	cout<<"end of B"<<endl;
		 }
};
int main()
{
	M *p = new B;
	p->print();
	delete p;
	return 0;
}

  • 这题主要就是考前置自增运算符的重载,这里呢是将重载函数作为友元函数声明的,比较坑的就是以对象作为形参,但是没有加引用符号,所以对象根本没有自增。还是挺具有混淆性的,一不注意就过去了。
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
class M
{
	private:
		int x,y;
	public:
		M(int xx = 0,int yy = 0):x(xx),y(yy){
		}
		void print()
		{
			cout<<x<<" "<<y<<endl;
		}
		friend M operator++(M m);
};
M operator++(M m)
{
	m.x++;m.y++;
	return m;
}
int main()
{
	M m(10,20);
	m.print();
	for (int k=0;k<5;k++)
	{
		++m;
	}
	m.print();
	return 0;
}

  • 这题主要也是考继承的类层次结构中的构造函数的调用顺序,这个代码我实在是不记得了,主要就是跟着代码走按顺序输出就可以了,不难。
  • 还有一题我是真的真的想不起来了,不过既然没有想起来,应该不太坑。
  • 这下到了程序填空题啦。就是求有多少个各个位上数字都不同的三位数,这个还是挺简单的,直接上代码。
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
int main()
{
	int i,j,k,num;
	num=0;//空1 
	for (i=1;i<=9;i++)//i=1 空2 
	{
		for (j=0;j<=9;j++)//貌似j<=9空3  
		{
			if (i==j) continue;//continue 空4 
			for (k=0;k<=9;k++)
			{
				if (k!=i && k!=j) num++;//判断条件空5 
			}
		}
	}
	cout<<num<<endl;
	return 0;
}

  • 程序改错题,标明5个地方问你错哪儿了,我尽量凭着记忆来
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
class M
{
	char ch = 0;//错1 说实话,这边不知道错哪了,只不过C++11之前数据成员不可以在类内赋值好像。 
	char & rise(){	return ++ch;} //错2 好像也没错,但是返回引用就可以通过函数修改成员的值,不太规范。 
	public:
		M(char ch)
		{
			this->ch = ch;
		}
 } //错3  括号后没有;结束符 
int main()
{
	M m("a");//错4 一个是字符 一个是字符串 
	m.rise();//错5 调用了私有函数 
	return 0;
}

  • 编程题1 给一个三行四列的矩阵按列优先随机赋值(1~9的范围),寻找矩阵的鞍点(行最大值,列最小值)
  • 编程题 2 用递归实现对数组元素的二分查找。
  • 编程题3 实现一个selfString类,构造函数从文件中读取一个以空格为分隔符的英文句子。实现一个函数(不一定是成员函数)来找出两个句子的最长公共单词。这个我用了strtok函数。
    编程题总的来说不难,我就不给代码啦。
笔试复习

说说我复试笔试怎么复习的吧,在复试中笔试还是蛮占分的,东南也很公平,所以复试中比较拉分的反而是笔试。嗯,一开始我是看了郑莉的C++程序设计然后把课后习题的编程题都敲了一遍,后来找到学姐说看C++大学教程比较重要,我又去买了这本书,由于这本书实在太厚了,所以我只看了前面的14章外加string字符串处理那章,也看了C风格字符串处理的那部分,好像是在21,22章左右,记不太清了。这个大概是看了两遍,然后把课后习题和自测题的填空部分,简答题部分,程序阅读题部分,还有程序改错部分,以及部分编程题,有的设计类的特别麻烦的我就没写了,但是一些挺有意思的是可以写写的,比如说八皇后,骑士巡游之类的,比较常考的设计多项式类,分数类,还有雇员类我也写了一下。最后是把书上设计的横跨几个章节的大类实现了一下,比如说array类,GradeBook类等等。至于往年真题(2010~2018),我记得考研群里都是有的,考前还是很有必要写一下的。加上今年已经两年没考简答题之类的了,不过全面复习的话最好准备准备,不打无准备的仗嘛。最后我的笔试分数是142,笔试第一,我还是有那么一丢丢的小开心的。

关于复试面试

我最后的面试分数好像还挺低的,115,一般般的分数。当时我被分到了第一组13个面试,排到下午三点多,前面只要有人出来我们在后边的都会围上去问问题。因为面试之前都会填信息表,老师会照着那个问。面试分为英语面和专业面。我们这组一开始是英语自我介绍,然后老师问英语问题,然后就是专业问题。我记得我前面的人问了这些英语问题吧,比如你为什么考东南,你为什么报人工智能,关于数据结构的问题,关于数据库的问题,这个还是蛮可怕的,我没有被问到这些英语问题。我当时进去就是,一开始自我介绍嘛,然后问我什么是人工智能(英文),由于我嘴贱的提到了机器学习,又问我人工智能和机器学习的区别(中文)。后来,好像是因为我是专业第一来着就问我为什么保研。因为我是我们学校ACM队的(学校不太好),问我关于算法都学到了啥,队伍的算法训练课(信息表上填的)上到什么时候。后来就是由于我是网络工程的问我都学了哪些关于网络的课程,唉,这个问题我回答的特别不好(我网络是真不了解),导致老师质疑了我为什么是专业第一,特别尴尬。我就解释说学校考的比较浅显,然后就更尴尬了,反正这边回答的不太好。他们有的人专业问题然后我的面试就结束了。我也终于完整的结束了关于考研的所有考核,欢快的回去等结果了。我觉得东大真的是超级公平了,没有双非歧视,没有跨考歧视,就很公平真的。

希望所有认真付出过的你们都能成功上岸,加油!

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值