职位题库

C++后端开发工程师面试题库

面向C++后端开发工程师相关面试,围绕系统设计、高并发、性能优化、网络编程、网络协议等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

31 道题目建议用时 93 分钟专项面试练习

全部题目 31 道题

01

给定一组可能重叠的区间,请设计算法求出最少需要丢弃多少个区间,才能使剩余区间互不重叠。

考察候选人对经典区间调度问题的理解,以及将问题转化为贪心策略并编码实现的能力。
02

请说明 C++ 中构造函数的执行顺序,特别是在多重继承和虚基类的情况下。

考察候选人对 C++ 对象构造过程的理解,包括基类与成员初始化顺序、虚基类的特殊处理。
03

你项目里的通信是 TCP 还是 UDP?为什么?三次握手和四次挥手讲一下

考察候选人对传输层协议选型的理解,以及对 TCP 连接建立和关闭流程的掌握程度,包括对 TIME_WAIT、CLOSE_WAIT 等状态的认知。
04

TCP 和 HTTP 是什么关系?你项目用的是长连接还是短连接?HTTP/1.1 和 HTTP/2 有什么区别

考察候选人对应用层协议与传输层协议关系的理解,以及对 HTTP 连接管理和版本差异的掌握。
05

你用了哪些 STL 容器?map 和 unordered_map 的底层实现和区别是什么

考察候选人对常用 STL 容器底层实现、性能特点和选型依据的掌握程度。
06

vector 的扩容机制是什么?reserve 和 resize 有什么区别?为什么 vector 的迭代器会失效

考察候选人对 vector 内部机制、内存管理和迭代器失效的理解。
07

智能指针的原理是什么?shared_ptr 线程安全吗?循环引用怎么解决

考察候选人对 RAII 思想、智能指针实现原理、线程安全和循环引用问题的理解。
08

请对比 ARC 自适应缓存与 LRU、LRU 冷热隔离、LRU-K 的差异,并说明 ARC 的优点及自适应机制是如何实现的。

考察候选人对缓存替换算法的理解深度,尤其是 ARC 的自适应思想及其相对经典 LRU 变体的优势,判断是否真正理解而非背诵。
09

请说明操作系统内核中 CopyOnWrite 的实现原理,并结合缺页中断流程描述写时复制的完整路径。

考察候选人对虚拟内存、页表、缺页异常和写时复制之间关系的理解,是否能把机制串成完整流程。
10

请说明 WAL/RedoLog 串行落盘为什么可能成为瓶颈,以及有哪些优化写磁盘瓶颈的思路。

考察候选人对数据库持久化机制和磁盘 I/O 瓶颈的理解,能否从串行落盘、组提交、异步刷盘等角度给出工程化优化方案。
11

请实现 k 路归并:多个有序流,每条记录为 {key, seq, deleted, value},每路内部 key 升序;同 key 保留最大 seq,墓碑不输出。

考察候选人对多路归并、堆、去重与墓碑处理的工程实现能力,以及边界条件处理。
12

你这个项目为什么自己做通信层,而不是直接上现成 RPC?

考察候选人在技术选型时的权衡能力,是否理解自研与现成框架的边界、成本与收益。
返回面试题库