C++八股文面经总结,收藏起来慢慢背!

1. C++11有什么新特性?
2. 函数有哪些常见的传参方式,有何区别?
3. 指针和引用有什么区别?
4. 指针常量和常量指针有何区别?
5. 常见的内存泄漏发生场景有哪些?
6. 常见的内存泄漏检测工具?
7. 虚拟内存和物理内存的区别?
8. 内存空间有哪些区域?分别是做什么的?
9. 段页式内存管理有何优点?
10. 说一下智能指针?
11. 内联函数是什么?和宏有何区别?它有什么优缺点?什么情况不能内联?
12. 说一下多态的底层原理?为什么要有多态,直接静态重写不好吗?
13. C++空类的大小是多少?如果空类内含有虚函数,类的大小又是多少?
14. 讲讲内存对齐?
15. 虚函数可以是模板函数吗?
16. 虚函数可以内联吗?
17. 32位Linux系统的寻址空间是多大?进程能申请的内存有这么大吗?
18. Linux系统中进程默认栈空间是多大?如何修改?
19. Linux系统中调试崩溃问题的流程是?
20. 栈溢出一般是由哪些原因导致?
21. Static关键字有什么用?static变量修饰全局、函数内和类内变量时,分别在什么时候进行初始化?
22. 初始化列表有什么好处?哪些成员变量必须通过初始化列表初始化?
23. 什么是右值引用?说一下什么是移动语义及使用场景?
24. Malloc/free和new/delete有什么区别?
25. Vector和List有什么区别?讲一下vector动态扩展的原理?
26. Vector动态扩展时,编译器为什么不先判断一下原有空间后面的内存是否空闲,如果空闲,直接在后面的内存空间继续分配空间?(从内存池角度回答)
27. Unordered_map和map,unordered_set和set,分别有什么区别,它们的底层数据结构是什么?
28. priority_queue优先级队列的底层数据结构是什么?操作的时间复杂度是什么?
29. 红黑树与AVL树有什么区别?与堆有什么区别?与跳表有什么区别?
30. 如果让你用一维数组模拟一个大根堆,你怎么实现?
问题答案已经整理到专栏中了,关注我分享更多知识。
全部评论

相关推荐

评论
11
50
分享

创作者周榜

更多
牛客网
牛客企业服务