计算机.docx
《计算机.docx》由会员分享,可在线阅读,更多相关《计算机.docx(34页珍藏版)》请在冰豆网上搜索。
计算机
计算机科学院与技术专业毕业答辩基础题目
1、什么是E-R模型?
实体联系模型,概念模型的一种
2、什么是数据库恢复功能?
数据库的恢复,意味着要把数据库恢复到最近一次故障前的一致性状态,其基本原则就是数据库重复存储。
3、什么是数据库安全性?
数据库的安全性是指保护数据库,防止不合法的使用,以免数据的泄密、更改或破坏
4、什么是数据库完整性?
数据库的完整性是指数据库的正确性、有效性和相容性,防止错误的数据进入数据库
5、什么是数据库并发控制?
在数据库中由于可以同时有多个操作在进行(即并行运行),为了实现数据的一致性采用了并发控制技术
6、需求分析要完成哪些工作?
需求分析需要1确定对系统的综合要求(包括功能需求、性能需求、可靠性与可用性需求、出错处理需求、逆向需求等)2分析系统的数据要求3导出系统的逻辑模型4修正系统开发计划
7、什么是函数依赖,属性之间的函数依赖反映了什么问题?
函数依赖是形为X->Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y]。
8、什么是范式,2NF与3NF的区别是什么?
衡量关系模式的好坏的标准就是范式。
2NF消除了局部依赖却没有消除传递依赖,3NF比2NF要求更高,消除了传递依赖。
9、事务并发执行过程出现死锁,系统有什么对策?
目前处理死锁问题主要有三种方法,或者说三个阶段:
预防死锁,避免死锁,检测及解除死锁。
预防死锁就是破坏死锁产生的4个必要条件之一即可,避免死锁采用银行家算法,检测及解除死锁采用资源分配图来进行。
10、如何进行查询优化?
尽可能早地执行选择操作,尽可能早地执行投影操作,避免直接做笛卡儿积
11、ISO的七层模型是什么?
TCP/UDP是属于哪一层?
TCP/UDP有何优缺点?
从上到下分别为:
应用层,表示层,会话层,运输层,网络层,数据链路层,物理层。
TCP/UDP属于传输层。
TCP的优点是提供可靠交付的服务,但建立连接需要过多的资源;UDP的优点是运行简单,需要资源少,但不保证可靠交付。
12、试比较线路交换与存储转发交换的特点?
电路交换必须经过:
建立连接,通话,释放连接这三个步骤,电路交换会占用固定带宽,因而限制了在线路上的流量以及连接数量。
分组交换也称包交换,它是将用户传送的数据划分成一定的长度,每个部分叫做一个分组。
在每个分组的前面加上一个分组头,用以指明该分组发往何地址,然后由交换机根据每个分组的地址标志,将他们转发至目的地,这一过程称为分组交换。
分组交换实质上是在“存储—转发”基础上发展起来的。
它兼有电路交换和报文交换的优点。
13、从操作系统提供的服务出发,操作系统可分哪几类?
批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统
14、进程调度有何功能?
有哪些常用的调度算法?
保存处理机的现场信息,按某种算法选取进程,把处理器分配给进程。
调度算法有:
先来先服务,短作业优先,高响应比优先,基于时间片的轮转算法。
15、什么是软件过程模型?
并至少举3个以上的软件过程模型。
通常使用生命周期模型简洁的描述软件过程,生命周期模型规定了把生命周期划分成哪些阶段,及各个阶段的执行顺序,因此,也称为软件过程模型。
常用的有:
瀑布模型,快速原型模型,增量模型,喷泉模型等
16、什么是高速缓冲存储器?
它与主存是什么关系?
高速缓冲存储器又称为cache,是介于cpu与主存之间的高速存储设备,用于解决cpu与主存速度不匹配的问题。
Cache与主存地址间有映射。
17、简述中断处理步骤。
一般中断处理流程分四大部分:
保护现场,中断服务,恢复现场和中断返回
18、关键字static的作用是什么?
在C语言中,关键字static有三个明显的作用:
1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2)在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。
3)在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。
19、计算机图形学的应用领域有哪些,举例说明。
图象处理,影像识别,人工智能,包括数据分析,信息处理
20、什么是对象?
什么是类?
什么是消息?
所谓对象,是一个属性集及其操作(行为)的封装体。
作为计算机模拟真实世界的抽象,一个对象就是一个实际问题论域、一个物理的实体或逻辑的实体。
类(Class)是对象的抽象及描述,是具有共同属性和操作的多个对象的相似特性的统一描述体。
消息(Message)是面向对象系统中实现对象间的通信和请求任务的操作
21、IBM公司的“深蓝”计算机曾经与世界象棋大师进行比赛并获得胜利,“深蓝”体现了计算机哪方面的应用?
语音识别,运算,人机交互
22、客机、火车订票系统属于计算机哪方面的应用?
电子商务
23、目前计算机技术的发展趋势是什么?
概括起来说,计算机发展的趋势主要有三个方向:
一是高,性能越来越高,速度越来越快;二是广,计算机网络化加快,并向各个领域渗透,第三个方向是深,即向信息的智能化发展。
24、简述冯•诺依曼型计算机的体系结构组成。
冯•诺依曼型计算机主要有五部分组成:
运算器,控制器,存储器,输入设备,输出设备。
其中运算器和控制器组成了中央处理器CPU
25、CPU主要由哪两大部件组成?
运算器和控制器
26、计算机为什么要采用二进制形式存储、传输和处理数据?
(1)技术上容易实现。
用双稳态电路表示二进制数字0和1是很容易的事情。
(2)可靠性高。
二进制中只使用0和1两个数字,传输和处理时不易出错
(3)运算规则简单。
与十进制数相比,二进制数的运算规则要简单得多
(4)与逻辑量相吻合
(5)二进制数与十进制数之间的转换相当容易。
27、什么是RAM和ROM?
他们有什么区别?
ROM是只读存储器,断电后能保证数据不会丢失,一般保证比较重要的数据.
RAM是随机存储器,断电后数据会丢失.
28、USB是一种什么总线?
是英文UniversalSerialBUS()的缩写,而其中文简称为“通用串行总线”,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。
29、机器指令的格式一般分为哪两个部分,各部分的作用是什么?
操作码字段和地址码字段。
前者用于指出指令所要完成的操作,后者用于指出源操作数、结果操作数的地址
30、用流程图表示程序的三种基本控制结构是什么?
顺序结构,选择结构,循环结构
31、多媒体它包括哪些媒体?
视频技术:
视频数字化及处理。
图像技术:
图像处理、图像、图形动态生成。
图像压缩技术:
图像压缩、动态视频压缩。
通信技术:
语音、视频、图像的传输。
标准化:
多媒体标准化。
32、中国的顶层域名是什么?
cn
33、B/S结构和C/S结构的主要区别?
1.硬件环境不同:
C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务;B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行
2.对安全要求不同
C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息;B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群.
3.对程序架构不同
C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑;B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是发展的趋势。
4.软件重用不同
C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好;B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
5.系统维护不同
C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统
B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
34、软件系统模块独立性较强的标志是什么?
通过一个接口与其他模块相连
35、常见的测试用例设计方法都有哪些?
请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
1.等价类划分
等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定
2.边界值分析法
边界值分析方法是对等价类划分方法的补充。
测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
3.错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.
错误推测方法的基本思想:
列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.
4.因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.
5.正交表分析法
有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
6.场景分析方法
指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。
36、用于软件测试的工具都有哪些?
HP系列测试工具(Winrunner,QuickTestPro,Loadrunner,AstraLoadTest
QualityCenter)、IBM系列测试工具、Segue系列测试工具及Compuware系列测试工具
37、中断(interrupt,如键盘中断)与异常(exception,如除零异常)有何区别?
中断(内部中断)是由CPU以外的事件引起的中断,如I/O中断、时钟中断、控制台中断等。
异常(外部中断)是来自CPU的内部事件或程序执行中的事件引起的过程。
如由于CPU本身故障、程序故障和请求系统服务的指令引起的中断等。
38、Int和Integer有什么区别?
int是数据类型
integer是类,是int的包装类
39、面向对象的特征有哪些?
抽象,继承,封装,多态性
40、最流行的软件开发工具有哪些?
有什么区别?
VS,eclipse等
41、常用的软件设计工具有哪些?
你觉得哪种最实用?
CAD,CAXA,3DMAX
42、Java与.net的区别?
1技术架构
J2EE支持多平台,单一语言;.Net支持多语言,单一平台。
J2EE是多家公司维护一个产品;.Net是一家公司维护多个产品。
.NETFramework和Java都有一个受控的运行时环境,它不但将源代码转换成中间语言,而且将这些中间语言编译成本地的可执行代码。
两个环境都支持碎片整理、动态类加载和异常处理等。
.NET和Java都倡导和支持基于组件的设计、多态性、继承和接口、反射、泛型等,也提供基础类库来执行I/O、XML处理、带有连接池的数据库接入、文本操作与网页脚本编写。
2标准一致性
.Net被微软独家支持,有更好的一致性和兼容性;J2EE被不同的厂家支持,没有两个厂家的标准是一致的。
3易用性
Microsoft应用良好的应用体验和成为业界标准的操作模式具有最佳的易用性。
4可管理性
微软公司提供了从设计开发、测试部署、运行维护一揽子的产品解决方案;可管理性好;Java则缺少这样一致性的官方产品线。
5开发效率
VisualStudio专门针对.Net量身定制,具有大量的组件和开发框架,开发模式统一。
Java则被多家公司支持,开发模式不一致,开发代码量大。
6运行效率
Java应用运行在虚拟机JVM上。
.Net应用运行在.NetFramework上,而.Net是操作系统的一部分。
43、组建一个团队完成一个软件项目,你需要哪几类技术人员?
项目经理,软件编程人员,美工人员
44、谈谈你对UML的认识。
统一建模语言,是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。
45、你认为学习数据结构对完成一个软件项目有怎样的意义?
1学习完数据结构,使我们明白了数据在系统中存储结构,可以选用可合理的结构来完成想要的操作2数据结构教会了我们如何用最小的代价来达到同样的目的,这也可以指导我们的程序开发,采用时间复杂度最小的算法。
46、面向对象的基本思想是什么?
面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计,对系统进行模块划设计,以提高开高大型项目的效率。
47、软件工程各阶段的主要任务是什么?
可行性研究:
课题是否可行
需求分析:
目标系统要完成什么功能
总体设计:
概括地说,应该怎么实现目标系统
详细设计:
应该怎样具体地实现这个系统
编码和单元测试:
开发系统
测试:
发现错误并改正
48、UML有几类图,分别有什么作用?
接口:
空心圆+直线(唐老鸭类实现了‘讲人话’);
依赖:
虚线+箭头(动物和空气的关系);
关联:
实线+箭头(企鹅需要知道气候才迁移);
聚合:
空心四边形+实线+箭头(雁群和大雁的关系);
合成/组合:
实心四边形+实线+箭头(鸟和翅膀的关系);
泛化/继承:
空心三角形+实线(动物和鸟的继承关系);
实现:
空心三角形+虚线(实现大雁飞翔的接口);
49、软件工程各阶段完成的好坏对软件质量又怎样的影响?
软件工程各阶段良好的完成结果只有一个:
项目按时按量完成。
如果可行性研究完成不好,会导致投资毫无意义。
需求分析完成不好,会导致项目功能欠缺,无法满足用户需求,需要大量返工。
总体设计完成不好,会导致项目逻辑混乱,后续详细设计和实现时会没有章法
详细设计不好会导致项目运行效率低下,且给开发带来不必要的困难
编码进行不好,会导致系统错误过多,无法达到用户要求
测试进行不好,会隐藏过多错误,一旦交付会,其后期维护会花费更多我成本。
50、计算机软件中有哪几类?
各举一例。
1系统软件:
操作系统等
2应用软件:
qq,office等
51、说说面向对象软件开发的过程。
面向对象分析,面向对象设计,面向对象实现,测试。
52、引用作为函数参数时为什么能实现两个实参之间的数据交换?
为什么对应实参不能为引用?
为什么返回值为引用的函数可以作为左值?
一个常识是:
函数无法改变实参的值。
但当使用引用作为函数的参数时,引用升级成实参,即变量的地址作为实参,而变量本身不再是实参,函数虽然无法改变作为实参的“地址”,却可以改变地址中的数值,即改变变量的值。
53、类的成员函数在什么情况下应该定义为私有的?
这样做的目的是什么?
当不允许非类成员函数或非友元类访问时,要把成员函数定义为私有,这样可以保护类自身的信息。
54、什么是this指针?
简述它的作用。
this指针是类的一个自动生成、自动隐藏的私有成员,它存在于类的非静态成员函数中,指向被调用函数所在的对象的地址。
当一个对象被创建时,该对象的this指针就指向对象数据的首地址。
55、什么是抽象类?
含有纯虚函数的类是抽象类吗?
在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象。
凡是包含纯虚函数的类都是抽象类。
抽象类是不完整的,并且它只能用作基类。
它与非抽象类的不同:
1、抽象类不能直接实例化,并且对抽象类使用new运算符是编译时错误。
2、允许(但不要求)抽象类包含抽象成员。
3、抽象类不能被密封。
56、排序是计算机程序设计中的一种重要操作,常见的排序方法有那些?
插入排序,快速排序,选择排序,归并排序,基数排序
57、数据库表格中常用的字段类型有哪些?
Int,char,varchar,time
58、软件测试的方法有哪些?
区别?
黑盒测试和白盒测试。
墨盒测试是对程序接口进行的测试,完全不考虑程序的内部结构和处理过程。
白盒测试按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
59、什么是软件生存周期?
软件生存周期分为哪几个阶段?
软件生命周期由软件定义,软件开发和运行维护三个时期组成。
60、登陆系统时的密码设置是如何实现的?
到数据库里统计与输入的用户名和密码匹配的数据数量,如果数量为1,则可以正确登陆,如果数量为0,则表明用户名或密码错误。
61、常用的数据库软件有哪些?
区别?
SQLserver,mysql,oracle,access
62、结构化程序设计与面向对象程序设计的区别?
首先从基本思想:
面向对象是自底向上设计库类,而面向过程则是自顶向下过程库,逐步求精,分而治之。
从概念上:
面向对象是对象,类,消息,继承等,而结构化设计则是过程,函数,数据等。
63、什么是UML?
UML建模工具的比较?
统一建模语言,是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。
64、常用的编程语言有哪些?
区别?
面向过程的有C,vb,面向对象的有c++,java,c#,delphi等
65、什么是嵌入式系统?
关于嵌入式国际上还没有一个统一的定义,根据IEEE的定义:
嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”。
从中可看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
嵌入式系统是与应用紧密结合的,具有很强专用性。
国内一个普遍被认同的定义是:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
66、什么是系统的功能结构图?
什么是系统数据流程图?
67、什么是中断?
计算机在执行程序过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序,这就是中断。
68、计算机硬件有哪几部分组成?
运算器,控制器,存储器,输入输出设备
69、并行通信与串行通信有哪些不同?
并行通信是把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。
但它比串行通信所用的电缆多,故常用在传输距离较短(几米至几十米)、数据传输率较高的场合。
串行通信是指数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
70、计算机中为什么要采用高速缓冲存储器Cache?
为了解决主存与cpu速度不匹配的问题
71、SRAM与DRAM有什么区别?
DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据.而且是行列地址复用的,许多都有页模式。
SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用的。
SDRAM,同步的DRAM,即数据的读写需要时钟来同步。
72、8086CPU由哪两部分组成?
各有什么功能?
1、总线接口部件BIU,负责控制存储器读写。
2、执行部件EU,EU从指令队列中取出指令并执行。
8086是16位微处理器,有16根数据线、20根地址线,内部寄存器、运算部件以及内部操作都是按16位设计的。
73、I/O端口有哪两种编址方式?
有两种,即独立编址和统一编址。
1.独立编址(专用的I/O端口编址)----存储器和I/O端口在两个独立的地址空间中
2.统一编址(存储器映像编址)----存储器和I/O端口共用统一的地址空间,当一个地址空间分配给I/O端口以后,存储器就不能再占有这一部分的地址空间
74、什么是总线?
多个功能部件共享的信息传输线称为总线。
采用总线结构便于部件和设备的扩充,使用统一的总线标准,不同设备间互连将更容易实现。
75.述存储系统的层次结构?
第一层:
通用寄存器堆
第二层:
指令与数据缓冲栈
第三层:
高速缓冲存储器
第四层:
主储存器(DRAM)
第五层:
联机外部储存器(硬磁盘机)
第六层:
脱机外部储存器(磁带、光盘存储器等)
这就是存储器的层次结构,主要体现在访问速度。
76.述输入、输出接口的功能?
计算机输入输出接口是CPU与外部设备之间交换信息的连接电路,它们通过总线与CPU相连,简称I/O接口。
I/O接口分为总线接口和通信接口两类。
77、你如何检验你的设计的正确性或健壮性?
程序的健壮性和正确性,是信息系统的最重要指标。
欲提高设计的正确性或者健壮性,可采用以下三中方法:
1、AHC模型
2、RPC模型
3、数据一致性检验
下面详细论述。
什么是健壮性
健壮性是指程序可以适应正常和非正常的运行环境,都可以正确地运行;随着业务量的增加,不会出现阻塞和不可用的情况。
影响程序健壮性的因素
1、没有容错控制
2、执行耗时的操作
3、执行复杂的任务
4、数据不一致
5、算法效率低
6、不能应对大流量冲击
什么是正确性
1、不可重入的任务被重入
2、没有前置状态判定
3、没有遵守“受理—处理—关闭”AHC模型
4、没有遵守“申请—前置审批—审批—善后—完成”RPC模型
5、数据库复制造成数据延迟
78、实时多任务操作系统,uC/OS-II任务状态转换图?
在任一给定的时刻,任务的状态应为以下5种状态之一。
睡眠态(DORMANT)——指任务驻留在程序空间,还没有交给µC/OS-II来管理。
把任务交给µC/OS-II,是通过调用下述2个函数之一:
OSTaskCreate()或OSTaskCreateExt()来实现的。
就绪态(READY)——任务一旦建立,这个任务就进入了就绪态,准备运行。
运行态(RUNNING)——调用OSStart()可以启动多任务。
OSStart()函数只能在启动时调用一次,该函数运行用户初始化代码中已经建立的、进入就绪态的优先级最高的任务。
优先级最高的任务就这样进入了运行态。
等待状态(WAITING)——正在运行的任务可以通过调用以下2个函数之一:
OSTimeDly()或OSTimeDlyHMSM(),将自身延迟一段时间。
这个任务于是进入等待状态,一直到函数中定义的延迟时间。
中断服务态(ISR)——正在运行的任务是可以被中断的,除非该任务将中断关闭,或者µC/OS-II将中断关闭。
被中断了的任务于是进入了中断服务态。
79、什么叫C/S,什么叫B/S?
Client/Server客户端/服务器
Browser/Server浏览器/服务器
80、常见的动态页面技术有哪些?
常见的动态网页技术有PHP、ASP.NET和JSP等几种。
81、ASP.NET与JSP各自的优劣有哪些?
JSP,Jav