2016腾讯春季实习生招聘软件测试开发岗位笔试题
一、选择题
1,以下JavaScript代码执行结果是()
var x=1;
(function(){
x=2;
y=2;
}){ }
alert(x==y);
A TRUE
B FALSE
C 浏览器脚本错误
D NULL
2,以下关于TCP通信中描述正确的是()
A Http协议是建立在TCP协议基础之上的应用层协议
B 当网络状态异常时,对TCP网络的影响是掉包率较高
C 当网络收到SYN Flood 攻击时,查看Server端口状态大量处于SYN_RECV状态
D TCP连接以CLOSE_WAIT状态结束
E TCP连接可以由Server端主动发起断开请求
3,以下关于链表的描述哪个正确()
A 链表的元素在内存中是连续存放的
B 链表可用于实现栈、队列、字典等数据类型
C 链表中一定存在唯一一个没有前驱的元素,以及唯一一个没有后驱的元素
D 在链表中插入元素效率比数组低
数组和链表的区别
-
数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。
-
链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。比如:上一个元素有个指针指到下一个元素,以此类推,直到最后一个元素。如果要访问链表中一个元素,需要从第一个元素开始,一直找到需要的元素位置。但是增加和删除一个元素对于链表数据结构就非常简单了,只要修改元素中的指针就可以了。如果应用需要经常插入和删除元素你就需要用链表数据结构了。
*C++语言中可以用数组处理一组数据类型相同的数据,但不允许动态定义数组的大小,即在使用数组之前必须确定数组的大小。而在实际应用中,用户使用数组之前有时无法准确确定数组的大小,只能将数组定义成足够大小,这样数组中有些空间可能不被使用,从而造成内存空间的浪费。链表是一种常见的数据组织形式,它采用动态分配内存的形式实现。需要时可以用new分配内存空间,不需要时用delete将已分配的空间释放,不会造成内存空间的浪费。
(1) 从逻辑结构角度来看
a, 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。
b,链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项)
(2)从内存存储角度来看
a,(静态)数组从栈中分配空间, 对于程序员方便快速,但自由度小。
b, 链表从堆中分配空间, 自由度大但申请管理比较麻烦.
4,请选择在附图上运行最短路径算法时,可能会依次添加到已选集合的边的顺序()
6、以下哪些对象是分配在栈上的()
A 函数内局部变量
B 函数内局部指针变量
C 函数内动态申请的对象
D 函数内指向动态申请的对象的局部指针变量
9、设栈S和队列Q的初始状态为空,元素a,b,c,d,e,f依次通过栈S,一个元素出栈后即进入队列Q,若出队列的顺序为b,d,c,f,e,a,则栈S的容量至少为多少?
A 2 B 3 C 4 D 5
10,设无向图G中的边的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点出发进行深度优先遍历,可以得到的顶点序列有()
A aedfcb B acfebd C aebcfd D acdfbc
11,
13,QQ转台包括在线,离线,隐身,离开四种状态,假如QQ号码数为4.2亿,最少用多少内存标识所有用户状态?
A 约500M B 约1G C 约4G D 约16G
14,某系统采用36进制表示一个字符串,36个字符0-9a-z分别表示数字的0-35,则10进制数字873085表示字符串()
A imac B ipad C iphone D ipod
17,以下关于操作系统说法正确的是()
A 同一个线程内可以同时运行多个消息循环
B Windows中使用的临界区,不需要切换到内核态
C 互斥量可以用于多进程间对资源安全共享
D 信号量允许多个线程同时使用共享资源
19,以下排序算法,时间复杂度是O(nlog(n))且时间复杂度稳定的是()
A 冒泡排序 B 堆排序 C 归并排序 D 快速排序
21,一般认为,面向对象程序设计有SOLID五大原则,以下正确描述的()
22,
1 const char* s="hello tencent.\0"; 2 printf("%d,%d",int sizeof(s),int strlen(s));
在32位和64位系统下,以上代码的输出结果是()
A 4,16 B 4,14 C 8,16 D 8,14
24,
25,
26,以下这些树中,属于平衡二叉树的是()
A 红黑树 B 二叉查找树 C B+树 D 八叉树 E 完全二叉树
28,
二,编程题
1,Heap和Stack的区别
2,
3,
4,