腾讯2017校招开发工程师笔试试题第二套解析
进程之间的通讯方式,选择题考察
指针数组与数组指针,选择题考察,可以凭感觉做出来
int (*p)[4];
//定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型)。
根据指针偏移量的概念 p[1]是一个数组指针,指向第二行的数组指针, 然后p[1][2]再向后便宜两步
1 2 3 4
5 6 7 8
9 0
至少需要记住,DNS协议是域名到IP地址的解析,ARP协议是IP地址到物理地址的解析
需要记住,一个是堆中,一个是字符串常量池中。
TCP发送的数据是有序的,接收端最后整成有序的,但接受的顺序不一定是有序的,会对其再次排序,从而保证结果的有序性。
这道题目有一点难,删去2之后,4的下标变为0,所以4不会被删除, 答案是4,1,3,5
64位系统,指针占8个字节,比较简单
C++ 的类的sizeof题目,比较简单
考察联合体共用地址
最清楚的解释:0x1234
0x12:高位
0x34:低位
结构体中,先声明的是低地址,后声明的是高地址
m:低地址
n:高地址
大端:低位放在高地址:0x34---->n
小端:高位放在高地址:0x12---->n
FTP和HTTP是基于TCP的应用层协议
简单题目
首先用DNS协议解析域名得到IP, ARP协议解析IP得到地址,然后再用的是ICMP协议进行ping,没有用到TCP
考察switch case基本机制
使用只带入不组合的方法,
++a+b*++b+c
首先++a后 a=2, ++b后b=3
2+3*3+3, 这个等式会先算出*,再算加号14
考察内存对齐知识。
8 12
注意,&p->i = &(p->i) = i的地址,所以19行代码修改了i的地址,所以i不再等于20,而等于-50
看清楚,输出了五个数,*(p++)+=100, 将p[0]变成了101,p此时指向p[1]
在C++中,析构函数的作用是:当一个对象被销毁时,调用析构函数对类对象和对象成员进行释放内存资源。
当我们定义一个指向派生类类型对象指针时,构造函数按照从基类到派生类的顺序被调用,但是当删除指向派生类的基类指针时,派生类的析构函数没有被调用,只是调用了基类的析构函数,此时派生类将会导致内存泄漏
我们需要将基类的析构函数声明为虚函数,此时在调用析构函数的时候是根据ptr指向的具体类型来调用析构函数,此时会调用派生类的析构函数。
第12行, class B1:public A不需要括号
第24行, delete _s, _s是一个指针
第27行,类最后有一个分号
第43行,类后面有一个分号
第47行,new C()
这道题不用IDE很难做出来,不是一道好题目。
度为0的结点总是比度为2的结点多1,即n0 = n2+1;