携程2016研发工程师笔试题
2015/12/7 14:56(网上收集整理的,参考答案在后面,若有错误请大神指出)
1. 内存空间被分成不同区域,其中用函数
void*malloc(unsigned int size);
申请的内存在()
A. 程序区
B. 静态存储区
C. 动态存储区
D. ROM区
2. CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用()
A. 缓冲技术
B. 覆盖技术
C. 并行技术
D. 虚存技术
3. 编译和执行如下代码,系统将会输出什么?
#include<stdio.h>
int main()
{
char c='0';
printf("%d%d",sizeof(c),sizeof('0'));
return 0;
}
A. 1 1
B. 2 2
C. 1 2
D. 2 1
4. 表的主键特点中,说法不正确的是()
A.主键的每一列都必须非空
B. 主键的每一列都必须唯一
C. 一个表只能定义一个主键
D. 主键可以定义在表级或列级
5. 一位酒商有6桶葡萄酒和啤酒,容量分别为30升、32升、36升、38升、40升、62升。其中五桶装着葡萄酒,一桶装着啤酒。第一位顾客买走了两桶葡萄酒;第二位顾客所买的葡萄酒则是第一位顾客的两倍。请问,有多少升啤酒?
A. 32
B. 40
C. 36
D. 38
6. 将三只蜗牛放在一个正三角形的每个角上.每只蜗牛开始设三角形的一条边朝另一个角做直线运动,目标角是随机选择,那么蜗牛互不相撞的概率是多少?
A. 1/8
B. 1/4
C. 1/3
D. 1/2
7. 用变量a给出下面的定义:一个有10个指针的数组,该指针指向一个函数,该函数有一个整形参数并返回一个整型数
A. int*a[10];
B. int(*a)[10];
C. int(*a)(int);
D. int(*a[10])(int);
8. 计算每位学生的多学科加总成绩的SQL是_____
A. selectsum(score) as total,stud_name from [成绩表](nolock)
B. selectcount(score) as total,stud_name from [成绩表](nolock)
C. selectsum(score) as total,stud_name from [成绩表](nolock) group by stud_name
D. selectcount(score) as total,stud_name from [成绩表](nolock) group by stud_name
9. 冯诺依曼工作方式的基本特点是____
A. 多指令流单数据流
B. 按地址访问并顺序执行指令
C. 堆栈操作
D. 存储器按内部选择地址
解析:冯.诺依曼机工作方式的基本特点就是程序事先存放在存储器中,存储器按地址访问,逐条地取出指令来执行。
10.下列关于文件索引结构的叙述中,哪些是正确的?
A. 系统为每个文件建立一张索引表
B. 采用索引结构会引入存储开销
C. 从文件控制块中可以找到索引表或索引表的地址
D. 采用索引结构,逻辑上连续的文件存放在连续的物理块中
11. 以下哪些是servlet容器
A. Apache
B. Nginx
C. Tomcat
D. Jetty
12. 虚拟存储的容量受到下列哪一个因素的限制影响最大?
A. 磁盘空间大小
B. 物理内存大小
C. 数据存放的实际地址
D. 计算机地址位数
13. 关于域名和IP描述正确的是?
A. 一个IP只能对应1个域名
B. 一个域名只能对应一个IP
C. 域名可以通过DNS转换成IP
D. 携程网站可以直接通过IP访问
14. 哪些字段适合建立索引?
A. 在select子句中的字段
B. 外键字段
C. 主键字段
D. 在where子句中的字段
15. 于group by子句的作用描述正确的是?
A. 可用于过滤数据
B. 可用于sum
C. 可用于avg
D. 可用于having子句
16. 执行"int x=1;int y=~x;"语句后,y的值为?
A.1
B.0
C.-1
D.-2
17. 内存按字节编址,地址区间为[90000H,CFFFFH],若用32K*8bit的存储器芯片构成该内存,需要__块
A. 2
B.4
C.8
D.16
解析:地址空间共有CFFFFH-90000H +1 = 40000H,又因为是按字节编址,所以容量为40000H = 2^18。每个存储芯片的容量为32KB = 2^15B,所以需要2^18 / 2^15 = 8片
18. 由数字5,6,7,9可以组成多少个没有重复数字的三位数?
A. 9
B.15
C.24
D.48
解析:4*3*2=24
19. 若运行时从键盘上输入9876543210l,则下面程序的输出结果是
int main(){
int a;float b,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%d,c=%f\n",a,b,c);
}
A.a=98,b=765,c=4321.000000
B.a=98,b=0,c=0
C.a=98,b=765.000000,c=4321.000000
D.a=98,b=765.0,c=4321.0
20. 直接,间接,立即三种寻址方式指令的执行速度,由快至慢的排序是____
A. 直接,立即,间接
B. 直接,间接,立即
C. 立即,直接,间接
D. 立即,间接,直接
21. 管道通信以_____进行写入和读出
A. 消息为单位
B. 自然字符流
C. 文件
D. 报文
22. 下列代码的输出结果是_____
booleanb=true?false:true==true?false:true;
System.out.println(b);
A. true
B. false
C. null
D. 空字符串
23. 设计文件系统时应尽量减少访问磁盘的次数,以提高文件系统的性能.下列各种措施中,哪些可以减少磁盘服务时间?
A. 块高速缓存
B. 磁盘驱动调度
C. 目录项分解法
D. 异步I/O技术
24. 以下哪个选项一定可以将flag的第二个bit置0
A.flag&=~2
B. flag|=2
C. flag^=2
D.flag>>=2
25. JUnit主要用来完成什么
A. 发送HTTP请求
B. 建立TCP连接
C. 集成测试
D. 单元测试
参考答案:
C,解析:C编程语言中的malloc、calloc函数和C++的new运算符都是在动态存储区(heap)上申请内存空间
A,解析:覆盖技术和虚拟技术主要是解决内存不足的问题,当有大文件、程序需要在内存处理时,可以用到覆盖技术和虚拟技术,并行技术主要用于多核的CPU或者多IO总线上并行处理
A,解析:sizeof运算符主要用于计算占用内存(stack而不是heap)的大小,char占用一个字节。
D.
B
B,解析:不相撞只有2中情况,3只涡流同时朝着顺时针或者3只涡流同时朝着逆时针,概率都是(1/2)*(1/2)*(1/2)=1/8,所以总的概率为1/4.
D
C
B
ABC
ACD
D
ACD
BCD
BCD
D
C
C
B
C
B
B
ABC
A
D