腾讯 2022年 pc客户端开发面试题(求职面试回答资料)_第1页
腾讯 2022年 pc客户端开发面试题(求职面试回答资料)_第2页
腾讯 2022年 pc客户端开发面试题(求职面试回答资料)_第3页
腾讯 2022年 pc客户端开发面试题(求职面试回答资料)_第4页
腾讯 2022年 pc客户端开发面试题(求职面试回答资料)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 腾讯 2022年 pc客户端开发面试题第1题: 一、不定项选择题 下列说法错误的有( ) A、在类方法中可用this来调用本类的类方法 B、在类方法中调用本类的类方法时可直接调用 C、在类方法中只能调用本类中的类方法 D、在类方法中肯定不能调用实例方法 答案:A C D 解析: A:类方法是指类中被static修饰的方法,无this指针。 C:类方法是可以调用其他类的static方法的。 D:可以在类方法中生成实例对象再调用实例方法。(这个我也打错了,想想应当是这个意思) 第2题: 下列运算符,在C+语言中不能重载的是() A、* B、.* C、: D、operator delete 答案:

2、BC 解析:并不是全部的操作符都能被重载。除了 . , .* , : , ? : , sizeof , typeid 这几个运算符不能被重载,其他运算符都能被重载。 .表示成员选择 .*表示指向成员操作的指针 ?=表示条件操作expr?expr:expr 第3题: 下列的模板说明中,正确的有( ) A、template typename T1, typename T2 B、template class T1, T2 C、template class T1, class T2 D、template typename T1; typename T2 答案:AC 解析: D的分号是错的; B的参数T

3、2前加class 或者typename 第4题: In C+, which of the following keyword(s) can be used on both a variable and a function? A、static B、virtual C、extern D、inline E、const 答案:A C E 第5题: Which of the following statement(s) equal(s) value 1 in C programming language? A、the return value of main function if program e

4、nds normally B、return (71) C、char *str=microsoft; return str=microsoft D、return microsoft=microsoft E、None of the above 答案:BCD 解析:A.main胜利返回,是0 B. 按位与 71 = 111 001 = 001 即 1 C.str这个指针就是指向microsoft这个字符串常量的地址,所以,str = microsoft 自然是成立的, D. 两个相同的字符串常量是放在同一个内存地址的,所以也相等, 答案为BCD 第6题: 下列定义语句中,错误的是 A int px*

5、; B char*acp10; C char(*pac)10; D int(*p)(); 答案:A 第7题: 抽象基类是指( ) A 嵌套类 B 派生类 C 含有纯虚函数 D 多继承类 答案:C 【解析】抽象基类是指含有纯虚函数,不能够实例化的基类。 第8题: 给出以下定义,下列哪些操作是合法的? const char *p1 = “hello”; char *const p2 = “world”; A p1+; B p12 = w; C p22 = l; D p2+; 答案:A 解析: p1是指向字符常量的指针,p1本身不是常量,所以p1+合法,A正确。 p2本身是指针常量,可以指向特别量的

6、字符。但是hello这样声明的字符串是存储在只读存储区的,不行修改,所以B,C,D都错误。 第9题: 关于IP地址下列说法错误的是? A IP地址采纳分层结构,它由网络号与主机号两部分组成 B 依据不同的取值范围IP地址可以分为五类 C 202.112.139.140属于B类地址 D 每个C类网络最多包含254台主机 E IPv6采纳128位地址长度 F 私有地址只是ABC类地址的一部分 答案:C 解析: 最初设计互联网络时,为了便于寻址以及层次化构造网络,IP地址采纳分层结构,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的全部主机都使用同一个网络ID,网络上的一

7、个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址依据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。 1 A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必需是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。2 B类IP地址一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必需是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。

8、3 C类IP地址一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必需是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。4 D类地址用于多点广播(Multicast)。D类IP地址第一个字节以“lll0”开头,它是一个特地保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。5 E类IP地址以“llll0”开头,为将来使用保留。 在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围

9、如下: A类地址:10.0.0.010.255.255.255 B类地址:172.16.0.0172.31.255.255 C类地址:192.168.0.0192.168.255.255 另外IPv6地址长度为128位,是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。 第10题: 对于二分查找算法下面描述正确的是哪个? A 只能用于数组 B 只能用于链表 C 只能在已经排序的数据上进行查找 D 最坏状况下时间简单度是O(N*logN) 答案:A,C 错误分析: B:链表不支持随机访问. D

10、:最坏状况下时间简单度是 O(logN). 第11题: 用来检查到一台主机的网络层是否连通命令是( )? A PING B TRACERT C TELNET D IPCONFIG 答案:A 解析: ping命令通过发送ICMP数据包检测网络层是否连通tracert是用来跟踪路由的命令telnet命令式通过telnet协议和另一主机相联。ipconfig是查看ip地址信息 第12题: 类B从类A派生,则类B可以访问类A中的( )成员? A public成员 B private成员 C protected成员 D 数据成员 E 函数成员 答案:AC 解析:private成员只能在当前类中访问,派生

