1. class 和 struct 的区别
2. static关键字的作用
3. 定义一个static成员函数有什么作用
4. static变量存在哪个区
5. static成员函数可以访问普通的成员函数和成员变量吗?为什么不能
6. 为什么是多态,如何实现多态
7. 重载和重写的区别
8. C++内存分区有哪些,static变量和函数内部创建的普通变量在哪个区
9. 使用malloc申请了一个数组的内存,如何释放
10. 如何避免野指针
11. new 和 malloc的区别
12. 讲一下C++里面的强制类型转换和区别
13. C++空类有哪些默认的函数
14. 引用和指针的区别
15. 析构函数为什么要定义为虚函数
16. 使用过makefile、cmake、gcc吗?gdb用过没
17. 讲一下linux下你用过的命令
18. docker在linux上是怎么部署的
19. 讲一下LT和ET是什么,区别呢
20. 怎么解决线程安全问题?都使用过什么锁,用的哪个多线程库
21. 如何解决内存泄露
22. 智能指针的原理
23. 讲一下C++20协程的实现原理,使用场景是哪些,如何使用
24. redis中zset的底层数据结构是什么,为什么用这个
25. redis中如何设置缓存过期时间
26. 二叉树随机删除某个节点怎么做
27. 哈希表和红黑树的区别,时间复杂度,空间复杂度,区别和使用场景等
28. 讲一下unordered_map和map,什么场景下会使用
29. 讲一下迭代器失效
30. 使用迭代器循环,安全删除vector中满足条件的元素怎么写。
31. 讲一下lambda表达式
32. svn是否用过
33. MyISAM 和InnoDB的区别
34. 讲一下MySQL中的索引
最后:感觉今天答的还可以,不过还需要加强数据库方面的知识,加上C++的一些基础知识好久没看,虽然之前理解了,也会避开这些坑,但是却不知道原理了。其实都看过,也理解了,但是真正面试时还是说不出来,想不起来,继续加油吧!