亚信笔试题B卷以及答案修订稿
亚信笔试题B卷以及答
案
WEIHUA system office room 【WEIHUA 16H-WEIHUA WEIHUA8Q8-
亚信联创科技校园招聘
B卷
考试时间 60_分钟 _ 考试方式(闭)卷
第一部分——计算机基础
一、选择题(每题2分,总分40分)
1.CPU状态分为目态和管态两种,什么是从目态转换到管态的唯一途径 ( D )
A.运行进程修改程序状态字
B.进程调度程序
C.中断屏蔽
D.中断
2.引入多道程序设计的目的是( C )
A.增强系统的用户友好性
B.提高系统实用性
C.充分利用CPU
D. 扩充内存容量
3.Windows系统是一个(B )操作系统。
A、单用户单系统
B、单用户多任务
C、多用户单任务
D、多用户多任务
4.在半导体存储器中,动态随机存储器DRAM的特点是(D )。
A、按位结构方式存储
B、按字结构方式储存
C、信息在储存介质中移动
D、每隔一定时间进行一次刷新
5.单地址指令的格式是由( B)构成。
A、操作码和操作数地址
B、操作码和原操作数地址
C、操作码和目的操作数地址
D、操作码和下一条指令地址
6.八进制数76转换为二进制数为(C )
A、110111
B、111101
C、111110
D、111111
7.80486型号的微处理器能同时处理的二进制位数是(C )位。
A、8
B、16
C、32
D、64
8.下面关于串的的叙述中,哪一个是不正确的(B )
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
9.若串S1=‘ABCDEFG’, S2=‘9898’ ,S3=‘###’,S4=‘012345’,执行
concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,‘8’),length(S2)))其结果为()A.ABC###G0123
B.ABCD###2345
C.ABC###G1234
D.ABCD###1234
10.设有两个串p 和q,其中q 是p 的子串,求q 在p 中首次出现的位置的算法称为(C )
A.求子串 B.联接 C.匹配 D.求串长
11. 下列字符中,ASCII码值最大的是 ( D )。
A.空格 B.M C.8 D.m
12.下列叙述中,正确的是 ( A )。
A.内存中存放的是当前正在执行的应用程序和所需的数据
B.内存中存放的是当前暂时不用的程序和数据
C.外存中存放的是当前正在执行的程序和所需的数据
D.内存中只能存放指令
13.能直接与CPU交换信息的存储器的是 ( C )。
A.硬盘存储器 B.CD-ROM
C.内存储器 D.软盘存储器
14.一个汉字的国际码需用 ( B )。
A.1个字节 B.2个字节 C.3个字节 D.4个字节
15.执行下列二进制算术加法运算:01010100+,其运算结果是 ( A )。
A. B.
C.00010000 D.
16.二进制数110101转换为八进制数是 ( B )。
A.71 B.65 C.56 D.51
17.操作系统中采用缓冲技术的目的是为了增强系统 ( D ) 的能力。
A.串行能力 B.控制操作 C.重执操作 D.并行操作
18.我们把在一段时间内,只允许一个进程访问的资源称为临界资源,因此我们可以得出下列结论,正确的
是 ( B )。
A.对临界资源是不能实现资源共享的
B.只要能使程序并发执行,这些并发执行的程序便可对临界资源实现共享
C.为临界资源配上相应的设备控制块后,便能被共享
D.对临界资源,应采取互斥访问方式,来实现共享
19.算法分析的两个主要方面是 ( A )。
A.空间复杂度和时间复杂度 B.正确性和简单性
C.可读性和文档性 D.数据复杂性和程序复杂性
20.线性表采用链式存储时,结点的存储地址 ( C )。
A. 必须是连续的
B. 必须是不连续的
C. 连续与否均可
D. 和结点的存储地址相连续
第二部分C/C++语言基础
一、选择题(含单选题和多选题,每题2分,总分40分)
1、A为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为
A)public B)protected C)private D)static
2、C类的析构函数是在什么时候调用的
A)类创建时 B)创建对象时 C)删除对象时 D)不自动调用
3、B在位运算中,操作数每右移一位,其结果相当于
A)操作数乘以2
B)操作数除以2
C)操作数乘以4
D)操作数除以4
4、A下列语句中不是死循环的是
A)int i=10;
B)for( int i=1;i<10;i++)
while(1) {
} i--;
i--;
}
if(i= =1)break;
}
C)int i=0;
D)int i=1;
do{ for(;;)i=i+1;
i++;
}while(i>=0):
5、B下列描述正确的是
A)表示m>n为true或m B)switch语句结构中必须有default语句 C)if语句结构中必须有else语句 D)如果至少有一个操作数为true,则包含“‖”运算符的表达式为true 6、B在关联容器中,下列哪个描述正确 A)值按排序后的次序存储 B)键按排序后的次序存储 C)按照字母大小或数值大小的次序排序 D)必须用排序函数sort()重新排列内容次序 7、D以下一段程序,每个人都有不同的书写习惯,但从工程和编程规范的角度综合考量,下面哪个写法相对比较恰当: A) if(var<3) var=var+1; B)if (value < 3) value++; C) )if (user < 3) ++ user; D) if (value < 3) {++ value}; 8、D执行语句序列 int n; cin>>n; switch(n){ case 1: case 2: cout<<'X'; case 3: case 4: cout<<'Y'; break; default:cout<<'Z'; } 时,不可能出现的情况是: A) 显示:X B) 显示:Y C) 显示:Z D) 显示:XY 9、D有如下两行定义,此写法产生于某一项目组,从实践的角度出发,并不能评价好或不好,但从中可以得到启示,我们需要更注意编码规范,以下哪种说法相较不太可取: char EndDate[8+1]; _str()); return NORMAL; } A) m_infoPoint获得了infoPoint的地址 B) m_infoPoint获得了infoPoint的地址的地址 C) m_infoPoint获得了infoPoint的值 D) m_infoPoint获得了infoPoint的值的值 18、下面为不正确的字符串赋值或赋值方式是 A)char *str; str = ”string”; B)char str[7] = {’s’,’t’,’r’,’i’,’n’,’g’}; C)char str1[10]; str1=”string”; D)char str1[] = ”string”,str2[] = ”12345678”; strcpy(str2,str1); 19、下面函数的功能是 int fun(char *x) { char *y=x; while (*y++); return(y-x-1); } A)求字符串的长度 B)比较两个字符串的大小 C)将字符串x复制到字符串y D)将字符串x连接到字符串y后面 20、现有某多线程程序如下: #include #include <> using namespace std; pthread_t ntid; static long lData = 0; static bool bFlag = false; static void *thr_fn(void *arg) { while(1) { sleep(1); if(bFlag){ cout<<"current data is:"< bFlag = false; } return((void *)0); } int main(void) { int err; err = pthread_create(&ntid,NULL,thr_fn,NULL); if(err != 0) printf("error"); while(1){ lData = random(); bFlag = true; sleep(1); } pthread_join(ntid,0); exit(0); } 主要功能是在主线程中生成随机数,在工作线程中读出相应的数据,并显示在屏幕上,,以下哪个建议无助于改良代码: A) C/C++用法混乱,宜统一风格 B) sleep时间太短,应改成sleep(1000) C) bFlag读写处应加锁保护 D) sleep不精确,应改为生产/消费方 第二部分 JAVA语言基础 一、选择题(含单选题和多选题,每题2分,总分40分) 1、C设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是 A) 定义了一个名为a的一维数组 B) a数组有3个元素 C) a数组的下标为1~3 D)数组中的每个元素是整型 2、B在计算机中,数值数据一般采用()形式存储 A.原码 B.补码 C.反码 D.真值 3、A为了区分重载多态中同名的不同方法,要求 A) 采用不同的形式参数列表 B) 返回值类型不同 C) 调用时用类名或对象名做前缀 D) 参数名不同 4、CJava程序经常用到“递归”,“递归”的基本思想是 A.让别人反复调用自己 B.自己反复调用被人 C.自己反复调用自己 D.以上都不对 5、C下列选项中,用于在定义子类时声明父类名的关键字是 A)interface B) package C) extends D) class 6、C在Java中,一个类可同时定义许多同名方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不同。这种面向对象程序的特征称为A.隐藏 B.覆盖 C.重载 D.Java不支持该特性 C7、设 a, b, c, d 均为 int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的 是 A) a!=b & c%d < a B) a++ = =a+b+c+d C) ++a*b--+d D) a+b>=c+d 8、关于以下程序段,正确的说法是 1. String s1=”a”+”b”; 2. String s2=new String(s1); 3. if(s1==s2) 4. is succeeded”); 5. if(s2)) 6. is succeeded”); A.行4和行6都将执行 B.行4执行,行6不执行 C.行6执行,行4不执行 D.行4和行6都不执行 9、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=* % 4; D) a = a + 7 = c + b 10、执行语句 int i=1; j=++i;后,i与j的值分别是 A.1与1 B.2与1 C.1与2 D.2与2 11、Given: 1. public class Delta { 2. static boolean foo(char c) { 3. return true; 5. } 6. public static void main( String[] argv ) { 7. int i =0; 8. for ( foo(‘A’); foo(‘B’)&&(i<2); foo(‘C’)){ 9. i++ ; 10. foo(‘D’); 12. } 13. } 14. } What is the result? A. ABDCBDCB B. ABCDABCD C. Compilation fails. D. An exception is thrown at runtime. 12、B哪种说法阐明Java内存回收机制请选出正确的答案。A.程序员必须手动释放内存对象 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定时间释放内存对象 13、Given: 1. public class Test { 2. public int aMethod() { 3. static int i = 0; 4. i++; 5. return i; 6. } 7. public static void main (String args[]) { 8. Test test = new Test(); 9. (); 10. int j = (); 11. } 13. } What is the result? A. 0 B. 1 C. 2 D. Compilation fails. 14、有如下程序段 int total=0; for(int i=0;i<4;i++){ if(i==1)continue; if(i==2)break; total +=i; } 则执行完该程序段后total的值为 A.0 B.1 C.3 D.6 15、Which statement is true? A. catch(X x) can catch subclasses of X. B. The Error class is a RuntimeException. C. Any statement that can throw an Error must be enclosed in a try block. D. Any statement that can throw an Exception must be enclosed in a try block. 16、运行下列程序,会产生的结果的是 class X extends Thread implements Runnable{ 2. public void run(){ 3. is run”); 4. } 5. public static void main(String args[]){ 6. Thread t=new Thread(new X()); 7. (); } } A.第一行会产生编译错误 B.第六行会产生编译错误 C.第六行会产生运行错误 D.程序会运行和启动 17、Given: 10. int i = 0; 11. for (; i <4; i += 2) { 12. + “”); 13. } 14. is the result? A. 0 2 4 B. 0 2 4 5 C. 0 1 2 3 4 D. Compilation fails. 18、C下列哪个是short型的取值范围A.-27 到27-1 B.0 到216-1 C.-215到215-1 D.-231到231-1 19、Given: 1. public class Foo { 2. public static void main(String[] args) { 3. try { 4. return; 5. } finally { 6. “Finally” ); 7. } 8. } 9. } What is the result? A. Finally B. Compilation fails. C. The code runs with no output. D. An exception is thrown at runtime. 20、Given: 1 class TestA { 2 TestB b; 3 TestA() { 4 b = new TestB(this); 5 } 6 } 7 class TestB { 8 TestA a; 9 TestB(TestA a) { 10 = a; 11 } 12 } 13 class TestAll { 14 public static void main (String args[]) { 15 new TestAll().makeThings(); 16 .code continues on 17 } 18 void makeThings() { 19 TestA test = new TestA(); 20 } 21 } Which two statements are true after line 15, before main completes (Choose two) A. Line 15 causes a stack overflow. B. An exception is thrown at runtime. C. The object referenced by a is eligible for garbage collection. D. The object referenced by b is eligible for garbage collection. 第三部分——数据库 一、选择题(含单选题和多选题,每题:2分,总分:20分) 1、C不允许在关系中出现重复记录的约束是通过 A. 外键实现 B.索引实现 C.主键实现 D.惟一索引实现 2、A下列对于PL/SQL块结构描述正确的是 A.块结构由声明部分、可执行部分、异常处理部分组成 B.块结构由 SQL部分、条件控制结构、可执行部分组成 C.块结构由编译部分、动态链接部分、可执行部分组成 D.块结构由指示器部分、逻辑存储部分、物理存储部分组成 3、D如果要修改表TD_M_STAFF,对列STAFF_ID 增加一个主键约束,当前 表为空。哪个语句能完成这个任务? A.ALTER TABLE td_m_staff ADD PRIMARY KEY staff_id; B.ALTER TABLE td_m_staff ADD CONSTRAINT PRIMARY KEY (staff_id); C.ALTER TABLE td_m_staff ADD CONSTRAINT stud_id_pk PRIMARY KEY staff_id; D.ALTER TABLE td_m_staff ADD CONSTRAINT stud_id_pk PRIMARY KEY(staff_id); 4、SELECT语句中,以下有关ORDER BY子句的叙述中不正确的是D A. ORDER BY子句可以对多个列进行排序 语句中,ORDER BY只能在其它子句之后作为最后一个子句出现 C.子查询中也可以使用ORDER BY子句 D.在视图中不能使用ORDER BY子句 5、B在Oracle数据库的逻辑结构中有以下组件:A,表空间 B,数据块 C,区D,段 这些组件从大到小依次是 A.A->B->C->D B.A->D->C->B C.A->C->B->D D.D->A->C->B 6、B以下关于数据的存储结构的叙述哪一条是正确的? A.数据的存储结构是数据间关系的抽象描述 B.数据的存储结构是逻辑结构在计算机存储器中的实现 C.数据的存储结构分为线性结构和非线性结构 D.数据的存储结构对数据运算的具体实现没有影响 7、AD表employee中有下列字段:name、department、phone_number下面哪些操作可以限制人们对phone_number字段的访问 A.使用视图来访问表 B.在phone_number字段创建索引 C.在表中使用check约束 D.收回对phone_number字段的访问权限 8、B为一个表创建索引是为了 A.建立表的主键 B.提高对表中数据进行查找的速度 C.对表中记录进行物理排序 D.对表中记录进行编号 9、C在PL/SQL中,关于存储过程与函数的有何不同,下列描述正确的是 A.函数必须有返回值,而存储过程可以没有返回值 B.函数可以拥有参数,而存储过程不能拥有参数 C.函数和存储过程都可以作为另一个函数或存储过程的参数进行嵌套 D.函数不能包含异常处理模块,而存储过程可以包含异常处理 10、DSQL语言中,用GRANT/REVOKE语句实现数据库的 A. 并发控制 B.完整性控制 C.一致性控制 D.安全性控制