4.2 xx一面
面试经验总结,每个问题找了些博客觉得解答比较好的可以看一下。
1、多重继承
2、内存对齐
关于结构体内存对齐方式的总结(#pragma pack()和alignas())
3、算法题
4、操作系统
自旋锁和互斥锁的区别:
自旋锁:如果线程所请求的资源已经被占用,那么该线程会始终保持活跃的状态,循环等待,不断判断能够进行获取。
互斥锁:如果...已被占用,那么该线程会阻塞等待。
5、数据结构
主要是树的结构,AVL树、B树、B+树、红黑树等等。
注意B树就是B-树,是多路搜索树。
补充一下他们的插入操作,结构变化。
6、static
7、UDP可靠化
8、运算符重载
9、malloc和new的区别
10、C++用迭代器正确删除map元素
11、帧同步
12、B+树
B树 文件索引:效率和平衡二叉树差不多,但是要考虑到B树磁盘加载次数会更少。
哈希表查找效率O(1),但是不适用于模糊搜索的情况。
B+树 数据库索引:非叶子节点只存key,不存其他,一次可以读入更多关键字;减少I/O读取次数;查找效率更稳定一直都是logN。