卡码笔记-最强八股文
首页
计算机基础
C++
Java
Go
🔥大模型🔥
  • 大模型面经
  • Java面经
  • C++面经
简历专栏
代码随想录 (opens new window)
首页
计算机基础
C++
Java
Go
🔥大模型🔥
  • 大模型面经
  • Java面经
  • C++面经
简历专栏
代码随想录 (opens new window)
  • 本栏必读

    • 关于本专栏
    • C++学习路线
      • 第一阶段:C++基础与语法
      • 第二阶段:面向对象
      • 第三阶段:STL与容器
      • 第四阶段:内存管理
      • 第五阶段:现代C++
      • 第六阶段:并发与I/O
      • 第七阶段:计算机基础
      • 第八阶段:大模型与AI编程(2026年必修)
      • 学习节奏建议
      • 几个忠告
    • C++面试题系优化
  • 基础与语法

  • 面向对象

  • STL 与容器

  • 内存管理

  • C++11 与现代 C++

  • 智能指针

  • 并发与 I/O

# C++学习路线:2026年,只刷C++八股已经不够了

录友们,说句大实话:2026年学C++,和5年前学C++,完全是两回事。

5年前你把C++八股背熟,操作系统网络搞明白,大厂基本稳了。现在呢?面试官一边问你虚函数表,一边问你"了解Agent吗?",一边还问你"你平时用什么AI编程工具"。

不是C++不重要了,是只会C++不够了。

这份学习路线,从C++基础一路讲到大模型认知和AI编程,把2026年C++开发者该学的东西一次性给你理清楚。

# 第一阶段:C++基础与语法

这是地基,没得商量。

很多人觉得基础语法简单,面试不会多问。大错特错。 指针和引用的区别、static和const的用法、四种类型转换……这些是最容易被追问、也最容易答不清的问题。

必须掌握:

  • C++三大特性(封装、继承、多态)
  • 指针与引用的区别
  • struct和class的区别
  • static关键字和const关键字
  • extern C的作用
  • volatile关键字
  • inline函数与宏
  • auto和decltype
  • sizeof和strlen
  • 浮点数比较
  • 变量作用域
  • 四种类型转换

对应面试题:C++基础与语法面试题

学习建议:不要只背结论。比如"指针和引用的区别",大多数人能说出3条,面试官一追问"引用底层怎么实现的",就卡住了。每个知识点都要问自己:底层怎么实现的?为什么这么设计?

# 第二阶段:面向对象

C++的核心就是面向对象,面试必考重灾区。

必须掌握:

  • 构造函数(默认、参数化、拷贝、移动、委托)
  • 析构函数与虚析构函数
  • 重载与重写
  • 多态的实现机制
  • 虚函数与纯虚函数
  • 虚函数表与虚函数指针
  • 多重继承与菱形继承
  • 深拷贝与浅拷贝
  • this指针
  • 单例模式

对应面试题:C++面向对象面试题

学习建议:虚函数表是这一阶段的灵魂。搞不懂虚函数表,多态就是背的,不是理解的。 画一张虚函数表的内存布局图,自己推导一遍多态调用的过程,面试时才能说清楚。

# 第三阶段:STL与容器

STL是C++的工程基础,不会用STL基本写不了项目。

必须掌握:

  • 六大组件(容器、迭代器、算法、仿函数、适配器、空间配置器)
  • vector的底层原理和扩容机制
  • map和unordered_map的区别与实现
  • 迭代器失效的场景
  • push_back和emplace_back的区别
  • rehash机制

对应面试题:STL与容器面试题

学习建议:不要只记"vector底层是数组"这种结论。要搞清楚扩容的时候发生了什么——内存分配、元素搬移、旧内存释放,这些细节面试官最爱追问。

# 第四阶段:内存管理

C++最值钱的地方,就是你比别的语言更懂内存。

必须掌握:

  • C++内存分区(栈、堆、全局/静态区、常量区、代码区)
  • 堆和栈的区别
  • new/malloc的区别
  • delete/free的区别
  • placement new
  • 内存泄漏、野指针、内存越界
  • 内存碎片与内存溢出
  • 智能指针(unique_ptr、shared_ptr、weak_ptr)
  • 智能指针的线程安全性
  • RAII机制

对应面试题:内存管理面试题 | 智能指针面试题

学习建议:内存管理是C++面试的"照妖镜"。 Java选手说"我不用管内存",C++选手必须能说清楚什么时候分配、什么时候释放、出了问题怎么排查。智能指针不是"会unique_ptr和shared_ptr的区别"就够了,要能说清楚引用计数怎么实现、循环引用怎么解决。

# 第五阶段:现代C++

C++11之后的新特性,面试必问,工作必用。

必须掌握:

  • C++11新特性(auto、range-based for、initializer_list等)
  • 左值引用与右值引用
  • 移动语义与完美转发
  • std::move与std::forward
  • lambda函数与仿函数
  • 异常处理机制
  • 协程

对应面试题:现代C++面试题

学习建议:移动语义是这一阶段的重点。很多人以为std::move是移动,其实它什么都没移动,只是做了一个类型转换。 搞清楚这个,移动语义就通了一半。

