Skip to content

Latest commit

 

History

History
134 lines (105 loc) · 5.36 KB

File metadata and controls

134 lines (105 loc) · 5.36 KB

C++ 面经

1. 指针与引用的区别
2. 多态与继承之间的区别
3. 重载、重写与重定义的区别
4. 构造函数与析构函数可以是虚函数吗?
5. map和unordered_map区别及其优缺点

6. 说一下你理解的四种智能指针

7. C++ 中内存分配情况

8. C++ 中的指针参数传递和引用参数传递

9. C++ 中 const 和 static 关键字(定义,用途, 区别)

10. C 和 C++ 区别(函数/类/struct/class)

11. 简述C++/Java的区别

12. C++ 里是怎么定义常量的?常量存放在内存的哪个位置

13. C++ 中重载和重写,重定义的区别

14. 介绍 C++ 所有的构造函数

15. C++ 的四种强制转换

16. 指针和引用的区别

17. 野(wild)指针与悬空(dangling)指针有什么区别?如何避免?

18.说⼀下 const 修饰指针如何区分?

19. 简单说⼀下函数指针

20. 堆和栈区别

21. 函数传递参数的几种方式

22.new / delete, malloc / free 区别 23.volatile 和 extern 关键字 24.define和 const 区别(编译阶段、安全性、内存占⽤等) 25.如何计算类的大小 26.面向对象的三大特性,并举例说明 27.多态的实现 28.虚函数相关(虚函数表,虚函数指针),虚函数的实现原理 29.编译器处理虚函数表应该如何处理 30.析构函数⼀般写成虚函数的原因 31.构造函数为什么⼀般不定义为虚函数 32.构造函数或析构函数中调⽤虚函数会怎样 33.析构函数的作用,如何起作用? 34.构造函数的执行顺序?析构函数的执行顺序? 35.纯虚函数 (应用于接⼝继承和实现继承) 36.静态绑定和动态绑定的介绍 37.深拷贝和浅拷贝的区别(举例说明深拷贝的安全性) 38.什么情况下会调用拷贝构造函数(三种情况) 39.为什么拷⻉构造函数必需时引⽤传递,不能是值传递? 40.结构体内存对齐方式和为什么要进⾏内存对⻬? 41.内存泄漏的定义,如何检测与避免? 42.说⼀下平衡二叉树、高度平衡二叉树(AVL) 43.说⼀下红黑树(RB-tree) 44.说⼀下 define、 const、 typedef、 inline 使⽤⽅法? 45.预处理,编译,汇编,链接程序的区别 46.说⼀下 fork, wait, exec 函数 47.动态编译与静态编译 48.动态链接和静态链接区别 49.动态联编与静态联编 50.什么是类的继承? 51.什么是组合? 52.构造函数析构函数可否抛出异常 53.类如何实现只能静态分配和只能动态分配 54.何时需要成员初始化列表?过程是什么? 55.程序员定义的析构函数被扩展的过程? 56.构造函数的执行算法? 57.构造函数的扩展过程? 58.哪些函数不能是虚函数 59.C++ 的 STL 介绍(内存管理, allocator,函数,实现机理,多线程实现等) 60.vector 使⽤的注意点及其原因,频繁对 vector 调⽤ push_back()性能影响 61.map 和 set 有什么区别,分别⼜是怎么实现的? 62.请你来说⼀说 STL 迭代器删除元素 63.请你来说⼀下 STL 中迭代器的作⽤,有指针为何还要迭代器 64.回答⼀下 STL ⾥ resize和 reserve 的区别 65.HelloWorld 程序开始到打印到屏幕上的全过程? 66.手写实现智能指针类 67.⼿写字符串函数 strcat, strcpy, strncpy, memset, memcpy实现 68.C++ 模板是什么,底层怎么实现的? 69.请你来写个函数在 main 函数执行前先运行 70.请你来说⼀下 fork 函数 71.说⼀下 ++i和 i++ 的区别 72.讲讲大端小端,如何检测 73.分别写出 bool, int, float,指针类型的变量a 与“零”的⽐较语句。 74.回调函数的作用 75.C++11 新特性 76.空指针 nullptr 77.Lambda 表达式 78.右值引用 79.泛化的常量表达式 80.初始化列表 81.统⼀的初始化语法 82.类型推导 83.基于范围的for循环 84.构造函数委托 85.final 和 override 86.default 和 delete 87.静态 assertion 88.智能指针 89.正则表达式 90.增强的元组 91.哈希表 92.十大排序算法及其时间和空间复杂度 93.二叉树前中后遍历⼿撕代码(递归和⾮递归) 94.介绍下常用的设计模式? 95.说说⾯对对象中的设计原则 96.单⼀职责原则和接⼝隔离原则的区别 97.单例模式 98.⼯⼚模式 99.观察者模式 100.装饰器模式 101.STL基本算法 102.质变算法和非质变算法 103.输⼊参数 104.算法的泛型化