职位题库

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

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

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

全部题目 31 道题

13

自定义协议里,长度域、魔数、版本号你怎么设计?

考察候选人对二进制协议设计的理解,包括安全性、兼容性和解析效率。
14

序列化如果既要快又要可扩展,你会怎么取舍?

考察候选人在序列化性能与可扩展性之间的权衡能力,是否理解零拷贝、TLV和兼容性设计。
15

服务挂了你怎么发现?靠心跳还是靠调用失败?

考察候选人对服务健康检测机制的理解,包括主动心跳与被动失败检测的配合。
16

注册中心脑裂或主从切换时,调用方怎么保证不错路由?

考察候选人在注册中心异常场景下的容错设计能力,包括本地缓存、版本号和幂等。
17

你做过网络编程吗?用的什么模型,最大支持多少连接?

考察候选人对网络编程模型的掌握程度,以及在高并发场景下的实际经验与问题处理能力。
18

TCP三次握手为什么不是两次或四次?四次挥手为什么需要TIME_WAIT?

考察对TCP连接建立与关闭机制的理解,特别是对可靠传输和状态管理的掌握。
19

TCP拥塞控制的四个阶段是什么?慢启动为什么叫“慢”?

考察对TCP拥塞控制机制的理解,特别是慢启动的设计思想与工程意义。
20

TCP粘包拆包如何解决?IM协议如何设计以保证消息可靠?

考察应用层协议设计能力,特别是对消息边界、可靠传输和IM特有需求的掌握。
21

IM长连接如何保活?心跳包如何设计以适应不同网络?

考察长连接保活机制的设计能力,特别是对NAT、弱网和节能场景的考虑。
22

广告检索漏斗中,你会如何为召回、粗排、精排、重排各层设定耗时预算,并设计超时降级策略?

考察候选人对检索链路分层耗时预算、端到端延迟控制和降级策略的系统设计能力。
23

倒排索引和正排索引分别存储什么数据?为什么广告检索系统不能只保留其中一种?

考察候选人对倒排索引与正排索引职责分工、存储选型和查询链路的理解。
24

多路召回的结果如何融合与去重?请说明分数归一、去重策略和性能代价。

考察候选人对多路召回结果融合、分数归一化、去重和性能优化的设计能力。
返回面试题库