8.3 投递8.10 笔试 ak 了8.18 一面1、C++ 内存泄露怎么排查2、指针和引用区别3、const_cast 作用4、static_cast 和 dynamic_cast 作用和区别5、map 和 unordered_map 区别6、unordered_map 大量哈希冲突怎么解决7、vector里存自定义类型,怎么拷贝8、虚拟内存和物理内存9、数据库为什么用 B+ 树不用红黑树10、tcp 和 udp 区别11、tcp 怎么优化12、场景设计题:有一个主线程处理游戏逻辑,和一些工作线程处理io,有客户端发来请求,怎么设计系统模型写代码:无序数组使得每个元素与相邻元素都不相同8.22 二面二面压力好大,面试官一直深入问到不会为止,不过面试官人很好,不会了会给引导和解释开场两道题,要求15-20min内尽可能快和一遍过:链表判环 & atoi1、为什么想做游戏2、C++ 中的 static 修饰全局、局部、类的成员变量的作用,初始化时机3、单例的实现方式4、线程安全吗,怎么保证5、局部 static 的方式线程安全吗6、MTU 是什么,什么作用7、tcp 和 udp 什么区别8、socket NO_DELAY 作用9、REUSE_ADDRESS 和 REUSE_PORT 作用10、为什么 time_wait11、为什么要设计 reuse 这个配置,解决什么问题12、shared_ptr 线程安全吗,哪些安全,哪些不安全13、两个线程将同一个 shared_ptr 调用拷贝赋值到一个新的对象上,线程安全吗,为什么14、weak_ptr 作用15、shared_ptr 释放了资源,weak_ptr 怎么知道16、控制块释放时机17、虚拟内存和物理内存18、一个进程虚拟内存很大,物理内存很小,有什么风险吗19、epoll 的两种模式20、要发送一个很大的数据,epoll两种模式有什么区别21、你说的接收端的两种模式区别没问题,如果发送方也用epoll,两种模式有什么区别呢22、怎么看一个进程的性能23、你说了 cpu 内存,io 怎么看24、malloc 分配的内存,free 怎么知道大小25、tcmalloc 怎么做的了解吗26、redis 怎么实现分布式锁27、乐观锁悲观锁大概就记得这些了8.26 三面