c++面试学习计划
📘 第一阶段(第1-4周):基础+广度打牢
重点:全面覆盖基础、找短板
Week 1-2:C++ 基础 & 数据结构算法
- C++:
- 值类型与引用类型,内存模型,RAII,类的五大函数(拷贝构造、移动构造等)
- 智能指针(
shared_ptr
,unique_ptr
) - STL 常用容器与底层实现
- C++11/14/17/20 新特性
- 算法 & 数据结构:
- 排序、二分、双指针、哈希表、栈、队列
- 链表、树、图、堆、并查集、Trie 树
Week 3:操作系统 + 网络
- 操作系统:
- 进程/线程模型、内存管理、虚拟内存
- 锁机制、死锁、信号量
- Linux 下系统调用、IO、多路复用(select/epoll)
- 网络:
- TCP/UDP 协议、三次握手、拥塞控制
- HTTP1/2、DNS、WebSocket、长连接与短连接
- 网络编程模型(阻塞 / 非阻塞 / 多路复用)
Week 4:数据库 + Redis 专题
- 数据库:
- SQL & 索引(B+树)
- 事务 & 四大隔离级别
- MVCC、慢查询优化、Explain 分析
- Redis:
- 五大数据结构、底层实现
- 持久化、主从、哨兵、集群
- 常见面试题:缓存雪崩/穿透/击穿
📘 第二阶段(第5-8周):项目 & 性能优化方向
重点:项目场景、性能问题、架构设计
Week 5:Kafka + 消息队列 + Redis 进阶
- Kafka 架构:分区、ISR、副本机制、ACK
- 生产者/消费者模型
- 消费位点管理(offset)、幂等性、顺序保证
- Kafka + Redis 典型项目场景
Week 6:DPDK 原理 + 使用
- DPDK 基本架构、mbuf 内存管理
- PMD 驱动模型、收发包流程
- 多核收包设计、零拷贝、延迟优化点
- 使用
testpmd
实验、抓包优化设计题
Week 7:音视频基础
- PCM/YUV/H264/H265/RTMP/RTSP
- 封装格式(MP4、FLV、TS)
- FFmpeg 用法:转码、封装、推流
- 实时流设计问题(缓存、卡顿、丢包)
Week 8:系统设计专题
- 高并发架构设计:限流、熔断、异步
- 缓存+队列组合设计(异步写 + 热点读)
- 分布式协调(ZooKeeper)/ CAP / Paxos / Raft
- 常见面试系统设计题讲解
📘 第三阶段(第9-13周):冲刺面试 & 真题实战
重点:刷面经题、强化薄弱点、模拟面试
Week 9-11:
- 每天安排:
- 1 小时巩固重点知识
- 1 小时刷 LeetCode 中等/困难题
- 1 小时系统设计真题
- 1 小时模拟面试/自我复述技术项目
- 真题整理方向:
- C++ 多线程、内存泄露、new/delete 对应、虚函数、继承体系
- Linux 多线程同步 + 网络 epoll 实战
- Redis/Kafka 实际问题(缓存不一致、消息丢失等)
- 实战类题目如“百万并发”、“丢包率优化”、“低延迟视频处理”
Week 12-13:
- 模拟面试、复盘错题
- 整理项目经历 + STAR 讲解法
- 面试突击内容梳理(高频算法 / 高频问答 / 设计题)