十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦(第271-330题)


十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦(第 271-330 题) 引言 此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题 70 道,本文依次整理腾讯,网易 游戏,百度等各大公司最新校园招聘的笔试题,后续将继续整理十月下旬的笔/面试题。 腾讯 2011.10.15 校园招聘会笔试题 1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B) A、插入排序 B、堆排序 C、冒泡排序 D、快速排序 2、以下关于 Cache 的叙述中,正确的是(B) A、CPU 中的 Cache 容量应大于 CPU 之外的 Cache 容量 B、Cache 的设计思想是在合理成本下提高命中率 C、Cache 的设计目标是容量尽可能与主存容量相等 D、在容量确定的情况下,替换算法的时间复杂度是影响 Cache 命中率的关键因素 3、数据存储在磁盘上的排列方式会影响 I/O 服务的性能,一个圆环的磁道上有 10 个物理块,10 个 数据记录 R1------R10 存放在这个磁道上,记录的安排顺序如下表所示: 物理块 1 2 3 4 5 6 7 8 9 10 逻辑记录 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 假设磁盘的旋转速度为 20ms/周,磁盘当前处在 R1 的开头处,若系统顺序扫描后将数据放入单缓冲 区内,处理数据的时间为 4ms(然后再读取下个记录),则处理这 10 个记录的最长时间为(C) A、180ms B、200ms C、204ms D、220ms 4、随着 IP 网络的发展,为了节省可分配的注册 IP 地址,有一些地址被拿出来用于私有 IP 地址,以 下不属于私有 IP 地址范围的是(C)(私网 IP 地址:10.0.0.0- 10.255.255.255 ;172.16.0.0 - 172.31.255.255;192.168.0.0-192.168.255.255。故选 C) A、10.6.207.84 B、172.23.30.28 C、172.32.50.80 D、192.168.1.100 5、下列关于一个类的静态成员的描述中,不正确的是(D) A、该类的对象共享其静态成员变量的值 B、静态成员变量可被该类的所有方法访问 C、该类的静态方法只能访问该类的静态成员变量 D、该类的静态数据成员变量的值不可修改 6、已知一个线性表(38,25,74,63,52,48),假定采用散列函数 h(key) = key%7 计算散列 地址,并散列存储在散列表 A【0....6】中,若采用线性探测方法解决冲突,则在该散列表上进行等 概率成功查找的平均查找长度为(C) A、1.5 B、1.7 C、2.0 D、2.3 依次进行取模运算求出哈希地址: A 0 1 2 3 4 5 6 记录 63 48 38 25 74 52 查找次数 1 3 1 1 2 4 74 应该放在下标为 4 的位置,由于 25 已经放在这个地方,所以 74 往后移动,放在了下标为 5 的位置上了。 由于是等概率查找,所以结果为:1/6*(1+3+1+1+2+4)= 2.0 7、表达式“X=A+B*(C--D)/E”的后缀表示形式可以为(C) A、XAB+CDE/-*= B、XA+BC-DE/*= C、XABCD-*E/+= D、XABCDE+*/= 8、(B)设计模式将抽象部分与它的实现部分相分离。 A、Singleton(单例) B、 Bridge(桥接) C、 Composite(组合) D、 Facade(外观) 9、下面程序的输出结果为多少? 1. void Func(char str_arg[100]) 2. { 3. printf("%d\n",sizeof(str_arg)); 4. } 5. 6. int main(void) 7. { 8. char str[]="Hello"; 9. printf("%d\n",sizeof(str)); 10. printf("%d\n",strlen(str)); 11. char *p = str; 12. printf("%d\n",sizeof(p)); 13. Func(str); 14. } 输出结果为:6 5 4 4 对字符串进行 sizeof 操作的时候,会把字符串的结束符“\0”计算进去的,进行 strlen 操作求字符串的长度的时候,不计算 \0 的。 数组作为函数参数传递的时候,已经退化为指针了,Func 函数的参数 str_arg 只是表示一个指针,那个 100 不起任何作 用的。 10、下面程序的输出结果为多少? 1. void Func(char str_arg[2]) 2. { 3. int m = sizeof(str_arg); //指针的大小为 4 4. int n = strlen(str_arg); //对数组求长度,str_arg 后面的那个 2 没有任何意义,数组已经退化为指针了 5. printf("%d\n",m); 6. printf("%d\n",n); 7. } 8. int main(void) 9. { 10. char str[]="Hello"; 11. Func(str); 12. } 输出结果为: 4 5 strlen 只是对传递给 Func 函数的那个字符串求长度,跟 str_arg 中的那个 2 是没有任何关系的,即使把 2 改为 200 也是 不影响输出结果的。。 11、到商店里买 200 的商品返还 100 优惠券(可以在本商店代替现金)。请问实际上折扣是多少? 算法编程题: 1、给定一个字符串,求出其最长的重复子串。 思路:使用后缀数组,对一个字符串生成相应的后缀数组后,然后再排序,排完序依次检测相邻的两 个字符串的开头公共部分。 这样的时间复杂度为: 生成后缀数组 O(N) 排序 O(NlogN*N) 最后面的 N 是因为字符串比较也是 O(N) 依次检测相邻的两个字符串 O(N * N) 总的时间复杂度是 O(N^2*logN), 网易游戏 2011.10.15 校园招聘会笔试题 1、对于一个内存地址是 32 位、内存页是 8KB 的系统。0X0005F123 这个地址的页号与页内偏移分 别是多少。 2、如果 X 大于 0 并小于 65536,用移位法计算 X 乘以 255 的值为:-X+X<<8 X<<8-X 是不对的,X<<8,已经把 X 的值改变了(订正:X<<8 是个临时变量,不会改变 X 的值,就像 a+1 不会 改变 a 一样)。 3、一个包含 n 个节点的四叉树,每个节点都有四个指向孩子节点的指针,这 4n 个指针中有 3n+1 个 空指针。 4、以下两个语句的区别是: 1. int *p1 = new int[10]; 2. int *p2 = new int[10](); 5、计算机在内存中存储数据时使用了大、小端模式,请分别写出 A=0X123456 在不同情况下的首字 节是,大端模式:0X12 小端模式:0X56 X86 结构的计算机使用 小端 模式。 一般来说,大部分用户的操作系统(如 windows, FreeBsd,Linux)是小端模式的。少部分,如 MAC OS,是大端模式 的。 6、在游戏设计中,经常会根据不同的游戏状态调用不同的函数,我们可以通过函数指针来实现这一 功能,请声明一个参数为 int *,返回值为 int 的函数指针: int (*fun)(int *) 7、在一冒险游戏里,你见到一个宝箱,身上有 N 把钥匙,其中一把可以打开宝箱,假如没有任何提 示,随机尝试,问: (1)恰好第 K 次(1=n) { while ( ) n++; ; prim(m,n); cout<(cout," ")); cout<array; 8. array.push_back(100); 9. array.push_back(300); 10. array.push_back(300); 11. array.push_back(500); 12. vector::iterator itor; 13. for(itor=array.begin();itor!=array.end();itor++) 14. { 15. if(*itor==300) 16. { 17. itor = array.erase(itor); 18. } 19. } 20. for(itor=array.begin();itor!=array.end();itor++) 21. { 22. cout<<*itor<<" "; 23. } 24. return 0; 25. } A、100 300 300 500 B、100 300 500 C、100 500 D、程序错误 vector 在 erase 之后,指向下一个元素的位置,其实进行 erase 操作时将后面所有元素都向前移动,迭代器位置没有移 动。itor=array.erase(itor) erase 返回下一个元素的地址,相当于给 itor 一个新值。 2、下列代码的输出为: 1. class CParent 2. { 3. public: 4. virtual void Intro() 5. { 6. printf("I'm a Parent, "); 7. Hobby(); 8. } 9. virtual void Hobby() 10. { 11. printf("I like football!"); 12. } 13. }; 14. class CChild:public CParent 15. { 16. public: 17. virtual void Intro() 18. { 19. printf("I'm a Child, "); 20. Hobby(); 21. } 22. virtual void Hobby() 23. { 24. printf("I like basketball!\n"); 25. } 26. }; 27. int main(void) 28. { 29. CChild *pChild = new CChild(); 30. CParent *pParent = (CParent*)pChild; 31. pParent->Intro(); 32. return 0; 33. } A、I'm a Child,I like football! B、I'm a Child,I like basketball! C、I'm a Parent,I like football! D、I'm a Parent,I like basketball! 3、在 win32 平台下,以下哪种方式无法实现进程同步? A、Critical Section B、Event C、Mutex D、Semaphore 4、以下哪句的说法是正确的 A、在页式存储管理中,用户应将自己的程序划分为若干个相等的页 B、所有的进程都挂起时,系统将陷入死锁 C、执行系统调用可以被中断 D、进程优先数是进程调度的重要依据,必须根据进程运行情况动态改变 5、以下描述正确的是 A、虚函数是可以内联的,可以减少函数调用的开销提高效率 B、类里面可以同时存在函数名和参数都一样的虚函数和静态函数 C、父类的析构函数是非虚的,但是子类的析构函数是虚的,delete 子类对象指针会调用父类的析构函数 D、以上都不对 简答题:快速排序的思想是递归的,但是它的平均效率却是众多排序算法中最快的,为什么?请结合 本例说明你对递归程序的理解。 算法题:用你熟悉的编程语言,设计如下功能的函数:输入一个字符串,输出该字符串中所有字母的 全排列。程序请适当添加注释。 C++函数原型: void Print(const char *str) 输入样例: abc 输出结果: abc、acb、bca、bac、cab、cba (以上部分整理自此君博客:http://blog.csdn.net/Hackbuteer1。十分感谢。有何不妥之处,还望海涵海涵。) 后续整理 1. 12 个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是 0、4、5、10、12、18、 27、30、31、38、39、47.在这 12 个工厂中选取 3 个原料供应厂,使得剩余工厂到最近的原料供应厂距离 之和最短,问应该选哪三个厂 ? 2. 3. hash 冲突时候的解决方法? 1)、开放地址法 2)、再哈希法 3)、链地址法 4)、建立一个公共溢出区 4. int main() { if() { printf("Hello "); } else { printf("World !!!"); } return 0; } 在 if 里面请写入语句 使得打印出 hello world。 5. 今天 10.19 西山居笔试题: 分别写一个宏和函数来获取元素个数 如 count(a) 会得到 a 数组元素个数 。 6. 平均要取多少个(0,1)中的随机数才能让和超过 1。(答案: e 次, 其中 e 是自然对数的底数) 7. 今天支付宝 10.20 笔试题:汉诺塔一共为 2*N,2 个一样大小,有编号顺序 每次只能移动一个 大的不能 叠在小得上面 移动完之后,相同大小的编号必须和原来一样 问最小要移动多少次? 如 A1 A2 B1 B2 C1 C2 ...... 这样叠,A using namespace std; class A { public: A(){cout<<"A"<
还剩12页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf