一、C++语言核心
构造函数与虚函数
构造函数为何不能声明为虚函数?
static函数能否为虚函数?
explicit的作用及使用场景。
内存管理
new与malloc的区别(类型安全、构造函数调用)
野指针与内存泄漏的规避策略
空类的大小及默认生成的函数(构造/析构/拷贝等)。
关键字深挖
const修饰指针的四种形式(int const* vs int* const)
volatile的应用场景(中断共享变量、硬件寄存器)
static在局部/全局变量及函数中的作用。
面向对象
虚函数表(vtable)的机制
纯虚函数与抽象类的定义
移动构造与拷贝构造的性能差异。

二、内存与资源管理
动态内存操作
vector扩容机制(2倍扩容、resize vs reserve)
push_back()与emplace_back()的性能差异
智能指针(unique_ptr/shared_ptr)的使用场景。
数据存储与访问
结构体与联合体(struct/union)的内存对齐规则
位域(Bit-field)的应用与限制
大小端判断程序实现。
三、多线程与并发
线程控制
线程状态(就绪/运行/阻塞)及线程锁类型(互斥锁/读写锁)
线程同步手段(信号量/条件变量/原子操作)
乐观锁与悲观锁的区别。
资源竞争
竞争条件(Race Condition)的成因
死锁的预防与检测
无锁编程的实现条件。
四、硬件与系统交互
硬件关联
寄存器映射中的volatile使用
中断服务程序(ISR)的编写约束(不可阻塞、短耗时)
位操作技巧(设置/清除特定位)。
通信协议
SPI的四种工作模式(CPOL/CPHA)
I²C的起始/停止条件及冲突仲裁
UART的波特率与帧格式配置。
五、STL与模板
容器特性
map(红黑树实现)与unordered_map(哈希表实现)的性能差异
哈希冲突解决方法(开放地址法/链地址法)
迭代器失效场景(如vector插入时)。
现代C++
完美转发(std::forward)的实现原理
Lambda表达式的捕获方式(值捕获 vs 引用捕获的生命周期风险)
move语义的底层实现(右值引用转换)。
本文凡亿教育原创文章,转载请注明来源!

扫码关注









































