嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
c 面试最常见的题目
目录
C 篇
1. C 和 C
1.1 struct 和 class 区别
2. 对象
2.1 什么是面向对象?
2.2 构造函数和析构函数可不可以为虚函数,为什么?
2.3 拷贝构造函数如果用值传递会有什么影响?
2.4 如何限制一个类对象只能在堆(栈)上分配空间
2.5 public protected private
2.6 类都有哪几种构造方式?
2.7 拷贝构造函数参数中为什么有时候要加const
2.8 常量左值引用
3. 多态
3.1 什么是多态?
3.2 继承和多态区别与联系?
3.3 虚函数可以内联吗?
4. 内存管理
4.1 new 和malloc 的区别
4.2 C 的内存分配
4.3 简述c、C 程序编译的内存分配情况
5. 关键字
5.1 extern 和 static 的区别,什么情况用前者什么情况用后者
5.2 声明和定义的区别
5.3 引用会占用内存空间吗?
5.4 strcpy和memcpy的区别,现场要求手撕代码
5.5 关于模板是否可以定义虚函数
6. 运算操作符
6.1 x=x 1,x =1,x 哪个效率高
C
1.编译内存相关
1.1 C 程序编译过程
1.2 内存管理
1.3 栈和堆的区别
1.4 变量的区别
1.5 全局变量定义在头文件中有什么问题?
1.6 对象创建限制在堆或栈
1.7 内存对齐
1.8 类的大小
1.9 什么是内存泄漏
1.10 智能指针有哪几种?智能指针的实现原理?
1.11 一个 unique_ptr 怎么赋值给另一个 unique_ptr 对象?
1.12 使用智能指针会出现什么问题?怎么解决?
2. 语言对比
2.1 C 11 新特性
2.2 C和C 的区别
3. 面向对象
3.1 什么是面向对象
3.2 重载、重写、隐藏的区别
3.3 什么是多态?多态如何实现?
4. 关键字库函数
4.1 sizeof 和 strlen 的区别
4.2 lambda 表达式(匿名函数)的具体应用和使用场景
4.3 explicit 的作用(如何避免编译器进行隐式类型转换)
4.4 static 的作用
4.5 static在类中使用的注意事项(定义、初始化和使用)***
4.6 static 全局变量和普通全局变量的异同
4.7 const 作用及用法
4.8 define 和 const 的区别
4.9 define 和 typedef 的区别
4.10 用宏实现比较大小,以及两个数中的最小值
4.11 inline 作用及使用方法
4.12 inline 函数工作原理
4.13 宏定义(define)和内联函数(inline)的区别
4.14 new 的作用?
4.15 new 和 malloc 如何判断是否申请到内存?
4.16 delete 实现原理?delete 和 delete[] 的区别?
4.17 new 和 malloc 的区别,delete 和 free 的区别
4.18 malloc 的原理?malloc 的底层实现?
4.19 C 和 C struct 的区别?
4.20 为什么有了 class 还保留 struct?
4.21 struct 和 union 的区别
4.22 class 和 struct 的异同
4.23 volatile 的作用?是否具有原子性,对编译器有什么影响?
4.24 什么情况下一定要用 volatile, 能否和 const 一起使用?
4.25 extern C 的作用?
4.26 sizeof(1==1) 在 C 和 C 中分别是什么结果?
4.27 memcpy 函数的底层原理?
4.28 strcpy 函数有什么缺陷?
4.29 auto 类型推导的原理
5. 类相关
5.1 什么是虚函数?什么是纯虚函数?
5.1 虚函数和纯虚函数的区别?
5.2 虚函数的实现机制
5.3 单继承和多继承的虚函数表结构
5.4 如何禁止构造函数的使用?
5.5 什么是类的默认构造函数?
5.6 构造函数、析构函数是否需要定义成虚函数?为什么?
5.7 如何避免拷贝?
5.8 如何减少构造函数开销?
5.9 多重继承时会出现什么状况?如何解决?
5.10 空类占多少字节?C 编译器会给一个空类自动生成哪些函数?
5.11 为什么拷贝构造函数必须为引用?
5.12 C 类对象的初始化顺序
5.13 如何禁止一个类被实例化?
5.14 为什么用成员初始化列表会快一些?
5.15 实例化一个对象需要哪几个阶段
5.16 友元函数的作用及使用场景
5.17 静态绑定和动态绑定是怎么实现的?
5.18 深拷贝和浅拷贝的区别 ***
5.19 编译时多态和运行时多态的区别
5.20 实现一个类成员函数,要求不允许修改类的成员变量?
5.21 如何让类不能被继承?
6. 语言特性相关
6.1 左值和右值的区别?左值引用和右值引用的区别,如何将左值转换成右值?
6.2 std::move() 函数的实现原理
6.3 什么是指针?指针的大小及用法?
6.4 什么是野指针和悬空指针?
6.5 C 11 nullptr 比 NULL 优势
6.6 指针和引用的区别?
6.7 常量指针和指针常量的区别
6.8 函数指针和指针函数的区别
6.9 强制类型转换***
6.10 如何判断结构体是否相等?能否用 memcmp 函数判断结构体相等?
6.11 参数传递时,值传递、引用传递、指针传递的区别?
6.12 什么是模板?如何实现?
6.13 函数模板和类模板的区别?
6.14 什么是可变参数模板?
6.15 什么是模板特化?为什么特化?
6.16 include " " 和 <> 的区别
6.17 迭代器的作用?
6.18 泛型编程如何实现?
多线程交替打印奇偶数***
单例模式例程***