2013腾讯实习生招聘笔试题目以及答案

  • 32 位机上根据下面的代码,问哪些说法是正确的?

    • signed char a = 0xe0;
    • unsigned int b = a;
    • unsigned char c = a;

    A. a>0 && c>0 为真 B. a == c 为真 C. b 的十六进制表示是:0xffffffe0 D. 上面都不对
  • 下面哪些选项能编译通过?

    • int i;
    • char a[10;
    • string f();
    • string g(string &str);

    A. if(!!i){f();} B. g(f()); C. a=a+1; D. g("abc");


  • int a[10]; 问下面哪些不可以表示 a[1] 的地址?

    A. a+sizeof(int) B. &a[0]+1 C. (int*)&a+1 D. (int*)((char*)&a+sizeof(int))


  • 问下面的数据都存放在哪些存储区?

       

int main()
    {
        char *p = "hello,world";
        return 0;
    }


        A. ... B. ... C. 栈和常量区 D. 栈和堆

         分析:"hello,world" 是常量,赶脚应该就是 C 吧,应该大家感觉都一样。这里不涉及什么堆的事。


  • 假设在一个 32 位 little endian 的机器上运行下面的程序,结果是多少?
    #include <stdio.h>
    int main()
    {
        long long a = 1, b = 2, c = 3;
        printf("%d %d %d\n", a, b, c);
        return 0;
    }
    A. ... B. ... C. ... D. ...

    分析:貌似问题没有想的那么简单。如果说运行结果,很简单,有人是 1 0 2;有人是 1 2 3。涉及到 little/big endian 和参数入栈的问题。


  • 下面哪些函数调用必须进入内核才能完成?
    A. fopen B. exit C. memcpy D. strlen

    分析:有些无能为力。A 是要打开文件的,貌似涉及很多内核操作;exit 是退出进程,结束进程,应该也要深入内核。memcpy ,me 一直犹豫用户区的数据拷贝要不要通过内核。strlen me 感觉关系不大。


  • 内存管理中的 LRU 方法是用来管理神马的?
    A. 虚拟内存的分配 B. 虚拟内存的释放 C. 物理内存的分配 D. 物理内存的释放

    分析:貌似是用来管理物理块的,后面的填空题正好有说,O__O"…


  • 关于DMA 的说法,哪些是错误的?
    A. DMA,Direct Memory Acess 直接存储器访问,使得不同速度的硬件设备可以直接通信,不通过 CPU 干预;
    B. DMA 访问的时候需要从 CPU 那里夺得总线控制权,然后...
    C. DMA 速度快;

    D. DMA 不需要中断控制,...


  • 死锁发生的必要条件?
    A. 互斥条件 B. 请求和保持 C. 不可剥夺 D. 循环等待

    分析:ABCD 就是死锁的四个必要条件,操作系统书上貌似说的很明确。


  • 有两个线程,最初 n=0,一个线程执行 n++; n++; 另一个执行 n+=2; 问,最后可能的 n 值?
    A. 1 B. 2 C. 3 D. 4

    分析:D 顺序执行以下,就可以。B 的话,让后面一个执行到+2,但不要写结果,然后前一个执行完,然后写结果,为 2。C 3 的话,也好分析。A 不可能!肿么可能呢?肿么可能结果只为 1 呢?两个线程都会 +2,+1 何从谈起?先 +1,然后让后面的加法错了,然后结果写进去?前一个 ++n 都没执行的话,后一个又肿么会执行呢?总之不可能是 1 !不可能!O__O"…(坚决不相信它可以。)


  • 下面哪些说法正确?
    A. 数组和链表都可以随机访问
    B. 数组的插入和删除可以 O(1)
    C. 哈希表么法范围检查
    D. ...

    分析:总之 ABD 给人的感觉是显而易见的错丫,有木有,所以排除法还是能用的!至于 hash 结构,确实也不可以范围检查,因为 key 映射为 value,根据的是 hash 函数,而这个函数一般不满足原来的单调性,实际上就不应该满足!因为 hash 函数的设计是要 value 的映射尽可能滴随机、均匀!


  • 基于比较的排序的时间复杂度下限是多少?
    A. O(n) B. O(n^2) C. O(nlogn) D. ...

    分析:貌似是数据结构上面的一个结论,基于比较的排序的时间复杂度不能比 O(nlogn) 低,而快速排序平均复杂度就是 O(nlogn),而且常量系数更低一些。


  • 下面图的拓扑排序可能是?
    A...

    分析:对于知道拓扑排序的,应该很容易作答(me 有时候在怀疑自己理解的是否正确?!)。


  • 求 n 个数中的最大值和最小值,最少的比较次数是?
    A. 4n/3 B. 2n-2 C. n-1 D. 3n/2

    分析:虽然 me 不知道很高深的算法,但是 me 想丫,如果是 2 1 3 4 5 6 这样的序列,u 认为最少是多少次呢?me 感觉是 n-1 。但是,题目也许是另外一个意思,也就是对于普通的序列,求最大值和最小值,能将比较次数降到多少?(me 貌似见到过一些方法,但是忘了,O__O"…)


  • 一棵二叉树的先序遍历是 f b a c d e g h,中序遍历是 a b d c e f g h,问后序遍历是神马?
    A. ... B. ... C. ... D. ...

    分析:构建二叉树,然后看看后序遍历是神马?a d e c b h g f,O__O"…,突然感觉一不小心 g f 和 f g 就写反了,me 应该没有吧?!


  • 网卡、交换机、路由器和 UDP 分别工作网络的哪些层?
    A. ...
    B. ...
    C. ...
    D. ....

    分析:只根据 UDP 在传输层,me 就选出答案了:物理层、数据链路层、网络层和传输层。


  • 子网掩码 25..255.255.224 可以将网络 x.x.x.x 分成多少个子网?
    A. ... B. ... C. 8 D. 32

    分析:224 = 128+64+32 = 1110 0000 B,me 一看,后面 5 个 0 ,就是 2^5 = 32 吧?shit !子网数?不是主机数丫,有没有,O__O"…,主机数貌似还得 -2 丫,有没有,当时 me 还奇怪来着,O__O"… x.x.x.x 貌似是个 C 类地址?这样的话,应该是 2 ^ 3 = 8 !


  • TCP协议栈的定时器有哪些?
    A. ... B. ... C. ... D. ...

    分析:不会的路过。


  • 高内聚和低耦合,下面哪个耦合度最高?
    A. 通过函数参数传递...
    B. 一个函数修改另外一个函数中的数据;
    C. 通过全局变量...
    D. 通过指示器...

    分析:哭丫,me 错了。这是软件工程上的玩意,me 一直认为 C 比 B 耦合度高呢,O__O"…。耦合度由低到高:A --> D --> C -->B


  • 关于访问 http://img.k6k4.com/img/p80/220171122003216xjw1.jpg ,下面哪些是后台绝对不会执行的?
    A. 本地查查 DNS,是否有 sinaapp.com 的 ip;
    B. 通过 cn. 查找 ip;
    C. 通过 com. 查找 ip;
    D. 浏览器发送 http get 请求;
    D. 服务器回送 xxx.jpg;

    分析:蒙也是蒙 B,O__O"…


  • 在一个 big endian 的 32 位的计算机上,b 的结果是?(该处 1 个空)

    • unsigned int a = 0x1234;
    • char b = *((char*)&a);

    分析:想不到又一个 big/little endian 的问题。这个结果,me 还比较确定写,就是 0。uint 是 4 个字节,0x1234 的完整表示是 0x 00 00 12 34,因为是 big endian,所以,所以 &(取地址) 的话,如果当字节看的话,取到了最左边 00 字节的地址,一定要转换成 char 看的话,值就是 0 。


  • 一个有 800 个结点的完全二叉树,问有多少个叶子结点?(该处 1 个空)

    分析:虽然 me 忘记是神马公式计算了,只感觉和 n/2 有关系。然后随便画了几个试试,就可以找出来 (n+1)/2 的规律来,所以 答案是: 400。


  • #include <stdio.h>
    #include <stdlib.h>
    #define M 3
    #define N 4
    
    int get(int *a, int i, int j)
    {
        int v;
        if(a == NULL || i<0 || i>=M || j<0 || j>=N) exit(1);    //
    
        v = *(a+i*N+j); // 这里有一个空
        return v;
    }
    int main()
    {
        int a[M[N = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
        int v;
    
        v = get(a, 2, 1);
        printf("a[2][1] == %d\n", v );
        return 0;
    }
    下面 get 是求一个二维数组元素的函数,请补全。( 1 个空)


    分析:差点写错了,还好迷途知返了,O__O"…
  • 补全插入排序:(有 2 个空)
        int insert_sort(int *p, int count)
        {
                int i, j, tmp;
                if(p == NULL || count < 0) return 0;    //
                for(i=1; i<count; i++){
                        tmp = p[i];
                        j = i-1;
                        while(j>=0 && p[j]>tmp){    // 此处判断条件一个空
                                p[j+1]= p[j];
                                --j;
                        }
                        p[j+1] = tmp;   // 此处一个空
                }
                return 1;
        }
        int main()
        {
                int i, a[10] ={3, 2, 1, 7, 8, 10, 4, 5, 6, 9};
                insert_sort(a, 10);
                for(i=0; i<10; i++)
                        printf("%d ", a[i]);
                printf("\n");
                return 0;
        }

    分析:me 感觉 me 的代码还是比较工整的,u 肿么看,...


  • 使用 FIFO 管理页面请求,如果分配的物理块 M = 3 或是 4,请求顺序如下:4 3 2 1 4 3 5 4 5 3 1 2 5 1 5 1 5 5 4,问两种情况下页面失效的次数各是多少?( 2 个空)
    分析:7 和 7,这是 me 的结果(貌似错了?O__O"…)。现在是确信,自己错了,答案是 10 和 11,me 没有加上来就没有命中的 3/4 次,虽然没有页面替换,但是确实属于页面失效的情况。每空 4 分,两个 8 分,me 还有神马好说的呢,O__O"…(大哭ing...)。
    下面给出计算结果,如果没有命中,就打一个 x,然后写上页面的值,~~~~(>_<)~~~~
    M = 3 (从上往下,从左往右看):10 次x4  x1  x5 x4x3  x4  x1x2  x3  x2M = 4 (从上往下,从左往右看):11 次x4  x5  x1x3  x4  x5x2  x3  x4x1  x2


  • 一个网络图,问 Q 路由器到某个网络要进行跳转的下一个 ip 是多少?(有 1 个空)

    分析:me 一下子就犹豫了,貌似赶脚也不是正确答案,就不多说了。


  • 软件可靠性评估的两个指标是神马?( 2 个空)

    分析:不会的路过。


  • 选做 1:qq 用户有 30 亿,每日的登陆、登出的记录条数有 100 亿之多,让设计程序统计每天登陆人数;设计程序剔除因为掉线而重复登陆的情况;设计程序求出在线人数最高的时刻。


  • 选做 2:问 qq 的加好友功能可能存在的安全漏洞有哪些?


个人资料
bjchenli
等级:8
文章:260篇
访问:22.0w
排名: 3
上一篇: 2016年微软笔试题目
下一篇:腾讯2012实习生笔试题
猜你感兴趣的圈子:
腾讯笔试面试圈
标签: 貌似、个空、神马、dma、endian、面试题
隐藏