【面经】C++面试题总结
1. C和C++的区别是什么?
2. 如何理解封装、继承和多态?
3. 多态的定义和实现方法是什么?
4. 虚函数的作用及其实现原理是什么?
5. 深拷贝和浅拷贝有什么区别?
6. 如何实现虚函数和纯虚函数?
7. 为什么要有纯虚函数?
8. 为什么要有虚析构函数?
9. 构造函数能否是虚函数?
10. C++中构造函数能有返回值吗?
11. 构造函数和析构函数能被继承吗?
12. C++中Overload、Overwrite及Override的区别是什么?
13. 一个空的class类里有什么?
14. 一个空类的大小为什么是1?
15. 一个结构体中有一个int,一个char,一个static int,问这个结构体占多少内存?
16. 结构体与联合体的区别是什么?
17. 函数与宏的差别是什么?
18. 宏函数和inline函数的异同点是什么?
19. #define 和 typedef 的区别是什么?
20. 标准C++中的#include ""与<>的区别是什么?
21. C++的内存管理机制是什么?
22. C语言中的malloc/free和C++中的new/delete的区别和联系是什么?
23. 迭代和递归的区别是什么?
24. 不可操作的操作符有哪些?
25. C++关键字mutable的作用是什么?
26. 引用与指针有什么区别?
27. 什么是黑盒测试和白盒测试?
28. 你知道的类模版有哪些?
29. new可以搭配free吗,为什么?
30. C++异常的处理方式是什么?
31. 如何查看内存泄漏?
32. 内存泄漏的解决方案有哪些?
33. 什么是内存溢出?
34. 内存溢出的解决方案是什么?
35. 函数指针与指针函数分别是什么?
36. C++11的新特性有哪些?
37. 接口和抽象类的区别是什么?
38. struct和class的区别是什么?
39. 预编译在做些什么事情?
40. 可执行文件编译过程是什么?
41. 动态库和静态库的区别是什么?
42. 堆和栈的区别,以及为什么栈效率高?
43. 栈的效率高的原因是什么?
44. 函数参数压栈方式为什么是从右到左的?
45. 请你来说一下C++中的智能指针。
46. 基类里private成员函数可以声明为虚函数吗?
47. const函数和非const函数可以实现重载吗?
48. 函数A调用函数B的时候,有什么需要压栈?
49. 数组和指针的区别是什么?
50. 数组和链表的区别是什么?
51. 双向链表和单向链表的区别是什么?
52. vector的底层实现是什么?
53. vector的resize()和reserve()方法有什么区别?
54. vector与list的区别是什么?
以上内容摘自牛客官方专刊《c++/嵌入式面经专栏》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:
2. 如何理解封装、继承和多态?
3. 多态的定义和实现方法是什么?
4. 虚函数的作用及其实现原理是什么?
5. 深拷贝和浅拷贝有什么区别?
6. 如何实现虚函数和纯虚函数?
7. 为什么要有纯虚函数?
8. 为什么要有虚析构函数?
9. 构造函数能否是虚函数?
10. C++中构造函数能有返回值吗?
11. 构造函数和析构函数能被继承吗?
12. C++中Overload、Overwrite及Override的区别是什么?
13. 一个空的class类里有什么?
14. 一个空类的大小为什么是1?
15. 一个结构体中有一个int,一个char,一个static int,问这个结构体占多少内存?
16. 结构体与联合体的区别是什么?
17. 函数与宏的差别是什么?
18. 宏函数和inline函数的异同点是什么?
19. #define 和 typedef 的区别是什么?
20. 标准C++中的#include ""与<>的区别是什么?
21. C++的内存管理机制是什么?
22. C语言中的malloc/free和C++中的new/delete的区别和联系是什么?
23. 迭代和递归的区别是什么?
24. 不可操作的操作符有哪些?
25. C++关键字mutable的作用是什么?
26. 引用与指针有什么区别?
27. 什么是黑盒测试和白盒测试?
28. 你知道的类模版有哪些?
29. new可以搭配free吗,为什么?
30. C++异常的处理方式是什么?
31. 如何查看内存泄漏?
32. 内存泄漏的解决方案有哪些?
33. 什么是内存溢出?
34. 内存溢出的解决方案是什么?
35. 函数指针与指针函数分别是什么?
36. C++11的新特性有哪些?
37. 接口和抽象类的区别是什么?
38. struct和class的区别是什么?
39. 预编译在做些什么事情?
40. 可执行文件编译过程是什么?
41. 动态库和静态库的区别是什么?
42. 堆和栈的区别,以及为什么栈效率高?
43. 栈的效率高的原因是什么?
44. 函数参数压栈方式为什么是从右到左的?
45. 请你来说一下C++中的智能指针。
46. 基类里private成员函数可以声明为虚函数吗?
47. const函数和非const函数可以实现重载吗?
48. 函数A调用函数B的时候,有什么需要压栈?
49. 数组和指针的区别是什么?
50. 数组和链表的区别是什么?
51. 双向链表和单向链表的区别是什么?
52. vector的底层实现是什么?
53. vector的resize()和reserve()方法有什么区别?
54. vector与list的区别是什么?
以上内容摘自牛客官方专刊《c++/嵌入式面经专栏》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:
c++/嵌入式面经专栏-牛客网
https://gw-c.nowcoder.com/api/sparta/jump/link?link=https%3A%2F%2Fwww.nowcoder.com%2Fcreation%2Fmanager%2FcolumnDetail%2FMJNwoM
全部评论
相关推荐
07-01 14:16
门头沟学院 硬件开发 点赞 评论 收藏
分享
07-02 17:55
杭州电子科技大学 测试工程师 点赞 评论 收藏
分享