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

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,

posted @ 2016-05-26 10:51  Code~Rush  阅读(4135)  评论(0编辑  收藏  举报