职位题库

C/C++软件开发面试题库

面向C/C++软件开发相关面试,围绕多线程、系统设计、Lambda、生命周期、智能指针等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

4 道题目建议用时 12 分钟专项面试练习

全部题目 4 道题

01

设计一个高频行情聚合与回放平台时,为什么不直接使用 Kafka 作为所有模块之间的通信组件?

考察候选人对消息中间件适用边界的理解,以及在低延迟场景下对进程间通信、序列化、调度开销的权衡能力。
02

如果要实现一个跨平台媒体采集网关,如何设计采集线程、编码线程和发送线程?

考察候选人对多线程流水线设计、有界队列、背压、关键帧保护以及异常处理的理解。
03

如何理解智能指针的所有权语义,并避免错误使用 shared_ptr?

考察候选人对 unique_ptr、shared_ptr、weak_ptr 所有权语义的理解,以及能否识别循环引用、非拥有关系和线程安全边界。
04

线程池中的任务对象为什么容易出现悬空引用?

考察候选人对异步任务中变量生命周期、按值捕获、weak_ptr 保护以及对象生命周期覆盖问题的理解。
返回面试题库