11、类可以访问父类的public和protected属性成员 第13题: 路由器转发数据包到非直接网段的过程中,依靠下列哪一个选项来查找下一跳地址( ) A 帧头 B IP报文头部 C SSAP子段 D DSAP子段 答案:B 解析: 路由器工作在OSI的网络层,转发的数据包是IP报文。 IP报文的头部有源IP和目的IP 路由器依据目的ip计算出iP所在的网段,依据网段转发到不同的端口。 假如在路由表中没有该网段的转发端口,则转发至默认路由端口 第14题: IPv6地址占_个字节 A 4 B 6 C 8 D 16 答案:D 解析:IPv6二进位制下为128位(16字节)长度,以16位为一组,每组以

12、冒号:隔开,可以分为8组,每组以4位十六进制方式表示。 第15题: 以下说法正确的是: A 在并行程度中,当两个并行的线程,在没有任何约束的状况下,访问一个共享变量或者共享对象的一个域,而且至少要有一个操作是写操作,就可能发生数据竞争错误。 B 原语Compare-and-swap(CAS)是实现无锁数据结构的通用原语。 C 获得内部锁的唯一途径是:进入这个内部锁爱护的同步块或方法。 D volatile变量具有synchronized的可见性特性,但是不具备原子特性。 E 减小竞争发生可能性的有效方式是尽可能缩短把持锁的时间 答案:A D 第16题: 二、解答题 调用动态连接库的函数有哪几种

13、方法? 调用一个DLL中的函数有两种方法: 1载入时动态链接(load-time dynamic linking),模块特别明确调用某个导出函数,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的导入库,导入库向系统供应了载入DLL时所需的信息及DLL函数定位。 2运行时动态链接(run-time dynamic linking),运行时可以通过LoadLibrary或LoadLibraryEx函数载入DLL。DLL载入后,模块可以通过调用GetProcAddress猎取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。如此即可避开导入库文件了。 第17题: WM

14、_QUIT消息的用途是什么?一个一般的Windows窗口能收到的最终一条消息是什么? WM_QUIT通知程序退出,一般状况下在主线程中会有一个循环如下: while(GetMessage() TranslateMessage(msg); DispatchMessage(msg); 假如GetMessage获得的是WM_QUIT消息,GetMessage便会返回FALSE,导致while循环退出,一般状况下,程序也会退出。windows窗口不会受到WM_QUIT消息。 一般Windows窗口能收到的最终一条消息时WM_DESTROY。 第18题: 有pqueue.h如下 #ifndef HEAD

15、ER_PQUEUE_H #define HEADER_PQUEUE_H typedef struct_pqueue pitem *items; int count; pqueue_s; typedef struct_pqueue *pqueue; typedef struct_pitem unsigned char priority8; void *data; struct_pitem *next; pitem; typedef struct_pitem *piterator; pitem *pitem_new(unsigned char *prio64be,void *data); void

16、 pitem_free(pitem *item); pqueue pqueue_new(void); void pqueue_free(pqueue pq); pitem *pqueue_insert(pqueue pq,pitem *item); pitem *pqueue_peek(pqueue pq); pitem *pqueue_pop(pqueue pq); pitem *pqueue_find(pqueue pq,unsigned char *prio64be); pitem *pqueue_iterator(pqueue pq); pitem *pqueue_next(piter

17、ator *iter); int pqueue_size(pqueue pq); #endif /*! HEADER_PQUEUE_H */ pq_test.c如下: #includestdlib.h #includestring.h #includepqueue.h /*remember to change expected.txt if you change there values*/ unsigned char prio18=supercal; unsigned char prio28=ifragili; unsigned char prio38=sticexpi; static vo

18、id pqueue_print(pqueue pq) pitem *iter,*item; iter=pqueue_iterator(pq); for(item=pqueue_next(iter);item!=NULL; item=pqueue_next(iter) printf(itemt%02x%02x%02x%02x%02x%02x%02x%02xn, item -priority0,item-priority1, item -priority2,item-priority3, item -priority4,item-priority5, item -priority6,item-pr

19、iority7, int main(void) pitem *item; pqueue pq; pq=pqueue_new(); item=pitem_new(prio3,NULL); pqueue_insert(pq,item); item=pitem_new(prio1,NULL); pqueue_insert(pq,item); item=pitem_new(prio2,NULL); pqueue_insert(pq,item); item=pqueue_find(pq,prio1); fprintf(stderr,found %pn,item-priority); item=pqueu

20、e_find(pq,prio2); fprintf(stderr,found %pn,item-priority); item=pqueue_find(pq,prio3); fprintf(stderr,found %pn,item-priority); pqueue_print(pq); for(item=pqueue_pop(pq);item!=NULL;item=pqueue_pop(pq) pitem_free(item); pqueue_free(pq); return 0; pq_test.sh如下: #!/bin/sh set -e ./pq_test | cmp $srcdir

21、/pq_expected.txt- pq_expected.txt如下: item 6966726167696c69 item 7374696365787069 item 737570657263616c 1.依据测试代码描述pqueue的工作原理。 2.请实现 pitem *pqueue_insert(pqueue pq,pitem *item); 测试文件的内容输出的是struct_pitem结构中的priority字段的16进制形式,将其转换为字符串正好是通过pqueue_insert函数放入到pqueue结构中的prio3、prio1、prio2的值。通过观看测试文件中每一行的值可以发觉对应的字符串序列为prio3、prio2、prio1,跟插入字符串的挨次并不全都,说明pqueue既不是先进先出(队列),也不是后进先出(栈)。 另外,通过观看测试文件可以发觉测试文件中的字符串是根据从小到大排列的,而且struct_pitem中的prior

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论