百度C++二面面经2021-07-14
1、自我介绍。
2、介绍一下单例模式,都有哪些分类,如何实现线程安全?手写单例模式。
3、算法1:给定一个数组和一个数,删除这个数,包括重复元素。
4、算法2:大数减法。
5、说说vector、map、unordered_map的底层实现,unordered_map解决冲突的方法,什么时候需要数组扩容?大小为什么是质数?
6、stl是线程安全的吗?(不是)
7、都用过哪些锁?自旋锁说一下。
8、mmap了解吗?与write的区别是什么?
9、IO多路复用都有什么,都有什么区别?ET与LT的区别是什么?
10、线程池是什么?怎么实现?
11、项目用的什么数据库?数据量大不大?
12、项目中LRU缓存是存到哪里的?
13、数据库的存储引擎都有什么?都有什么区别?
14、事务是什么?都有什么特性?具体说说。
15、数据库中都有哪些日志?redo是什么?什么时候用?