柠檬微趣面试题 · 技术原理 · C++
柠檬微趣相关面试题,按最终去重题目聚合。
共 407 道真题 · 当前筛选命中 56 道 · 更新 2026-08-05
筛选题目已选:技术原理 · C++
考察点
技术栈
第 1 题请介绍 C++ 中 shared_ptr、weak_ptr、unique_ptr 等智能指针各自的特点、区别以及适用场景。 考察对 C++ 智能指针的设计意图、生命周期管理与适用场景的理解第 2 题vector的实现原理 考察C++标准库容器的底层内存管理与实现细节第 3 题dynamic_cast向下转换如何避免不安全操作? 考察C++动态类型转换的安全性理解与安全使用方式第 4 题在C++中,指针通常占用几个字节?影响因素有哪些? 考察对指针大小与平台相关性的理解第 5 题请解释 C++ STL 中 unordered_map 的底层实现、哈希冲突解决方案,并说明链哈希与开放寻址哈希在空间利用上的区别。 考察哈希表设计、冲突处理和空间效率权衡第 6 题现有 1000 个人的姓名和分数(姓名不重复),请自行设计一个哈希表来存储这些信息,并支持按姓名查找分数。 考察哈希表的设计与实现能力,包括哈希函数、冲突处理和查询逻辑第 7 题请解释C++中虚函数表的存储位置、虚指针在对象中的位置与结构,以及虚函数表是在何时生成的。 考察对C++虚函数机制底层实现的理解,包括虚表存储、虚指针布局和生成时机第 8 题如何找到虚函数指针? 考察对C++对象内存布局和虚函数表机制的理解第 9 题静态成员函数可以是虚函数吗?为什么? 考察静态函数与虚函数的本质区别第 10 题sizeof一个class的结果是什么? 考察C++中类内存布局、对齐、虚函数等基本机制第 11 题static_cast 和 dynamic_cast 的区别是什么? 考察 C++ 类型转换的适用场景与安全性意识第 12 题请说明在 C++ 中 class 和 struct 的主要区别,并举例说明各自的适用场景。 考察对 C++ 中 class 与 struct 访问权限、默认继承方式及语义惯用法的理解第 13 题dynamic_cast 作用后,指针值会发生变化吗? 考察对 C++ 动态类型转换内部实现和对象布局的理解第 14 题请解释 C++ STL 中 map 的底层实现及其操作时间复杂度。 考察对红黑树平衡二叉搜索树的原理和复杂度把握第 15 题请说明C++中指针和引用的区别。 考察对指针与引用语法及语义差异的理解第 16 题请解释移动构造函数的作用及其与拷贝构造函数的区别。 考察对移动语义、资源管理与性能优化的理解第 17 题对C++的虚函数的理解(从虚函数表和虚函数指针方面),你觉得虚函数表是存放在堆里还是栈里? 考察虚函数实现机制和虚函数表存储位置的理解第 18 题如何避免向下转型的开销? 考察对类型系统与运行时多态的深入理解,以及性能与代码可维护性的权衡第 19 题假设 vector 初始容量为 1,每次容量不足时按 2 倍扩容。若连续插入 n 次且 n 远大于初始容量,请计算总共发生的扩容次数。 考察动态数组扩容策略的数学推导与复杂度理解第 20 题请介绍智能指针的原理及常见类型。 考察对智能指针底层所有权管理和资源释放机制的理解