您的位置:首页 > 其它

2016腾讯春季实习生招聘软件测试开发岗位笔试题

2016-05-26 10:51 453 查看
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,

const char* s="hello tencent.\0";
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,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: