中兴笔试题
公共部分(50分)
1:作业调度程序从处于(B)状态的队列中选择适当的作业的作业投⼊运⾏。(3分)
A 运⾏
B 提交
C 完成 D后备
java重写和重载的区别 2:SQL语⾔中,删除⼀个表的命令是(B)(3分)
A CLEAR TABLE
B DROP TABLE
C DELETE TABLE
D REMOV
E TABLE
3:ATM采⽤的线路复⽤⽅式为(C)(3分)
A 频分多路复⽤
B 同步时分多路复⽤
C 异步时分多路复⽤
D 独占信道
4:数据库中只存放视图的(C)(3分)
A操作
B 对应的数据
C 定义
D 限制
5:什么是虚拟设备?为什么在操作系统中引⼊虚拟设备?(10分)
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并⾏操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的⼀种技术,通常称为“假脱机技术”。
6:TCP为何采⽤三次握⼿来建⽴连接,若采⽤⼆次握⼿可以吗,请说明原因?(16分)
三次握⼿是为了防⽌已失效的连接请求再次传送到服务器端。
⼆次握⼿不可⾏,因为:如果由于⽹络不稳定,虽然客户端以前发送的连接请求以到达服务⽅,但服务⽅的同意连接的应答未能到达客户端。则客户⽅要重新发送连接请求,若采⽤⼆次握⼿,服务⽅收到重传的请求连接后,会以为是新的请求,就会发送同意连接报⽂,并新开进程提供服务,这样会造成服务⽅资源的⽆谓浪费。
7:什么是分布式数据库?(12分)
分布式数据库系统是在集中式数据库系统成熟技术的基础上发展起来的,但不是简单地把集中式数据库分散地实现,它具有⾃⼰的性质和特征。集中式数据库系统的许多概念和技术,如数据独⽴性、数据共享和减少冗余度、并发控制、完整性、安全性和恢复等在分布式数据库系统中都有了不同的、更加丰富的内容。
(1)数据独⽴性。数据独⽴性是数据库⽅法追求的主要⽬标之⼀。在集中式数据库中,数据独⽴性包括两⽅⾯:数据的逻辑独⽴性和物理独⽴性。其意义在于程序和数据的逻辑结构和数据的存储结构⽆关。在分布式系统中,数据库独⽴性除了上⾯所说之外,还有数据分布独⽴性亦称分布透明性,即⽤户不必关⼼数据的逻辑分⽚,不必关⼼数据的物理位置分布的细节,也不必关⼼重复副本(冗余数据)的⼀致性问题。有了分布透明性,⽤户的应⽤程序书写起来就如同数据没有分布⼀样。在集中式数据库中,数据的独⽴性是通过系统的三级模式和它们之间的⼆级映象得到的。分布式数据库,分布透明性是由于引⼊新的模式和模式之间的映象得到的。
(2)集中与⾃治相结合的控制结构。数据库是供⽤户共享的,在集中式数据库中,为保证数据的安全性和完整性,对数据库的控制是集中的。由数据库管理员(DBA)负责监督和维护系统的正常运⾏。
在分布式数据库中,数据的共享有两个层次:⼀是局部共享,即在局部场地上存储局部⽤户的共享数据。⼆是全局共享,即在分布式数据库的各个场地也存储可供⽹络中其他场地的⽤户共享的数据,⽀持全局引⽤。因此,相应的控制结构也具有两个层次:集中和⾃治。各局部的DBMS可以独⽴地管理局部数据库,具有⾃治的功能。同时,系统⼜设有集中控制机制,协调各局部DBMS的⼯作,执⾏全局应⽤。
(3)适当增加数据冗余度。在集中式数据库中,尽量减少冗余度是系统⽬标之⼀。其原因是,冗余数
据浪费存储空间,⽽且容易造成个副本之间的不⼀致性。减少冗余度的⽬标是⽤数据共享来达到的。⽽在分布式系统中却希望增加冗余数据,在不同的场地存储同⼀数据的多个副本。其原因是提⾼系统的可靠性和性能,当某⼀场地出现故障,系统可以对另⼀场地上的相同副本进⾏操作,不会造成系统的瘫痪。系统可以根据距离选择离⽤户最近的数据副本进⾏操作,减少通信代价。但是增加冗余会碰到集中式数据库同样的问题,即不利于更新,增加了系统维护代价,需要在这些⽅⾯作出权衡。
(4)全局的⼀致性、可串⾏性和可恢复性。分布式数据库中各局部数据库应满⾜集中式数据库的⼀致性、可串⾏性和可恢复性。除此以外,还要保证数据库的全局⼀致性、可串⾏性和可恢复性。例如,在前⾯提到的银⾏转帐事务中,包括两个节点上的更新操作,当其中⼀个节点出现故障,应使全局事务回滚,在⼀个节点撤销已经执⾏的操作等。
C++部分(50分)
1:设有“int w[3][4];”,pw是与数组名w等价的数组指针,则pw的初始化语句为int (*pw)[4] = w;(3分)
2:要使引⽤pr代表变量“char *p”,则pr的初始化语句为char * &pr = p;(3分)
3:“零值”可以是0,0.0,FALSE或者“空指针”。例如int变量n与“零值”⽐较的if语句为:if(n==0),则BOOL
3:“零值”可以是0,0.0,FALSE或者“空指针”。例如int变量n与“零值”⽐较的if语句为:if(n==0),则BOOL flag与“零值”⽐较的if语句为 if(!a) ;float x与“零值”⽐较的if语句为:const float EPSINON = 0.00001; if ((x >= -EPSINON) && (x <= EPSINON)。(6分)
4:设有如下语句:(3分)
Int x;
(C)
*px=0;
则选择以下哪条语句可将x值置为0。
A int *px;
B int const *px=&x;
C int *const px=&x;
D const int *px=&x;
5:设void f1(int *m,long &n);int a;long b;则以下调⽤合法的是(B)(3分)
A f1(a,b)
B f1(&a,b)
C f1(a,&b)
D f1(&a,&b)
6:请写出如下代码的运⾏结果(6分)6
Int main()
{int a,b,c,d;
a=0;
b=1;
c=2;
d=3;
printf(“%d”,a+++b+c+++d++);
}
7:写出下⾯函数的功能(12分)将数组a中的元素(如果为类类型,调⽤拷贝赋值算符)逆序放置到数组b中 Template<class Type>
void WE(Type a[],Type b[],int n){
for(int i=0;i<n;i++) b[n-i-1]=a[i];}
8写⼀段代码判断⼀个单向链表中是否有环。(14分)
给出如下结构
Struct node
{steuct *next;
};
Typedef stuct node Node;
答:
#include <stddef.h>
struct listtype
{
int data;
struct listtype * next;
};
typedef struct listtype * list;
/* Check that whether there is loop in the singly linked list sll or not. */
int find_circle(list sll)
{
list fast = sll;
list slow = sll;
if (NULL == fast)
{
return -1;
}
while (fast && fast->next)
{
fast = fast->next->next;
slow = slow->next;
if (fast == slow)
{
return 1;
}
}
}
return 0;
}
JAVA部分(50分)
1:判断下列对的是哪个(B)(3分)
A short s1=1;s1=s1+1
B short s1=1;s1+=1
C short s1=1;s1=s1-1
D short s1=1;s1=s1*1
2:main⽅法是Java Application程序执⾏的⼊⼝点,关于main⽅法的⽅法头以下哪项是合法的(C)(3分)
A public static void main ()
B public static void main (String args)
C public static int main (String []arg)
D public void main (String args)
3:设float x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)(3分)
A 3.5
B 3
C 4
D 5
4:und(11.5)=12
und(-11.5)=-11(4分)
5:假设x=10,y=20,z=30;计算下列表达式的值(6分)
A x<10||x>10_________false
B !(x<=20)___________false
C z-y==x&&Math.abs(y-z)!=x_____________false
6:⽅法重建Overload和⽅法的重写Overriding的区别。Overload的⽅法是否可以改变返回值的类型?(10分)
⽅法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是⽗类与⼦类之间多态性的⼀种表现,重载Overloading是⼀个类中多态性的⼀种表现。如果在⼦类中定义某⽅法与其
⽗类有相同的名称和参数,我们说该⽅法被重写(Overriding)。⼦类的对象使⽤这个⽅法时,将调⽤⼦类中的定义,对它⽽⾔,⽗类中的定义如同被“屏蔽”了。如果在⼀个类中定义了多个同名的⽅法,它们或有不同的参数个数或有不同的参数类型,则称为⽅法的重载(Overloading)。 Overloaded的⽅法是可以改变返回值的类型。
7:谈谈HashMap和Hashtable的区别(6分)
答:1.Hashtable是Dictionary的⼦类,HashMap是Map接⼝的⼀个实现类;
2.Hashtable中的⽅法是同步的,⽽HashMap中的⽅法在缺省情况下是⾮同步的。即是说,在多线程应⽤程序中,不⽤专门的操作就安全地可以使⽤Hashtable了;⽽对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的⼀个静态⽅法得到解决:
Map Collections.synchronizedMap(Map m)
这个⽅法返回⼀个同步的Map,这个Map封装了底层的HashMap的所有⽅法,使得底层的HashMap即使是在多线程的环境中也是安全的。
3. 在HashMap中,null可以作为键,这样的键只有⼀个;可以有⼀个或多个键所对应的值为null。当get()⽅法返回null值时,即可以表⽰ HashMap中没有该键,也可以表⽰该键所对应的值为null。Hash
Map中是否存在某个键,⽽应该⽤containsKey()⽅法来判断。
4.其底层的实现机制不同,hashmap的访问速度要快于hashtable,因为它不需要进⾏同步检验,建议在⾮多线程环境中使⽤hashmap代替hashtable .
8:构造⼀个类来描述屏幕上的⼀个点,该类的构成包括点x和y两个坐标,以及⼀些对点进⾏的操作,包括:取得点的坐标值,对点的坐标进⾏赋值,编写应⽤程序⽣成该类的对象并对其进⾏操作。(15分)
class Point{
private int x;
private int y;
public int getX() {
return x;
}
public int getY() {
return y;
}
public void setX(int x) {
this.x = x;
}
public void setY(int y) {
public void setY(int y) {
this.y = y;
}
}
数据结构和算法
1. 假设执⾏语句S的时间为O(1),则执⾏下列程序短的时间为(B)
for(i=1;i<=n;i++)
for(j=i;j<=n;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语句,如果要对其进⾏完全路径覆盖的⽩盒测试,则需要()条路径。
do ehile records remain
read record;
if record field 1 = 0
then process record;
store in buffer;
increment counter;
elseif record field 2 = 0
then reset counter;
else process record;
store in file;
endif
endif
enddo
A. 4
A. 4
B. 5
C. 6
D. 7
3. 按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试。请问以下那项测试不属于系统测试的内容()
A. 压⼒测试
B. 接⼝测试
C. 功能测试
D. 安全测试
E. 性能测试
4. 测试⽤例的设计是测试的重要阶段。系统测试⽤例设计应该从什么时候开始()
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. 下⾯哪项是不合法的标识符:(C)
A. $persons
B. TwoUsers
C. *point
D. _endline
3. 设 float x = 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)
String S = new String(“aaa”);
A. 1
B. 2
C. 3
6. A. equals()⽅法判定引⽤值是否指向同⼀对象
B. = = 操作符判定两个不同的对象的内容和类型是否⼀致
C. equal() ⽅法只有在两个对象的内容⼀致时返回ture
D. 类File重写⽅法equals()在两个不同的对象的内容和类型⼀致时返回ture
7. 如果⼀个对象仅仅声明实现了cloneable接⼝,但是不声明clone⽅法,外部能够调⽤其clone⽅法吗?(A)
A. 能
B. 不能
C. 不确定
8. 考虑在C/S结构下,服务器接受并处理请求,那么关于服务器处理请求的模式,哪些描述是错误的()
A. 单线程模式下,服务器使⽤⼀个线程顺序的处理所有的请求,可能导致阻塞
B. 服务器可以为每⼀个请求创建⼀个线程来处理该请求,这样做⽐单线程模式更加稳定
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论