前端/移动开发面试题 · 方案权衡 · C++
前端/移动开发相关岗位面试题。
共 24989 道真题 · 当前筛选命中 74 道 · 更新 2026-08-05
筛选题目已选:方案权衡 · C++
考察点
技术栈
第 41 题shared_ptr和unique_ptr的区别是什么? 考察对智能指针所有权模型和适用场景的理解第 42 题解释智能指针。 考察对智能指针类型、所有权语义和资源管理原则的理解第 43 题请用手写或口述的方式说明观察者模式,并结合 C# 和 C++ 分别给出实现要点。 考察观察者模式的理解、跨语言实现能力与语言特性差异第 44 题如果 vector 存储的是类对象,而另一个 vector 存储的是类指针,这两者在扩容时有什么区别? 考察对象内存管理与扩容开销的差异第 45 题C++和Java的内存管理机制分别是什么?两者有什么区别? 考察对C++手动内存管理与Java自动垃圾回收机制的理解,以及两者在内存分配、释放和安全特性上的差异第 46 题在操作系统实验中你常用 C 语言,那么为什么还会选择使用 C++? 考察候选人对比理解 C 与 C++ 的差异及选型权衡第 47 题请对比C++中map和unordered_map在底层实现、时间复杂度和使用场景上的区别。 考察对C++标准库容器底层数据结构和复杂度分析的理解第 48 题使用智能指针时,什么情况下容易产生循环引用?如何避免? 考察循环引用的成因识别与解决方案第 49 题如何让一个类的对象只能在栈上或者只能在堆上构造? 考察C++对象生命周期控制、私有构造函数与静态工厂方法的理解与应用第 50 题除了虚继承,还有哪些方法可以避免菱形继承带来的二义性问题?在大型项目中你更倾向用哪种方案? 考察对C++多继承二义性问题的深度理解与工程方案权衡第 51 题如果要使用 Makefile 构建多个有依赖关系的 C++ 程序,你会如何设计构建规则和依赖关系?如果借助数据结构来描述这些依赖,你会选择什么,为什么? 考察构建系统设计与依赖建模能力第 52 题C++的vector和list的区别 考察对C++顺序容器和链表容器在底层实现及使用场景上的理解第 53 题如何实现 Java 与 C++ 之间的跨语言通信? 考察跨语言交互的技术选型与边界理解第 54 题智能指针有哪几种?unique_ptr 是如何实现唯一性的? 考察对 C++ 智能指针家族及所有权语义的掌握第 55 题讲讲STL的排序算法 考察对C++ STL排序算法原理、适用场景和内部机制的理解第 56 题智能指针有几种,什么情况下使用?并解释 weak_ptr 的原理。 考察对 C++ 智能指针类型、适用场景及 weak_ptr 底层实现的理解第 57 题list底层是用什么实现的?和vector对比有什么区别? 考察list与vector底层实现机制及性能差异的理解第 58 题请谈谈你对C++的看法,以及在实际项目中你是如何选择和使用它的? 考察对C++特性的理解、适用场景判断及实际使用经验第 59 题请详细说明 C++ 中 unique_ptr、shared_ptr 和 weak_ptr 的区别及各自的使用场景? 考察对现代 C++ 智能指针核心语义、实现原理及适用场景的理解第 60 题请详细讲讲 new 与 malloc 的区别。 考察对C++内存分配机制和对象生命周期管理的理解