整理历年中山大学计算机研究生复试题03年11年笔试+面试.docx
- 文档编号:26026503
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:58
- 大小:63.69KB
整理历年中山大学计算机研究生复试题03年11年笔试+面试.docx
《整理历年中山大学计算机研究生复试题03年11年笔试+面试.docx》由会员分享,可在线阅读,更多相关《整理历年中山大学计算机研究生复试题03年11年笔试+面试.docx(58页珍藏版)》请在冰豆网上搜索。
整理历年中山大学计算机研究生复试题03年11年笔试+面试
成大事者,在孤独中享受寂寞,从寂寞中厮杀黎明
历年中大计算机研究生复试题03年-11年
11年
这次参加复试的有100+,学术录取46人,专硕24人
首先咱们谈谈笔试
英语题型是:
中译英(校长的就职演讲),英译中(关于算法方面的相对中译英难度要低一些,没有什么特别难翻译的句子),作文(给一幅图关于PopulationReferenceBureau)
专业笔试:
离散总共五道题,
第一道关于一阶逻辑求主析取范式、主合取范式、真值表(只要看了书,计算细心点,这道题一般能拿满分)
第二道对循环关系有如下定义:
对于A上的关系R,若对任意
证明:
R是自反和循环关系当且仅当R是等价关系。
(我当时不知道什么是循环关系,悲剧了)
第三道考得是集合的求解,思想与课本上的200能被3、5、7整除解法类似,(文氏图法或都公式法)
第四道考得Dijkstra算法,初试数据结构是重点章节,问题不大
第五道证明对于任意一个具有6个顶点的简单图,要么它包含一个三角形,要么它的补图包含一个三角形(这个题当时很晕,不知如何下手)
C语言:
第一道是关于全局变量和局部变量的,要求写出程序结果,只要好分析,做出来不难
第二道是关于静态变量的,要求写程序结果,只要掌握静态变量只初始一次就可以了
第三道求从串中找子串的,只有三个空
第四道是进行分类,如12a3bc4,要求输出为1234abc
第五道设计一个程序,从in.txt读入数据,对每一行的数字都单独按从大到小的顺序排序,
将结果输出到out.txt。
每一行的数字第一个字符是数字标志,每个数字之间用空格隔开。
这次笔试相对往年离散比往年的难度要大些,普遍考得不好,本以为文件会考哪知,这次考了,所以建议大家在复习还是把每个要求的知识好好看一遍
对于面试
首先老师要我自我介绍,然后用英语问了一个我的优点和缺点
随后,老师开始进行专业知识的考查,有个考官问我选的专业是什么,然后针对我选的专业问我ERP是什么,BPR有哪几种类型(我当时只是从网上了解了一下,哪记得这么多,我吱吱唔唔了半天,那个老师微笑地对我说不知道就不知道,知道就知道)
接着又问了我的学校(其实我们学校不是很好)但老师并没因此而认为你不行,至少我可以证明,中大老师绝不会有学校歧视,他们面试非常地公平。
然后,问了一个关于软件工程有哪几种模型,又问我做项目时用得哪种模型。
软件开发的流程,而后问我需求分析主要是干什么的,当时回答成了概要设计的去了。
接着,又问我哪门学得好点,我说数据结构,我本以为老师会问数据结构中的内容,哪知却问我,学数据结构应该要学哪些课程,我当时有点晕,(比如高等数学、离散数学、线性代数、C语言等等)其实,这是老师在考验的我们的反应能力。
这道回答得不好。
最后,问了一个有关离散的问题,先是问知不知道等价关系,我说完后,老师竟然问我老乡是不是等价关系,我又晕了,我说不是,然后,老师就问我为什么,我就按照定义去说,幸好,有个男老师帮我解围,按照老师的提示顺利答出此题。
另外,我听同组其它同学面试的题目,有些很灵活,比如一根铁丝紧紧围隹地球,只增加一米,问一只猫能通过吗?
还有像哈夫曼树、结构化程序设计等等
希望,我所写的对大家有点帮助,总得来说,复试没有想像的那么恐怖,但也不是那么容易,只要保持平静的心态就行了。
03
2003:
一程序,C语言,有关递归,特烦
二求最长公共子串,程序填空形式(略)
三迷宫,自己写程序
八离散部分
1)R是A上的一个对称和传递的关系,对于任意a属于A,都存在一个b属于A,使得属 于R,证明R是一个等价关系。
2)
=b,则a*b!
=b*a。
试证:
对任一元素a属于 G,有a*a=a。
3)证明一个图G,它顶点的最小顶点度不小于2,证明它存在圈。
4)求(PVQ)<->P主析取范式。
04年中山大学计算机系复试笔试试题
inttestNum(intNumber,intradius)
{
intmaxpower,leftpower,rightpower,leftNum,rightNum;
leftpower=0;
rightpower=radius;
while(Number/rightPower>radius) leftpower*=radius;
while(leftpower>rightpower)
{
leftNum=(Number/leftpower)%radius;
rightNum=Number/radius;
if(leftNum!
=rightNum) return0;
leftpower=leftpower/radius;
rightpower=rightpower*radius;
}
return1;
}
main()
{
intNumber,result1,result2;
printf(“thenumberis”);
for(Number=700;Number<=730;Number++)
{
result1=testNum(Number,10);
result2=testNum(Number,2);
}
if(result1=1&&result2=1) printf(“%d”,Number);
2.程序填空(10分)
此程序主要完成的功能是:
把一个整数W分解成不多于N个整数的和,且这些整数只能取自数组b[],程序如下:
(程序实在想不起来了,只记得程序是用递归完成的,总共有5个空,我认为都不难)。
3.编写一段函数,满足以下要求:
将字符串S1中出现的所有S2都替换成S3,并且不损坏字符串S1。
函数原型为:
charexchange(charS1,charS2,charS3) (15分)
4.请说明信号量的结构和取各种数值时的意义。
(9分)
5.请描述p操作和v操作的执行过程,以及用p,v原语解决死锁问题时有哪些需要注意的问题。
(12分)
6.请描述进程的几种状态,以及各种状态之间的转换关系。
(9分)
7.根据你所熟悉的操作系统,如DOS或UNIX为例,谈谈它是怎样实现层次文件目录结构的。
(10分)
8.证明对于集合A、B、C,如果有A∩B=B∩C,并且A∩B=A*∩C,其中A*为A的补集,则一定有B=C。
(10分)。
9.证明:
一个连通且每个顶点的度数都为偶数的图一定没有割边。
(10分)
10.设代数系统(G,*)为一个半群,且有左单位元e,对于任意一个x均有x’,使得x’*x=e。
证明:
对于任意a、b、c,如果b*a=b*c,则一定有a=c。
(15分)
11.根据已知前提,证明如下结论(10分)
S),◊(Q◊前提:
P┑RVP,Q
S◊结论:
R
05年中山大学计算机系复试笔试试题
-------------------------------------------
C语言程序设计
1.写出以下程序的输出.
#defineMAXN100
inta[MAXN],r[MAXN]
nd(intn)
{inti,k;
k=0;r[0]=n;
do
{if(r[k]==0)
{
printf("%d=%d,a[0],a[1]);
for(i=2;i<=k;i++)printf("+%d",a[i]);
printf("\n");
while(k>0&&a[k]==1)k--;
if(k>0){a[k]--;r[k]++;}
}else{
a[k+1]=a[k] a[k]: r[k]; r[k+1]=r[k]-a[k+1]; k++; } }while(k>0) } main() { intdata=4;a[0]=data; nd(data); } 2.本程序用回溯算法来产生由0或1组成的2m个二进位串,使该串满足一下要求. 视串为首尾相连的环,则由m位二进制数字组成的2^m个子序列,每个可能的子序列都互不 相同.例如,如果m=3,在串11101000首尾相连构成的环中,由3位二进制数字组成的每个可能 的子序列都在环中恰好出现一次,它们依次是111,110,101,010,100,000,001,011,如图所示: 1 0 1 0 1 0 0 1 #defineN1024 #defineM10 intb[N+M-1]; intequal(intk,intj,intm) { inti; for(i=0;i if(b[k+i]____ (1)____)return0; return1; } intexchange(intk,intm,intv) { while(b[k+m-1]==v) { b[k+m-1]=! v; ____ (2)_____ } ____(3)_____=v; returnk; } init(intv) { intk; for(k=0;k } main() {intm,v,k,n,j; printf("Enterm(1 scanf("%d%d,&m,&v); n=0x01< v);k=0; while(__(4)__ for(j=0;j if(equal(k,j,m)) { k=exchange(k,m,v); j=__(5)__; } for(k=0;k } 尾数不 3.自然数中有一类数被称为"自守数".所谓自守数就是自已和自己相乘以后得到的数, 变.例如: 25×25=625.76*76=5776请编写程序: 用户输入m,n(10 得所有自首数并输出,每5个一行. .4=4 4=3+1 4=2+2 4=2+1+1 4=1+1+1+1 2. (1)! =b[j+i] (2)k— (3)b[k+m-1] (4)++k (5)–1 3.(这是SJJ写的程序,仅供参考^_^) longGetHelpNum(longnum) //用来得到帮助测试的数字,例如11返回100,999返回1000 {longresult=10; while(num/10>0) {result*=10;num/=10;}//这里num只是一个副本,所以不会改变原变量 returnresult; } intTest(longnum) //用来测试一个数是否是自首数,是返回1,不是返回0 {if((num*num-num)%GetHelpNum(num)==0)return1; elsereturn0; } voidmain() {cout<<”Enter2numbers: ”; longm,n; cin>>m>>n;//这里没有做数值检查,有兴趣可以加上去 longcount=0; for(longnum=m+1;num {if(Test(num)==1) {count++;cout< if(count%5==0)cout<<”\n”; } } } 注: 操作系统和离散数学答案没什么好说的,自己翻资料吧. 中山大学2006计算机复试笔试题(本人回忆) 一. 离散数学 3道证明题,比较难,具体题目实在想不起来了。 内容大概是关于群、半群、格、范式等。 三. C语言 1、 读程序填结果的题(不难)。 结题目忘记了,应该不会有问题的。 2、 编程。 用递归法吧数n分解成m个数之和。 (m个数要放在数组里)。 3、 编程题。 判断一个句子是否是回文的。 (也就是顺着读和倒着读是否一样)考的是字符串处理的技能 07笔试: ==================== 1.证明等价关系 2.哈夫曼树 .排序算法(自己设计) -1.介绍最喜欢的语言与最流行的语言 -2.论文的组成 -3.什么是群 -4.如何开展自己的研究 -5.操作系统的分类定义 以下是复试题: 英语专业笔试(08年): 1 写作: 读研期间计划。 一般包括有你选的方向,为什么选它,该领域目前发展态势,你怎样开始研究等(45分)。 2英译汉两小段英文(5分)。 专业课笔试,以下是一些年份的真题(回忆版,不很全,但可以据此了解下出题重点和难易度,答案自已找) 2008: 一在1到300间(不含)整数集合中,求以下条件的个数: 1能被3 5和7整除; 2不能被3 5和7整除; 3(记不得了,但基本上会做前两个,后面都会做) 二f: A->Bg: B->P(A)g(b)={x|x属于A,f(x)=记不住了} 若f是满射,证g是单射. 三给定一图,求其邻接矩阵,可达矩阵,由邻接矩阵求通路数。 七给一程序,写出输出结果(很简单略) 八程序填空: 水仙花数程序 九写程序: 一字符串第N个字符开始的所有字符复制到一新字符串 09 离散数学有5道题目: 1.通过文示图来求解 2.画关系图 3.写出生成树 4.图的矩阵(可达矩阵,通路,回路数) 5.有关图的证明. 这五道题比较简单,只要认真以前复试过的题目以及课本上基本的例题都会做.这里我就不去回忆具体的题目啦^^ 编程题目有6道 1.通过一个循环来求1--10之间偶数和与奇数和,并在程序中故意放两个错误,让你改正 2.填写输出结果.有关指针和结构体的知识. 3.填写输出结果,程序是求一个矩阵的对角线这和,比较容易 4.填空.通过一个指针来输出一个数组的下三角 5.改正程序中的错误,题目我忘记了. 6.写一个字符串转换到整数的程序,比如输入字符串"-1234"时,程序要输出整数-1234 10 离散 一、1到300的300个整数,能被3,、5、7整除的个数是多少,不能被3、5、7整除的个数是多少等等 二、证明: f·(g·h)=(f·g)·h 三、一个图,求邻接矩阵,可达矩阵,长度为3的通路数等 四、证明: 一个N阶含有n-1条边的图至少有一个度数为1的顶点 五、给了一个无向图,画出生成树 C程序 一、不记得了,关键在于理解printf(“%*d”,a,b)的含义 二、填空一个对称矩阵的程序 三、填空题: 在一个串中找另一个串出现的次数 四、 写程序: 在链表中查找值为A的结点,在其前面插入值为K的新结点。 如不存在A结点,则插在表尾 五、用递归写程序 英语 一、 英译汉。 关于云计算 二、 汉译英。 接着去年校长的讲话。 按这个趋势,明年可能还考 三、 作文。 写一篇研究计划,包括研究领域,能做出什么样的改进,做出什么样的贡献等等 面试的题目是写在纸条上,从一叠中抽一张你答的: 1.三分钟英语自我介绍 2.英语提问与回答。 3.面向对象的三个特征? 封装,继承,抽象向对象的三个基本特征是: 封装、继承、多态。 封装封装最好理解了。 封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承面向对象编程(OOP)语言的一个主要功能就是“继承”。 继承是指这样一种能力: 它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”。 被继承的类称为“基类”、“父类”或“超类”。 继承的过程,就是从一般到特殊的过程 4.比较unix和windows有什么不同? 5.你学过什么程序设计语言? 当前最热门的语言是什么? 它们各有什么特点? Java面向对象: 其实是现实世界模型的自然延伸。 现实世界中任何实体都可以看作是对象。 对象之间通过消息相互作用。 另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。 如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。 用公式表示,过程式编程语言为: 程序=算法+数据;面向对象编程语言为: 程序=对象+消息。 所有面向对象编程语言都支持三个概念: 封装、多态性和继承,Java也不例外。 现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。 所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。 可以说,对象是支持封装的手段,是封装的基本单位。 Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外。 而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作。 面向对象的特征 (1)对象唯一性。 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。 在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)抽象性。 分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。 一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。 任何类的划分都是主观的,但必须与具体的应用有关。 (3)继承性。 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。 在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。 在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。 在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。 采用继承性,提供了类的规范的等级结构。 通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。 (4)多态性(多形性) 多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。 不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 多态性允许每个对象以适合自身的方式去响应共同的消息。 多态性增强了软件的灵活性和重用 6CMM是什么: 有哪五个层次 CMM是是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。 CMM分为五个等级: 一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。 CMM是指“能力成熟度模型”,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。 它是在美国国防部的指导下,由软件开发团体和软件工程学院(SEI)及CarnegieMellon大学共同开发的。 CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。 CMM是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。 CMM分为五个等级: 一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。 从当今整个软件公司现状来看,最多的成熟度为1级,多数成熟度为2级,少数成熟度为3级,极少数成熟度为4级,成熟度为5级的更是凤毛麟角。 其所依据的想法是: 只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。 CMM它是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了众多国家以及国际软件产业界的认可,成为当今企业从事规模软件生产不可缺少的一项内容 7.你选择研究的方向是什么? 你对自己的专业有什么了解? 你觉得应该怎样开始一项研 究工作? 8.为什么要考研? 9.OSI.体系结构? 是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层 TCP/IP参考模型共分为四层 1.应用层(applicationlayer) 2.传输层(transportlayer) 3.互连层(internetlayer) 4.主机-网络层(host-to-networklayer) 10.csandbs的优缺点? BS和CS的区别以及优缺点 C/S又称Client/Server或客户/服务器模式。 服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。 客户端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。 浏览器通过WebServer同数据库进行数据交互。 C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 历年 中山 大学计算机 研究生 复试 03 11 笔试 面试