腾讯 C++ 面试常见问题(2025-2026 最新真实反馈版,适用于校招/社招/实习)
腾讯的 C++ 岗位(主要 PCG、IEG、WXG、CSIG 等事业群的后台/游戏/音视频/高性能方向)面试风格偏“基础扎实 + 深度挖 + 项目真实落地”,整体难度属于大厂中上水平。
- 校招:C++ 基础 + STL 原理 + 网络/操作系统 + 算法中等偏难 + 项目细节
- 社招:基础 + 内存/并发/性能优化 + 设计模式 + Linux 系统编程 + 项目深度 + 场景题
下面按面试轮次 + 高频程度整理 2025-2026 年最常出现的真题和考察点(基于牛客、知乎、B 站、面试鸭、GitHub 等最新面经统计):
一面(基础 + 项目 + 算法,40-60min,淘汰率最高)
C++ 语言基础(占比 50-70%)
- 智能指针(shared_ptr / unique_ptr / weak_ptr)实现原理?计数器在哪?循环引用怎么破?
- 虚函数实现原理?虚表、虚指针、多继承下的虚表布局?
- 构造函数/析构函数能否是虚函数?为什么?
- new/delete 与 malloc/free 的区别?placement new 知道吗?
- RAII 是什么?举例说明在项目中怎么用?
- move 语义、完美转发、universal reference 原理?
- const、static、mutable、volatile、explicit、final/override 每个关键字的作用?
- C++11/14/17/20 新特性中最常用的几个?(lambda、auto、constexpr、structured binding、concepts)
- vector/list/deque/map/unordered_map 的底层实现、增删查改复杂度、迭代器失效场景?
- 多态的实现原理?虚函数表 vtable 怎么查找?
操作系统 & Linux & 网络(占比 20-30%)
- 进程 vs 线程 vs 协程区别?
- epoll 的 ET/LT 模式区别?为什么 ET 模式 accept 可能丢连接?
- TCP 三次握手四次挥手、TIME_WAIT 状态为什么 2MSL?
- TCP 拥塞控制算法(慢启动、拥塞避免、快重传、快恢复)?
- 僵尸进程、孤儿进程怎么产生的?怎么处理?
算法 & 手撕(中等偏难,腾讯喜欢现场写)
- 手撕线程池(最常考)
- 实现智能指针(shared_ptr 带引用计数)
- LRU Cache / LFU Cache
- 大文件 top K / 海量数据去重
- 经典:atoi / strcpy / strncpy / 字符串转整数等
二面(深度挖 + 项目 + 系统设计,60-90min)
C++ 进阶 & 底层(占比 40-60%)
- 内存对齐 & 字节序(大端小端)?怎么处理跨平台?
- C++ 内存布局(栈、堆、静态区、代码区、全局区)?
- 异常安全(strong/basic/nothrow)?怎么保证?
- 模板元编程?SFINAE / enable_if / concepts 区别与使用?
- 虚继承、菱形继承、多继承下的内存布局?
- inline 函数 vs 宏?虚函数能内联吗?
- 静态库 vs 动态库?链接过程?符号冲突怎么解决?
- C++ ABI 兼容性问题?怎么保证库升级不崩?
项目 & 性能优化(腾讯最爱深挖)
- 项目中遇到的最难的性能瓶颈?怎么定位和优化的?(perf / valgrind / flamegraph)
- 内存泄漏怎么检测?(valgrind、asan、tcmalloc)
- 高并发场景下怎么优化?(锁粒度、读写锁、无锁队列、内存池)
- 做过哪些 C++ 底层优化?(cache line、false sharing、SIMD)
系统 & 设计(偏后台/游戏方向)
- 设计一个高性能日志系统?
- 设计一个简单的 Reactor/Proactor 网络模型?
- 游戏服务器怎么做帧同步/状态同步?
- 怎么实现一个线程安全的单例?(双检锁、Meyers单例)
三面 / 综合面 / 总监面(价值观 + 深度 + 场景题,30-60min)
- 你看过哪些开源项目源码?(muduo、folly、leveldb、redis、protobuf、nginx 等)
- 为什么选 C++ 做后台?对比 Go/Rust 优缺点?
- 未来 3-5 年职业规划?
- 最近在研究什么新技术?(C++23、coroutine、modules)
- 场景题:线上 CPU 100% 怎么排查?内存持续上涨怎么定位?
2025-2026 年腾讯 C++ 面试变化趋势(最新观察)
- 越来越重视现代 C++(C++17/20 特性、concepts、coroutine、Ranges)
- 性能优化 & 调试工具权重上升(valgrind、asan、perf、gprof、strace)
- 项目真实落地问得更狠(“你这个优化提升了多少 QPS?”“线上出过什么问题?”)
- 算法校招中等偏难,社招更看重系统设计和项目
- Linux 系统编程几乎必考(epoll、信号、进程间通信、多线程模型)
备战建议(最务实路径)
- 先把基础打透:C++ Primer + Effective Modern C++ + C++ Concurrency in Action
- 刷题:LeetCode 中等 + 牛客腾讯往年真题 + 剑指 Offer
- 项目:至少 1-2 个能讲深度的 C++ 项目(高性能服务器、游戏框架、工具库)
- 源码:至少读 1-2 个(muduo/net、leveldb、folly)
- 模拟面试:牛客/面试鸭/Pramp 多面几次
如果你是校招还是社招?目标是哪个事业群(PCG/IEG/WXG/CSIG)?
告诉我你的具体情况,我可以给你更精准的突击重点和避坑清单~