2017腾讯校招笔试题第一套解答
考察函数的压栈,当然与具体的编译平台有关
这个很容易画出来
这种题目必会,不用完全画出来, 只需要锁定答案即可
这个题目根据目标推断出来
不会继承进程地址空间,会新开辟一块地址
这个题目经常会考
微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的最小单位叫做“簇”
扇区:硬盘不是一次读写一个字节而是一次读写一个扇区(512个字节)
簇:系统读读写文件的基本单位,一般为2的n次方个扇区(由文件系统决定)
考察栈的基础
用二进制编码,这道比较难
我看见很多人说不理解为什么可以把比赛的场数转换成二进制来表示,我觉得需要说明一下的就是,用三位二进制来表示某个人三场比赛各场比赛所在的一方,比如我们用0代表在天灾,1代表在近卫,那么000就代表这个人三场比赛都在天灾,而001表示这个人前两场比赛在天灾,第三场比赛在近卫。那么三位二进制可以有8种表示,而每一种表示都与其他7种的表示至少在一个位置上的数字是不一样的,所以最多8人至少三场可以每个人都做过对手。
A:DNS就是将域名翻译成IP地址。
B:主要用UDP,但是当请求字节过长超过512字节时用TCP协议,将其分割成多个片段传输。
C:DNS协议默认端口号是53。
D:操作系统的DNS缓存:windows DNS缓存的默认值是 MaxCacheTTL,它的默认值是86400s,也就是一天。macOS 严格遵循DNS协议中的TTL。
游览器的DNS缓存:chrome对每个域名会默认缓存60s;IE将DNS缓存30min;Firefox默认缓存时间只有1分钟;Safari约为10S。
虚函数基础知识
经典的虚函数例子
我觉得最高票答案,把问题简单化了,析构的时候,的确是先调用派生类的析构函数、然后调用基类的析构函数。
但是我们要看这道题,这里还考了一个虚析构函数的考点,如果基类的析构函数不是虚函数,那么,像这种定义一个基类的指针,指向一个派生类的对象,当你delete这个基类的指针时,它仅调用基类的析构函数,并不调用派生类的析构函数。
如果基类的析构函数是虚函数,delete基类的指针时,不仅会调用基类的析构函数,还会调用派生类的析构函数。
而调用的顺序是先调用派生类的析构函数、然后调用基类的析构函数。
C++ 简单题目
这道题比较简单,34后面一定是17,18,所以选B
for循环4次,里面的x值一直在变
只带入不组合,一定要记住
4+5*4+5*4+5*4+5=69
这道题看上去很难,实则故弄玄虚
内存对齐基础题目
由后序遍历和中序遍历生成前序遍历的题目比较少,要仔细
8+8+32 = 48 内存对齐
3*48 = 144 偏移量
根据字节对齐,在64位系统下struct st_t 结构体占用的字节为48个。
struct st_t {
int status; //占用8个(后面的4个为对齐位)
short *pdata;//占用8个
char errstr[32];//占用32个
};
char *p=(char *)(st[2].esstr+32),p实际指向了st[3]
则p-(char *)(st)),即为&st[3]-&st[0],占用空间为3个结构体的大小,即3*48=144,选D
很容易,猜平均一次就抽一张黑牌, 就可以抽中一张红牌
a[i]数组就是 2 1 4 3 6
5 8 7 9 10
这个就是指针数组