中兴笔试题目文档格式.docx
《中兴笔试题目文档格式.docx》由会员分享,可在线阅读,更多相关《中兴笔试题目文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

集中式数据库系统的许多概念和技术,如数据独立性、数据共享和减少冗余度、并发控制、完整性、安全性和恢复等在分布式数据库系统中都有了不同的、更加丰富的内容。
(1)数据独立性。
数据独立性是数据库方法追求的主要目标之一。
在集中式数据库中,数据独立性包括两方面:
数据的逻辑独立性和物理独立性。
其意义在于程序和数据的逻辑结构和数据的存储结构无关。
在分布式系统中,数据库独立性除了上面所说之外,还有数据分布独立性亦称分布透明性,即用户不必关心数据的逻辑分片,不必关心数据的物理位置分布的细节,也不必关心重复副本(冗余数据)的一致性问题。
有了分布透明性,用户的应用程序书写起来就如同数据没有分布一样。
在集中式数据库中,数据的独立性是通过系统的三级模式和它们之间的二级映象得到的。
分布式数据库,分布透明性是由于引入新的模式和模式之间的映象得到的。
(2)集中与自治相结合的控制结构。
数据库是供用户共享的,在集中式数据库中,为保证数据的安全性和完整性,对数据库的控制是集中的。
由数据库管理员(DBA)负责监督和维护系统的正常运行。
在分布式数据库中,数据的共享有两个层次:
一是局部共享,即在局部场地上存储局部用户的共享数据。
二是全局共享,即在分布式数据库的各个场地也存储可供网络中其他场地的用户共享的数据,支持全局引用。
因此,相应的控制结构也具有两个层次:
集中和自治。
各局部的DBMS可以独立地管理局部数据库,具有自治的功能。
同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。
(3)适当增加数据冗余度。
在集中式数据库中,尽量减少冗余度是系统目标之一。
其原因是,冗余数据浪费存储空间,而且容易造成个副本之间的不一致性。
减少冗余度的目标是用数据共享来达到的。
而在分布式系统中却希望增加冗余数据,在不同的场地存储同一数据的多个副本。
其原因是提高系统的可靠性和性能,当某一场地出现故障,系统可以对另一场地上的相同副本进行操作,不会造成系统的瘫痪。
系统可以根据距离选择离用户最近的数据副本进行操作,减少通信代价。
但是增加冗余会碰到集中式数据库同样的问题,即不利于更新,增加了系统维护代价,需要在这些方面作出权衡。
(4)全局的一致性、可串行性和可恢复性。
分布式数据库中各局部数据库应满足集中式数据库的一致性、可串行性和可恢复性。
除此以外,还要保证数据库的全局一致性、可串行性和可恢复性。
例如,在前面提到的银行转帐事务中,包括两个节点上的更新操作,当其中一个节点出现故障,应使全局事务回滚,在一个节点撤销已经执行的操作等。
C++部分(50分)
设有“intw[3][4];
”,pw是与数组名w等价的数组指针,则pw的初始化语句为int(*pw)[4]=w;
(3分)
要使引用pr代表变量“char*p”,则pr的初始化语句为char*&
pr=p;
“零值”可以是0,0.0,FALSE或者“空指针”。
例如int变量n与“零值”比较的if语句为:
if(n==0),则BOOLflag与“零值”比较的if语句为if(!
a);
floatx与“零值”比较的if语句为:
constfloatEPSINON=0.00001;
if((x>
=-EPSINON)&
&
(x<
=EPSINON)。
(6分)
设有如下语句:
(C)(3分)
Intx;
*px=0;
则选择以下哪条语句可将x值置为0。
Aint*px;
Bintconst*px=&
x;
Cint*constpx=&
Dconstint*px=&
设voidf1(int*m,long&
n);
inta;
longb;
则以下调用合法的是(B)(3分)
Af1(a,b)
Bf1(&
a,b)
Cf1(a,&
b)
Df1(&
a,&
b)
请写出如下代码的运行结果(6分)6
intmain()
{
inta,b,c,d;
a=0;
b=1;
c=2;
d=3;
printf(“%d”,a+++b+c+++d++);
}
写出下面函数的功能(12分)将数组a中的元素(如果为类类型,调用拷贝赋值算符)逆序放置到数组b中
Template<
classType>
voidWE(Typea[],Typeb[],intn)
for(inti=0;
i<
n;
i++)
b[n-i-1]=a[i];
8:
写一段代码判断一个单向链表中是否有环。
(14分)
给出如下结构
structnode
struct*next;
};
typedefstuctnodeNode;
答:
#include<
stddef.h>
structlisttype
intdata;
structlisttype*next;
typedefstructlisttype*list;
/*Checkthatwhetherthereisloopinthesinglylinkedlistsllornot.*/
intfind_circle(listsll)
listfast=sll;
listslow=sll;
if(NULL==fast)
{
return-1;
}
while(fast&
fast->
next)
fast=fast->
next->
next;
slow=slow->
if(fast==slow)
return1;
return0;
第一部分数据结构和算法
1.假设执行语句S的时间为O
(1),则执行下列程序短的时间为(B)
for(i=1;
=n;
i++)
for(j=i;
j<
j++)
S;
A.O(n)
B.O(n2)
C.O(n*i)
D.O(n+1)
2.二位数组A[10…20,5…10]采用行序为主序方式存储,每个数据元素占4个存储单元,且A[10][5]的存储地址是1000,则A[18][9]的地址是(A)
A.1208
B.1212
C.1368
D.1364
3.设栈最大长度为3,入栈序列为1,2,3,4,5,6,则不可能得出栈序列是(D)
A.1,2,3,4,5,6
B.2,1,3,4,5,6
C.3,4,2,1,5,6
D.4,3,2,1,5,6
4.设有98个已排序列元素,采用二分法查找时,最大比较次数是(D)
A.49
B.15
C.20
D.7
5.Hash表示用于数据存储的一种有效的数据结构,Hash表等查找复杂度依赖于Hash值算法的有效性,在最好的情况下,Hash表的查找复杂度为(A)
A.O
(1)
B.O(logn)
C.O(n)
D.O(nlogn)
第二部分
软件工程
1.软件能力成熟度模型CMM共分为(C)成熟度等级
A.3
B.4
C.5
D.6
2.按照是否了解软件的内部构造,可以将测试分为黑盒测试和白盒测试。
考虑以下算法的PDL语句,如果要对其进行完全路径覆盖的白盒测试,则需要()条路径。
doehilerecordsremain
readrecord;
ifrecordfield1=0
thenprocessrecord;
storeinbuffer;
incrementcounter;
elseifrecordfield2=0
thenresetcounter;
elseprocessrecord;
storeinfile;
endif
enddo
A.4
B.5
C.6
3.按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试。
请问以下那项测试不属于系统测试的内容(B)
A.压力测试
B.接口测试
C.功能测试
D.安全测试
E.性能测试
4.测试用例的设计是测试的重要阶段。
系统测试用例设计应该从什么时候开始(A)
A.需求完成
B.详细设计完成
C.编码完成
D.系统集成完毕,提交系统测试
5.在UML方法中,使用多种类型的图形来帮助进行设计,请问一下那些图形不是UML的图形类型(B)
A.类图
B.实体关系图
C.序列图
D.活动图
第三部分
Java语言及其他
1.下面哪个是short型的取值范围:
(C)
A.-27---27-1
B.0---216-1
C.-215---215-1
D.-231---231-1
2.下面哪项是不合法的标识符:
A.$persons
B.TwoUsers
C.*point
D._endline
3.设floatx=1,y=2,z=3,则表达式y+=z--/++x的值是(A)
A.3.5
B.3
C.4
D.5
4.下列哪些关键字即能够被用于局部变量的修饰,也可以用做类变量的修饰()
A.public
B.transient
C.static
D.finally
5.以下的语句构造了几个JAVA对象?
(B)
StringS=newString(“aaa”);
A.1
B.2
C.3
6.下面的哪些叙述为真(C)
A.equals()方法判定引用值是否指向同一对象
B.==操作符判定两个不同的对象的内容和类型是否一致
C.equal()方法只有在两个对象的内容一致时返回ture
D.类File重写方法equals()在两个不同的对象的内容和类型一致时返回ture
7.如果一个对象仅仅声明实现了cloneable接口,但是不声明clone方法,外部能够调用其clone方法吗?
(A)
A.能
B.不能
C.不确定
8.考虑在C/S结构下,服务器接受并处理请求,那么关于服务器处理请求的模式,哪些描述是错误的()
A.单线程模式下,服务器使用一个线程顺序的处理所有的请求,可能导致阻塞
B.服务器可以为每一个请求创建一个线程来处理该请求,这样做比单线程模式更加稳定
C.线程池模式下,当线程使用达到最大数量限制之后,线程池中没用可用线程的时候,服务器将阻塞或者拒绝某个请求的处理
9.使用Swing做界面的时候,如果把一个JButton放在一个JFrame中,在JFrame改变时只影响JButton的高度而宽度不受影响,应该使用哪个布局管理器?
(D)
A.FlowLayout
B.CardLayout
C.NorthandSouthofBorderLayout
D.EastandWestofBorderLayout
E.GridLayout
10.以下的那个状态是SessionBean所具有,而StatelessBean不具有的(D)
A.池态
B.就绪态
C.不存在态
D.钝化态
11.以下关于数据库范式的描述,哪些是错误的(B)
A.如果把多个数据项用一个大的String表示为一个字段,则不满足第一范式
B.满足数据库范式使得数据库的效率更高
C.如果满足更高的范式,则必须首先满足低级别的范式
D.数据库第二范式要求把表中与所有键没有直接关系的数据全部拆分到其他表中
12.考虑一下需求:
包括学生、课程和教师的信息。
其中学生的信息包括学生姓名、年龄地址等;
课程信息包括课程号、课程名、课程学分等;
教师信息包括教师的姓名、教师的地址等。
一个学生可以选修多门课,而每门课也能有多个学生选修;
一位教师可以教多门课,每门课也可以由多个教师讲授。
请问如果使用关系数据库,并且达到第二范式的要求,需要设计(C)张表
13.为了加快数据库查找的速度,需要对数据表添加索引,请问以下关于索引的描述,哪些是错误的(D)
A.聚类索引中,表中行的物理次序与索引键值的逻辑顺序相同
B.使用索引会使得数据更新的效率降低
C.在大多数数据库系统中,每张表只能够有一个聚类索引
D.考虑这个SQL语句:
SelectS.name,S.agefromStudentSwhereS.address=”成都”,如果我们对表Student建一个复合索引(age,address),可以改善上述查询的效率。
第四部分
问答题
1.简述一个Linux驱动程序的主要流程与功能。
备驱动程序可分为2大类:
硬件设备驱动程序和软件设备驱动程序。
硬件设备驱动程序和物理硬件设备相连接,如UART设备或IDE设备,而软件设备驱动程序则作为低级数据结构间的接口,或硬件设备驱动程序和高级数据结构间的接口。
系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。
设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。
设备驱动程序是内核的一部分,它完成以下的功能:
1对设备初始化和释放。
2把数据从内核传送到硬件和从硬件读取数据。
3读取应用程序传送给设备文件的数据和回送应用程序请求的数据。
4检测和处理设备出现的错误。
2.请列举一个软件中时间换空间或者空间换时间的例子。
数组成倍增长(空间换时间)。
3.简述进程与线程的区别。
多线程共存于应用程序中是现代操作系统中的基本特征和重要标志。
用过UNIX操作系统的读者知道进程,在UNIX操作系统中,每个应用程序的执行都在操作系统内核中登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配,但进程和线程有什么区别呢?
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。
进程和线程的区别在于:
线程的划分尺度小于进程,使得多线程程序的并发性搞。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。
每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。
但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。
但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。
这就是进程和线程的重要区别。
进程(Process)是最初定义在Unix等多用户、多任务操作系统环境下用于表示应用程序在内存环境中基本执行单元的概念。
以Unix操作系统为例,进程是Unix操作系统环境中的基本成分、是系统资源分配的基本单位。
Unix操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统对应用程序进程的控制来实现的。
C、C++、Java等语言编写的源程序经相应的编译器编译成可执行文件后,提交给计算机处理器运行。
这时,处在可执行状态中的应用程序称为进程。
从用户角度来看,进程是应用程序的一个执行过程。
从操作系统核心角度来看,进程代表的是操作系统分配的内存、CPU时间片等资源的基本单位,是为正在运行的程序提供的运行环境。
进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由操作系统维护的系统资源管理实体。
多任务环境下应用程序进程的主要特点包括:
●进程在执行过程中有内存单元的初始入口点,并且进程存活过程中始终拥有独立的内存地址空间;
●进程的生存期状态包括创建、就绪、运行、阻塞和死亡等类型;
●从应用程序进程在执行过程中向CPU发出的运行指令形式不同,可以将进程的状态分为用户态和核心态。
处于用户态下的进程执行的是应用程序指令、处于核心态下的应用程序进程执行的是操作系统指令。
在Unix操作系统启动过程中,系统自动创建swapper、init等系统进程,用于管理内存资源以及对用户进程进行调度等。
在Unix环境下无论是由操作系统创建的进程还要由应用程序执行创建的进程,均拥有唯一的进程标识(PID)。
4.static有什么用途?
(请至少说明两种)
static关键字是C,C++中都存在的关键字,它主要有三种使用方式,其中前两种只指在C语言中使用,第三种在C++中使用(C,C++中具体细微操作不尽相同,本文以C++为准).
(1)局部静态变量
(2)外部静态变量/函数
(3)静态数据成员/成员函数
5.头文件中的ifndef/define/endif做什么用?
条件编译
6.请问一下程序将输出什么结果?
乱码
char*RetMenory(void)
charp[]=“hellowworld”;
returnp;
//具有局部生存期,待退出函数后,内存被回收了
voidTest(void)
char*str=NULL;
str=RetMemory();
printf(str);
7.引用与指针有什么区别?
8.描述实时系统的基本特性
一般的说,实时系统是能及时响应外部发生的随机事件,并以足够快的速度完成对事件处理的计算机应用系统。
在实时系统中,系统的正确性不仅取决于系统计算结果的正确性.而且取决于正确结果产生的时间(在分时系统中,只要满足前者即可)。
因此7S统设计者关心系统行为的确定性《确定性也是实时系统的—个里要特征。
实时系统的特点
(1)对外部事件的响应必须在一定时间内完成》同样.5求的各种输出也必须在一定时间内完成,事实
上bQ据的获取、处理U反l处理数据的输出,都需要在特定的时间内完成。
这一时间的总和叫做系统的反应时间。
保证在规定的时间限度之内做出响应是实时系统设计的关键。
(2)必须满足——定的峰值负荷要求。
一个实时系统的负荷可能是不均匀的,有时负载重,有时负载轻.至有可能大部分时间没有校充分利用。
但整个系统必须满足‘定的峰值负荷要求,即在负载重,甚至超负荷的情况下,某些关键任务一定要得到满足,
(3)实时系统的可靠性至关重要。
一般的实时系统都是工作在条件恶劣的不适合人参与的环境小。
温度变化大、展动强烈和电磁干扰强的特点,要求实时系统不但需要采用工业级元器件。
而且还耍在系统级的设计L采取容措设计
9.全局变量和局部变量在内存中是否有区别?
如果有,是什么区别?
10.什么是平衡二叉树?
11.堆栈溢出一般是由什么原因导致的?
递归调用深度过深(栈)
12.什么函数不能声明为虚函数?
一个类中将所有的成员函数都尽可能地设置为虚函数总是有益的。
设置虚函数须注意:
1:
只有类的成员函数才能说明为虚函数;
2:
静态成员函数不能是虚函数;
3:
内联函数不能为虚函数;
4:
构造函数不能是虚函数;
5:
析构函数可以是虚函数,而且通常声明为虚函数。
13.冒泡排序算法的时间复杂度是什么?
n*n
14.#include<
filename.h>
和#include“filename.h”有什么区别?
用#include<
格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。
用#include“filename.h”格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。
15.写出floatx与“零值”比较的if语句。
constfloatEPSINON=0.00001;
=EPSINON)
16.操作系统中进程调度策略有哪几种?
先来先服务短作业优先高优先权优先时间片轮转
17.Internet采用哪种网络协议?
该协议的主要层次结构?
TCP/IP
18.Internet物理地址和IP地址转换采用什么协议?
ARPRARP
19.IP地址的编码分为哪俩部分?
网络号主机号
中兴笔试题目2007
依稀记得几道题,公共题50分,C++和JAVA二选一50分。
其实一直就在用C,一看没有C心里还霍霍的,我当然选的C++。
我做的C卷:
公共题:
1、数据库中XXX和XXX操作可