# 第六阶段:并发与I/O

后端、服务端、嵌入式方向必考,不是加分项,是门槛。

必须掌握:

  • 互斥锁与自旋锁
  • C++11多线程编程
  • select、poll、epoll
  • 线程同步方式
  • 死锁的避免与排查

对应面试题:并发与I/O面试题

学习建议:epoll是Linux后端面试的高频考点。不要只背"epoll用红黑树管理fd"这种结论,要能说清楚ET和LT模式的区别、为什么epoll比select高效、什么场景用哪个。

# 第七阶段:计算机基础

C++开发者不懂操作系统和网络,就像厨师不懂火候。

操作系统:

  • 进程与线程
  • 进程间通信
  • 进程调度算法
  • 死锁
  • 虚拟内存与页面置换
  • 用户态与内核态

对应内容:操作系统面试题

计算机网络:

  • TCP三次握手与四次挥手
  • TCP可靠性
  • HTTP/HTTPS
  • 拥塞控制

对应内容:网络面试题

数据库:

  • MySQL索引(B+树)
  • 事务与隔离级别
  • Redis数据结构与缓存问题

对应内容:数据库面试题

学习建议:操作系统和网络不是"了解就行",C++岗位面试对计算机基础的追问深度不亚于Java岗。 特别是进程调度、内存管理、TCP这些,和C++内存管理、并发编程是串在一起的。

# 第八阶段:大模型与AI编程(2026年必修)

这是5年前不存在的内容,但2026年不会这些,面试直接吃亏。

不是让你转行做大模型算法,而是作为一个C++开发者,你需要懂这些:

# 大模型基础认知

你不需要训练模型,但你得知道大模型是什么、怎么工作的,否则面试官问"你对大模型有什么了解"你就只能瞎说。

至少搞清楚:

  • 大模型的基本概念(Prompt、Token、上下文窗口、幻觉)
  • Function Calling和Structured Output
  • RAG的基本原理
  • Agent是什么,和普通问答有什么区别

对应内容:大模型关键词全解 | 大模型怎么接入真实应用

# AI编程与Vibe Coding

2026年不会用AI编程工具,就像2015年不会用Git一样离谱。

核心认知:

  • AI编程产品的三层架构(模型、Agent内核、产品外壳)
  • Vibe Coding不是让AI随便写,是让AI在你的工程约束下写
  • 你的优势不是比AI写得好,而是让AI写得更好
  • Token成本控制、上下文管理、Prompt优化

对应内容:AI编程三层架构 | Vibe Coding面试题 | Claude Code工作原理

# C++开发者的AI场景

这是很多录友忽略的:C++在大模型领域有天然优势,因为推理部署、性能优化、底层算子全是C++的活。

值得了解的方向:

  • 模型推理部署(ONNX Runtime、TensorRT)
  • KV Cache原理(和C++内存管理思维一脉相承)
  • CUDA编程基础(C++语法 + GPU并行)
  • 大模型服务化(C++高性能推理服务)

面试官问"你对大模型有什么了解",如果你能从C++推理部署的角度切入,比那些只会说"我用过ChatGPT"的候选人强太多了。

# 学习节奏建议

在校学生(6-8个月):

  • 第1-2个月:第一阶段 + 第二阶段(基础与面向对象)
  • 第3个月:第三阶段 + 第四阶段(STL与内存管理)
  • 第4个月:第五阶段 + 第六阶段(现代C++与并发)
  • 第5个月:第七阶段(计算机基础)
  • 第6个月:第八阶段(大模型与AI编程)+ 项目实战
  • 第7-8个月:刷面经、模拟面试

在职转行(8-12个月):

每天2-3小时,节奏放慢,但每个阶段不要跳过。计算机基础可以和C++内容交叉着学,不要堆到最后。

# 几个忠告

不要跳阶段。 没搞懂面向对象就去学STL,没搞懂内存管理就去学智能指针,结果就是每个阶段都半吊子。

不要只看不动手。 每个阶段至少写1-2个小项目。学完STL写个简易容器,学完并发写个线程池,学完网络写个简易HTTP服务器。

不要忽视计算机基础。 C++开发者对操作系统和网络的理解深度,直接决定了你的天花板。

不要觉得大模型和C++没关系。 2026年的C++岗位,大模型已经是面试必考项,不是加分项。

每个阶段对应的面试题,都在本站的C++专栏里,按侧边栏顺序过一遍就行。

Last Updated: 5/28/2026, 4:45:41 PM

← 关于本专栏 C++面试题系优化 →

评论

验证登录状态...

侧边栏 侧边栏
夜间模式 夜间
卡码简历 卡码简历
代码随想录 代码随想录
卡码投递表 卡码投递表🔥
2026实习校招群 2026群
添加客服微信 2026实习校招客服微信 PS:通过微信后,请发送姓名-学校-年级-2026实习/校招
支持卡码笔记 支持卡码笔记
鼓励/支持/赞赏Carl 卡码笔记赞赏码
1. 如果感觉本站对你很有帮助,也可以请Carl喝杯奶茶,金额大小不重要,心意已经收下
2. 希望大家都能梦想成真,有好的前程,加油💪