亚信笔试题B卷试题以及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

亚信联创科技校园招聘

B卷


考试时间 60_分钟 _ 考试方式(闭)卷



(本试卷满分100分,答案请写在答题卡上)
请不要在问卷上答题或涂改,笔试结束后请务必交回试卷
部分 内容 分值 备注
技能部分 一、 计算机基础 40分
二、 C/C++语言基础
JAVA语言基础 40分 二选一
40分
三、 数据库 20分
总分 100分



第一部分——计算机基础
一、选择题(每题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+10010011,其运算结果是 ( A )。
A.11100111 B.11000111
C.00010000 D.11101011

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或mn&&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]; //通话结束日期
char EndTime[6+1]; //通话结束时间
A) 可以用宏定义消除整数8等 B) 可以将相关宏定义集中至一个头文件中
C) 有联系的变量可考虑用类来封装 D) 采用全局变量来定义,使用方便
10、下列关于函数指针的初始化哪些是错误的?
A) void reset(int *);
void (*pf) (void *) = reset;
B) int calc(int ,int );
int (*pf1)(int ,int ) =calc;
C) extern “c” int compute(int * ,int);
int (*pf3)(int *,int) = compute;
D) void (*pf4)(const matrix &)=0;
11、如下一段函数,存在一定的设计问题,请问下面哪个阐述是正确的:
char string1[10];
void test2()
{
char str1[10];
int i;
for(i=0; i<9; i++){
str1[i] = 'a';
}
strcpy( string1, str1 );
}
A)strcpy的两个参数次序反了 B)str1[10]未能初始化赋值
C)string1数组长度不够大 D)str1缺少终止符
12、下段程序a.out,如在shell中执行a.out 1,屏幕如何输出:
#include
#include
int main(int argc,char *argv[])
{
int i = 0;
i = atoi(argv[1]);
switch(i){
case 0:
printf("i=0;");
case 1:
printf("i=1;");
}
return 0;
}
A) i=0; B) i=1 C) i=0; i=1 D)不确定
13、请问下面一段程序,输出什么值:
#include
using namespace std;
void GetMemory(char *p)
{
p = (char *)malloc(100);
}

int main(void)
{
char *str = NULL;
GetMemory(str);
strcpy(str, "hello world");
printf(str);
}
A)”hello world” B) “hello world “
C)程序异常中断 D) 4013408(也可能是其它随机地址)
14、关于容器的使用,下列哪个用法是正确

的:
A) const vector file_name(sa, sa+6);
vector::iterator it = file_name.begin()+2;
B) vector ivec;
fill ( ivec.begin(), ivec.end() , ival );
C) sort( ivec.begin(), ivec.rend() );
D) list ilist(ia,ia+6);
binary_search( ilist.begin(), ilist.end() );

15、A下面对静态数据成员的描述中,正确的是
A) 静态数据成员是类的所有对象共享的数据
B) 类的每个对象都有自己的静态数据成员
C) 类的不同对象有不同的静态数据成员值
D) 静态数据成员不能通过类的对象调用
16、STL中预定义了常用的函数对象,下列哪个不属于其中
A)plus,minus B) equal_to,not_equal_to
C)find,compare D) logical_and,logical_not
17、下段程序摘自某工程,请问m_infoPoint最终获得了什么
//提交事件信息
int CDatumPackage::getEvent( CInfoPoint& infoPoint )
{
m_infoPoint = &infoPoint;
CPackage::getEvent(infoPoint);
m_iSystemId = atoi(infoPoint.GetSystemID().c_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,9

9}; 则以下对此语句的叙述错误的是
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. Sysout.out.println(“== is succeeded”);
5. if(s1.equals(s2))
6. Sysout.out.println(“.equals() 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=12.3* % 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. System.out.print(c);
4. 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. test.aMethod();
10. int j = test.aMethod();
11. System.out.println(j);
12. }
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、运行下列程序,会产生的结果的是
1.public class X extends Thread implements Runnable{
2. public void run(){
3. Sysout.out.println(“this is run”);
4. }
5. public static void main(String args[]){
6. Thread t=new Thread(new X());
7. t.start();
}
}
A.第一行会产生编译错误
B.第六行会产生编译错误
C.第六行会产生运行错误
D.程序会运行和启动

17、Given:
10. int i = 0;
11. for (; i <4; i += 2) {
12. System.out.print(i + “”);
13. }
14. System.out.println(i);
What 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. System.out.println( “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 this.a = 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子句可以对多个列进行排序
B.SELECT语句中,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.安全性控制










相关文档
最新文档