腾讯实习生招聘笔试题目.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
腾讯实习生招聘笔试题目

选择题 32位机上根据下面的代码,问哪些说法是正确的?() signed char a = 0xe0; unsigned int b = a; unsigned char c = a; A. a0 c0 为真 B. a == c 为真 C. b 的十六进制表示是:0xffffffe0 D.上面都不对 答案:C 考点:有符号数和无符号数之间的转换 解析: 将0xe0转换成二进制是1110 0000,因为0xe0的最高位是1,所以作为有符号数的时候就是负数,作为无符号数的时候就是正数,因此A选项是错的,同时B也是错误的。 负数的高位用1补齐,正数的高位用0补齐,所以b(0xe0)的二进制表示形式是1111 1111 1111 1111 1111 1111 1110 0000,十六进制的表示形式是0xffffffe0。 ? 下面哪些选项能编译通过? 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); 答案:A 考点:C++的细节掌握。 解析: A是肯定对的,因为他有一个默认值。 B选项是错误的。因为f() 返回的是一个临时量,然后传给 g 函数,而 g 的参数不是const 引用,是不能引用临时量的。 C选项是错误的。因为a 是一个地址常量,不可能再被赋值。 D选项是错误的。因为abc 的类型可是 const char* 呢,是个常量指针(可以用来初始化 string)。(对这题我有点疑问,因为我不是学C++的,所以希望读者看到可以帮我解答一下,谢谢) int a[10]; 问下面哪些不可以表示 a[1] 的地址? A. a+sizeof(int) B. a[0]+1 C. (int*)a+1 D. (int*)((char*)a+sizeof(int)) 答案:A 考点:C++数组的指针表示形式的掌握 解析: A. a+sizeof(int)?选项不正确,假设在32位机器上,sizeof(int)的值为4,而a+sizeof(int)?相当于指针运算 a + 4,也就是a[4] B. a[0]+1选项正确,因为?a[0]的意思是取的数组首元素地址,而数组首元素地址加1(a + 1),根据指针运算就是a[1]的地址 C. (int*)a+1选项正确,因为数组地址被强制类型转换为int*,然后加1,这样和B表示的一个意思 D.(int*)((char*)a+sizeof(int))选项正确,因为数据地址先被转换为char*,然后加4,根据指针运算公式,向前移动4 * sizeof(char),之后被转换为int*,显然是a[1]的地址 ? 问下面的数据都存放在哪些存储区? int main() { char *p = hello,world; return 0; } A. 堆和静态数据区 B. 栈和静态数据区 C. 栈和常量区 D. 栈和堆 答案:C 解析:其实,在做这一题的时候,我是当成Java来做的,呵呵 根据C语言中的特性和定义p是一个局部变量,而C语言中局部变量存在于栈中,hello wrold是一个字符串字面常量,因此存储于程序的只读存储区中,p在这里其实只是指向了hello wrold在只读存储区中的地址而已 ? 4)下面哪些说法正确?() A. 数组和链表都可以随机访问 B. 数组的插入和删除可以 O(1) C. 哈希表没有办法做范围检查 D. 以上说法都不正确 答案:B 解析: A选项是错误的,因为数组可以直接通过下标得到存储的值 因此支持随机;而访问链表是链式存储结构时无法支持随机访问,要访问一个指定位置的元素必须从头开始做指针移动 B选项是正确的,因为数组的插入如果位置在最后面的话可以为O(1),删除的时候,直接通过下标指定要删除哪个即可,所以也可以为O(1) C选项是错误的,因为哈希表支持直接通过关键码得到值 其实数组就是一种哈希表 下标就是关键码 通过下标直接得到值 因此哈希表肯定需要做范围检查也有办法做范围检查的 D选项是错误的,这个不用解释啦,哈哈^_^ ? 基于比较的排序的时间复杂度下限是多少?() A. O(n) B. O(n^2) C. O(nlogn) D. O(1) 答案:C 解析:其实大家记住这个结论就好,在当前计算机科学界对于基于比较的排序最快只是O(n*logn),例如快速排序,堆排序,归并排序 ? 有两个线程,最初 n=0,一个线程执行 n++; n++; 另一个执行 n+=2;

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档