搜狐2013校招笔试题

上传人:小** 文档编号:62913994 上传时间:2018-12-23 格式:PDF 页数:8 大小:129KB
返回 下载 相关 举报
搜狐2013校招笔试题_第1页
第1页 / 共8页
搜狐2013校招笔试题_第2页
第2页 / 共8页
搜狐2013校招笔试题_第3页
第3页 / 共8页
搜狐2013校招笔试题_第4页
第4页 / 共8页
搜狐2013校招笔试题_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《搜狐2013校招笔试题》由会员分享,可在线阅读,更多相关《搜狐2013校招笔试题(8页珍藏版)》请在金锄头文库上搜索。

1、2012-09-2510:52751 人阅读评论(2)收藏 举报 一、不定项选择题 1、以下程序的打印结果是() cppview plaincopyprint? 1.#include 2. usingnamespace std; 3. 4. voidswap_int(inta, intb) 5. 6.inttemp= a; 7.a=b; 8.b=temp; 9. 10. 11.voidswap_str(char* a, char* b) 12. 13.char* temp= a; 14.a=b; 15.b=temp; 16. 17. 18. int main(void) 19. 20.inta

2、=10; 21.intb=5; 22.char* str_a=“helloworld“; 23.char* str_b=“worldhello“; 24.swap_int(a, b); 25.swap_str(str_a,str_b); 26.printf(“%d%d%s%sn“, a, b, str_a,str_b); 27. 28.return0; 29. A、10 5 hello world world helloB、10 5 world hello hello world C、 5 10 hello world world helloD、5 10 hello world world h

3、ello 2、以下 程序打印的两个字符分别是(A) cppview plaincopyprint? 1. typedefstruct objectobject; 2. structobject 3. 4.char data3; 5.; 6. 7. int main(void) 8. 9.object obj_array3=a,b,c, 10.d,e,f, 11.g,h,i; 12.object*cur=obj_array; 13.printf(“%c%cn“,*(char*)(char*)(cur)+2),*(char*)(cur+2); 14. 15.return0; 16. A、c gB、

4、b dC、g gD、g c 3、C/C+语言:请问在 64 位平台机器下 sizeof(string_a) , sizeof(string_b)大小分 别 是(A) cppview plaincopyprint? 1.char*string_a=(char*)malloc(100*sizeof(char); 2. charstring_b100; A、8 100B、100 8C、100 100D、8 8 4、假设二叉排序树的定义是:1、若它的左子树不为空,则左子树所有节点均小于它的根 节 点的值;2、若右子树不为空,则右子树所有节点的值均大于根节点的值;3、它的左右 子树 也分别为二叉排序树。

5、下列哪种遍历之后得到一个递增有序数列(B) A、前序遍历B、中序遍历C、后序遍历D、广度遍历 5、往一个栈顺序 push 下列元素:ABCDE,其 pop 可能的顺序,下列不正确的是(C) A、BACDEB、ACDBEC、AEBCDD、AEDCB 6、1100|1010 , 10011001 , 1001 , 则 A10和*(*(A+1)+1)的值分别是(A) A、4 5B、4 3C、3 5D、3 4 9、序列 16 14 10 8 7 9 3 2 4 1 的说法下面哪一个正确(A) A、大顶堆B、小顶堆C、不是堆D、二叉排序树 10、输入若已经是排好序的,下列排序算法最快的是(A) A、插入

6、排序B、Shell 排序C、合并排序D、快速排序 11、一种既有利于短作业又兼顾长期作业的调度方式是(D) A、先来先服务B、均衡调度C、最短作业优先D、最高响应比优先 12、 同一进程下的线程可以共享(B) A、stackB、data sectionC、register setD、thread ID 13、系统中的“颠簸”是由(B)引起的。 A、内存容量不足B、缺页率高C、交换信息量大D、缺页率反馈模型不正确14、 8 瓶酒一瓶有毒,用人测试。每次测试结果 8 小时后才会得出,而你只有 8 个小时的 时间。 问最少需要(B)人测试? A、2B、3C、4D、6 是个人,如果你学过数的进制编码,

7、就容易说了: 瓶酒的编码如下: 0: 000 1: 001 2: 010 3: 011 4: 100 5: 101 6: 110 7: 111 个人分别喝个位上为的编码,所以: 第一个:1,3,5,7 第二个:2,3,6,7 第三个:4,5,6,7 把中毒的人的位填的二进制数, 就是毒酒的编号。15、 下列关于网络编程错误的是(AB) A、TCP 建立和关闭连接都只需要三次握手 B、UDP 是可靠服务 C、主动关闭的一端会出现 TIME_WAIT 状态 D、服务端编程会调用 listen(),客户端也可以调用 bind() 16、 进程间通讯有哪几种形式(BC) A、Socket B、Pipe

8、 C、Shared memory D、Signal 17、TCP/UDP 下面正确的是(AC) A、TCP provide connection-oriented,byte-stream service; B、 Both TCP and UDP provide reliability service; C、TCP also provides flow control; D、Both TCP and UDP provide retransmission mechanism; 18、 分布式系统设计包括(ABCDE) A、容错,design for fault B、多数据中心的数据一致性 C、数据

9、/服务可靠性 D、可扩展性 E、要满足 ACID 特性 19、10 个不同的球,放入 3 个不同的桶内,共有(C)种方法。310A、 1000B、720C、59049D、360 20、87 的 100 次幂除以 7 的余数是多少(D)A、 1B、2C、3D、4 二、简答题: 1、 (1)请描述进程和线程的区别? (2)多线程程序有什么优点、缺点? (2)多进程程序有什么优点、缺点?与多线程相比,有何区别? 2、编程题: 写代码,反转一个单链表,分别以迭代和递归的形式来实现 cppview plaincopyprint? 1. typedefstruct nodeLinkNode; 2. str

10、uctnode 3. 4.intdata; 5.LinkNode*next; 6.; / 返回新链表头节点 LinkNode *reverse_link(LinkNode *head) LinkNode *reverse_link_recursive(LinkNode *head) cppview plaincopyprint? 1./ 返回新链表头节点 2. LinkNode*reverse_link(LinkNode*head) 3. 4.if(head= NULL) 5.return NULL; 6.LinkNode*prev,*curr,*reverse_head,*temp; 7.p

11、rev= NULL,curr= head; 8.while(curr-next) 9. 10.temp= curr-next; 11.curr-next=prev; 12.prev= curr; 13.curr= temp; 14. 15.curr-next= prev; 16.reverse_head= curr; 17.return reverse_head; 18. 19. 20.LinkNode*reverse_link_recursive(LinkNode*head) 21. 22.if(head= NULL) 23.return NULL; 24.LinkNode*curr,*re

12、verse_head,*temp; 25.if(head-next=NULL) 26.return head; 27.else 28. 29.curr= head; 30.temp= head-next; / 链表中只有一个节点,逆转后的头指针不变 / temp 为(a2,.an)的头指针 31.reverse_head= reverse_link_recursive(temp);/ 逆转链表 (a2,.an),并返回逆转后的头指针 32.temp-next=curr;/ 将 a1 链接在 a2 之后 33.curr-next=NULL; 34. 35.return reverse_head;

13、/(a2,.an)逆转链表的头指针即为(a1,a2,.an) 逆转链表的头指针 36. 3、给一个数组,元素都是整数(有正数也有负数) ,寻找连续的元素相加之和为最大的序 列。 如:1、-2、3、5、-4、6 连续序列 3、5、-4、6 的和最大。 如元素全为负数,则最大的和为 0,即一个也没有选。 /* array输入数组 n数组元素个数 返回最大序列和 */ int find_max_sum(int array , int n) cppview plaincopyprint? 1.intfind_max_sum(intarray,intn) 2. 3.inti, max,sum; 4.su

14、m= max= array0; 5.for(i=1; i max) 12.max=sum; 13. 14.if(max0) 15.max=0; 16.return max; 17. 三、设计题 1、设计一个图片存储系统:假设有一个相册系统,每个用户不限制上传的图片数目,每张 相 片压缩后都在 1M 以内,需求如下: (1 )文件数量太大, 采用传统的文件系统存储导致目录系统非常臃肿, 访问速度变得缓慢;( 2) 单机存储容量已经远远不能承载所有的文件; (3)上传之后,用户只有读取操作和删除操作,不支持修改,整个系统读写比例 10:1 思路:可以使用分布式的文件系统,觉得 hadoop 的 HDFS 很符合要求,这是 hadoop 对 googleGDFS 的实现。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号