Appearance
C++ 面试八股整理
本目录基于 xiaolincoding.com C++面试题、cppguide.cn (张小方) 等社区资源,结合各大厂 C++ 后端/客户端/游戏岗位常见考点整理。
用途:面试速查 + 深度理解原理,每个专题包含「核心考点」「高频问答」「手写实现思路」。
目录导航
通用 C++ 八股(基础层)
| 专题文件夹 | 覆盖内容 | 优先级 |
|---|---|---|
stl/ | STL 容器原理、迭代器失效、手写实现 | ⭐⭐⭐⭐⭐ |
smart-pointers/ | 智能指针原理与手写 | ⭐⭐⭐⭐⭐ |
oop/ | 面向对象、虚函数、多态、内存布局 | ⭐⭐⭐⭐⭐ |
memory/ | 内存管理、malloc/new、内存对齐 | ⭐⭐⭐⭐ |
modern-cpp/ | C++11/14/17/20 新特性 + 深度(ranges/views/format) | ⭐⭐⭐⭐ |
fundamental/ | C++ 基础语法(指针、const、static、cast…) | ⭐⭐⭐ |
oop/ | 面向对象、虚函数、多态、继承/虚继承、RTTI | ⭐⭐⭐⭐⭐ |
debugging/ | 崩溃定位、core dump、GDB、Sanitizer(问题排查组) | ⭐⭐⭐⭐ |
misc/ | 难归类边角语法 + 开放/项目向自检 | ⭐⭐⭐ |
HPC / AI-Infra 深度层(面向高性能方向)
| 专题文件夹 | 覆盖内容 | 优先级 |
|---|---|---|
concurrency/ | 线程/线程池/无锁/锁优化/并行算法/协程(含并发深度) | ⭐⭐⭐⭐⭐ |
performance/ | 缓存模型、allocator/内存池、SoA、perf 瓶颈定位 | ⭐⭐⭐⭐⭐ |
metaprogramming/ | 模板基础/SFINAE/type_traits/constexpr 元编程/CRTP/concepts/推导 | ⭐⭐⭐⭐⭐ |
build/ | 编译流程、静态/动态库、-O/LTO/PGO、ABI/符号 | ⭐⭐⭐⭐ |
lowlevel/ | SIMD、CPU 硬件/乱序/依赖链、cache、NUMA、计时 | ⭐⭐⭐⭐⭐ |
ai-infra/ | GPU/CUDA、RDMA/NCCL 高性能网络、算子编译 | ⭐⭐⭐ |
想按通用岗准备用上半区;投 HPC / AI Infra 用下半区 + 上半区 concurrency/modern-cpp/memory 打底。
面试高频 Top 问题(必背)
- 手写
shared_ptr/unique_ptr(含引用计数、线程安全) vector底层扩容机制、push_backvsemplace_backmapvsunordered_map底层实现与选型- 虚函数表(vtable/vptr)内存布局、多态实现原理
- 为什么析构函数要声明为虚函数?构造函数为什么不能?
malloc/new、free/delete的区别与底层实现- 内存对齐规则与 struct 大小计算
- 左值右值、移动语义、
std::move、完美转发 - 迭代器失效的场景
static/const/volatile/extern关键字全解
使用建议
- 第一遍:按「必背 Top10」把 stl、smart-pointers、oop、memory 四个文件夹吃透。
- 第二遍:补齐 fundamental 与 modern-cpp 中的冷门细节。
- 冲刺:对着每个
index.md的「问题清单」自问自答,卡壳处回到对应专题 md。
提示:面试官喜欢追问「为什么」。每个专题尽量不只背结论,要能说出底层原理。