米哈游面试题 · 风险判断 · C++
米哈游相关面试题,按最终去重题目聚合。
共 2292 道真题 · 当前筛选命中 37 道 · 更新 2026-08-05
筛选题目已选:风险判断 · C++
考察点
技术栈
第 1 题C++中reinterpret_cast的使用场景和注意事项是什么? 考察对reinterpret_cast语义理解和风险意识第 2 题在构造函数和析构函数中调用子类实现的虚函数,会怎么样? 考察C++虚函数机制与构造析构阶段的对象模型理解第 3 题如果一个项目所有的指针都是shared_ptr和weak_ptr,但是最后有内存泄漏,可能的原因有哪些? 考察对智能指针循环引用、自定义删除器及隐蔽持有路径的理解第 4 题C++中new和delete的实现机制是什么?在内部如何工作? 考察内存管理底层机制和异常安全第 5 题构造函数和析构函数是否能为虚函数? 考察C++虚函数机制与对象生命周期管理的基本理解第 6 题shared_ptr 线程安全吗?哪些操作安全,哪些不安全? 考察对 shared_ptr 引用计数与对象管理的线程安全性理解第 7 题请介绍 C++ 中的三种智能指针及其典型使用场景。 考察对智能指针所有权语义、适用场景与常见误用的理解第 8 题引用和指针的区别 考察C++基础概念理解及内存安全认知第 9 题请手写并简述一个简化版 shared_ptr 的实现思路和使用要点。 考察智能指针的核心机制、引用计数和资源管理意识第 10 题请比较 new/delete 与 malloc/free 在 C++ 中的区别及使用注意事项。 考察 C++ 中内存管理相关操作的原理与正确使用第 11 题C++20 中 std::shared_ptr 是否线程安全? 考察对 shared_ptr 线程安全语义的理解,包括控制块操作与所指对象访问的区别第 12 题请解释C++中虚析构函数的作用,并说明为什么基类的析构函数通常需要声明为虚函数。 考察对C++多态销毁机制和内存安全的理解第 13 题vector 里存自定义类型,怎么拷贝? 考察自定义类型的拷贝语义与 vector 扩容拷贝机制第 14 题请深入讲解C++ lambda表达式中的一个关键细节:当使用值捕获和引用捕获一个对象时,两者在行为上有何本质差异?请结合实际场景说明各自的风险与适用场景。 考察候选人对C++ lambda捕获机制的深入理解与细节掌握程度第 15 题请说明 std::shared_ptr 的引用计数在哪些时刻会增加和减少,并解释线程安全性的边界。 考察对 shared_ptr 引用计数生命周期与线程安全边界的理解第 16 题原生和C++间是怎么传递数据的? 考察不同语言运行环境之间数据交互的机制设计第 17 题两个线程同时将同一个 shared_ptr 拷贝赋值到新对象上,是线程安全的吗?为什么? 考察对 shared_ptr 线程安全语义及引用计数原子操作的理解第 18 题请解释C++程序的内存分区,并说明各分区中存放的数据类型及如何进行管理。 考察C++内存模型理解及内存管理能力第 19 题请介绍一下C++中的内存管理方式,包括内存分区、堆栈区别以及常见的智能指针使用场景。 考察C++内存管理的核心概念和智能指针的应用能力第 20 题请解释 weak_ptr 的作用,并说明它如何解决 shared_ptr 可能带来的问题。 考察对智能指针 weak_ptr 设计目的及循环引用问题的理解