c++开发一面1.const一般使用2、list和vector底层3、二维数组和元素为数组的一维数组有什么区别4、unordermap和map区别 底层结构 红黑树定义5、还问了很多基础的C++,我忘记了1)树的遍历方法,深度和广度2) 中序遍历用递归和非递归怎么实现3) 反转链表算法思路是什么4)memcpy和memmove区别是什么5)说一下对指针的理解 const和指针怎么结合使用6)用过那些锁 研究过这些锁底层是怎么实现的吗7)虚继承原理6、tcp和udp区别,为什么是三次握手,如何让udp也可靠7、send和receive什么时候阻塞,socket读写操作如何实现非阻塞7、epoll底层怎么实现的 为什么高性能8、epoll和select区别9、Linux IPC方法有哪些 如何实现线程安全10、A*算法原理11、迪杰斯特拉算法描述,他找到的路径一定是最优秀的吗12、反问二面1、malloc和realloc2、const使用场景3、如何设计一个内存池来适应不同的对象(这个问题疯狂的问,如何考虑虚指针、虚基表等问题,返回类型为void* 如何转化为不同类型)4、udp传很大很多的数据会发生什么(后面说会分包)5、static int i;int j=i++;return j;这个代码问我一系列问题1)会发生线程安全吗?2)在汇编 cpu层面经过了几个过程3)两个线程各自调用10次,打印的是19吗4)大哥太牛逼了真的 问的太深了 给我讲了什么地址总线 逻辑门啥的5)volatile关键字能解决线程安全吗?底层会发什么什么6)怎么解决这个线程安全问题呢7)atomic和互斥锁底层怎么实现的6、如何设计一个消息队列,Get的具体设计(wait这个函数的几个参数)7、send函数阻塞为什么 receive返回0表示什么8、vector怎么删掉多个指定的元素 A*算法个迪杰斯特拉算法思路9、向量向量积和内积怎么算10、函数向量积怎么算11、函数正交积是什么 大哥太牛逼了 科普了一堆逆傅里叶变换啥的问题 各种积分问题 太牛逼了真的总结下来就是 大哥太牛逼了 从没被这么拷打过后续oc了,给的太低就拒绝了 还要求提前实习 接受不了