米哈游面试题 · 编码实现 · C++
米哈游相关面试题,按最终去重题目聚合。
共 2292 道真题 · 当前筛选命中 14 道 · 更新 2026-08-05
筛选题目已选:编码实现 · C++
考察点
技术栈
第 1 题以vector为例,说明其底层实现原理以及扩容机制。 考察C++动态数组的底层实现与扩容细节第 2 题C++层怎么调用Java的方法? 考察JNI调用Java方法的机制与流程第 3 题在C++中,向set和unordered_set中插入自定义class对象时需要满足哪些条件?请分别说明。 考察对set与unordered_set底层机制及自定义类型支持要求的理解第 4 题请手写并简述一个简化版 shared_ptr 的实现思路和使用要点。 考察智能指针的核心机制、引用计数和资源管理意识第 5 题如何从零设计并实现一个动态数组容器(类似 std::vector)? 考察容器内存管理、扩容策略和接口设计能力第 6 题native声明的函数是怎么对应到C++的函数? 考察JNI函数注册机制及其链接过程的掌握第 7 题请说明 const 关键字在 C/C++ 中的用法,特别是 const 指针与指向 const 的指针的区别。 考察对 const 语义和指针常量/常量指针的理解第 8 题Kotlin调用C++的接口怎么调用? 考察Kotlin与C++跨语言互调的机制和工具链理解第 9 题如何在已知地址上创建对象(placement new) 考察对 placement new 语法、内存生命周期和析构规则的理解第 10 题在C++中,虚表(vtable)的创建时机是什么?它通常存放在内存的哪个位置? 考察对C++虚函数机制、对象内存布局及虚表生命周期的理解第 11 题std::function可以接受lambda表达式,这个转换是怎么实现的? 考察对std::function类型擦除机制和lambda到函数对象转换原理的理解第 12 题请手写一个类的移动构造函数和拷贝构造函数,并结合一个具体的业务场景说明它们在不同情况下的调用时机和区别。 考察对拷贝与移动构造语义的理解及实际应用能力第 13 题请用 C++ 实现 vector 删除所有值为 val 的元素。 考察 STL vector 的删除操作与迭代器失效处理第 14 题如果要在 unordered_set 中插入自定义 class 类型,需要重写或实现哪些函数? 考察对 C++ 无序容器哈希与相等性要求的理解