途游一面 C++
体验最好的一集,全程像打怪闯关,层层推进,整体偏基础。
C++:
1.int取值范围?2^32 + 1 = ?(int情况下)
2.空类占几个字节?class A{ int a, char b} 占几个字节?
3.析构函数为什么最好是虚函数?
5.虚析构函数调用的过程(其实问的是虚函数实现多态的原理)
6.Base * a= nullptr; a可以调用虚函数吗?a可以调用成员函数吗?那a直接调用成员函数肯定会有问题,什么情况下有问题?
7.C++中,在main函数执行的代码有哪些?那全局变量的初始化顺序是怎么样的?
排序:
8.什么是稳定/不稳定排序?
9.假如要对100个玩家,按照等级排序,那么希望调用一次排序函数和调用三次排序函数结果一致,如何实现?除了稳定排序呢?
算法(最好以最优解,如果不是,面试官会提醒改进):
10.一个升序数组,一个降序数组,如何合并成一个升序数组?时间复杂度O(m+n)
11.一个数组,删去其奇数索引的元素,且其他元素相对位置顺序不变,且空间复杂度O(1)