职位题库

C++ 开发实习生面试题库

面向C++ 开发实习生相关面试,围绕C++、智能指针、算法、数据结构、LRU等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

5 道题目建议用时 15 分钟专项面试练习

全部题目 5 道题

01

请谈谈你对 C++ 多态的理解,并说明动态多态是如何通过虚函数表实现的。

考察候选人对 C++ 面向对象核心机制的理解深度,尤其是静态多态与动态多态的区别、虚函数表的存在位置与动态绑定过程。
02

谈谈你对指针的认识,并说明智能指针的大小是多少、shared_ptr 与 unique_ptr 的底层结构有何不同。

考察对裸指针本质的理解,以及对智能指针底层结构、大小和所有权语义的掌握程度。
03

迭代器失效的场景有哪些?请重点区分 vector 与 map 在不同操作下的失效规则。

考察对 STL 容器底层数据结构及迭代器失效规则的理解,检验能否在实际编码中避免悬空迭代器。
04

请分析这段智能指针实例代码,指出其中存在的问题。

考察在具体代码中识别智能指针误用的能力,包括循环引用、重复释放、悬空指针和所有权混乱等问题。
05

请手写 LRU 缓存的实现,并说明如何保证 get 与 put 的时间复杂度为 O(1)。

考察哈希表与双向链表结合的设计能力,以及在手写代码中对边界条件、迭代器安全和复杂度分析的把控。
返回面试题库