小米集团面试题 · 技术原理 · C++
小米集团相关面试题,按最终去重题目聚合。
共 2227 道真题 · 当前筛选命中 40 道 · 更新 2026-08-05
筛选题目已选:技术原理 · C++
考察点
技术栈
第 21 题C++一定要手动释放内存吗? 考察C++内存管理机制、智能指针使用及资源管理原则第 22 题shared_ptr 的线程安全性如何?在多线程场景中如何安全使用? 考察对 shared_ptr 引用计数线程安全与控制块内存安全的理解第 23 题请说明 std::vector 的扩容机制具体是什么? 考察对 vector 动态扩容原理的理解第 24 题宏观地讲一下Java和C++在内存管理上的区别。 考察对两种语言内存管理机制及自动与手动管理差异的理解第 25 题请从内存管理、执行效率和类型系统等角度,对比Python与C++的差异。 考察对两种语言本质差异的理解和权衡能力第 26 题什么是虚函数表?它是如何实现动态多态的? 考察虚函数表的基本机制与动态绑定原理第 27 题请比较C++与Java的主要区别。 考察对C++与Java语言核心特性的理解与对比能力第 28 题请解释 C/C++ 中 static 关键字的主要作用。 考察对存储类别、作用域和生命周期语义的理解第 29 题在 C++ 中,使用 vector 时如何通过 reserve 避免频繁扩容带来的性能问题? 考察对 vector 动态扩容机制及性能优化的理解第 30 题析构函数可以是纯虚函数吗? 考察对纯虚函数与析构函数的掌握及实际工程取舍第 31 题如果类中有const成员或引用成员,能否自动生成移动构造函数?为什么? 考察C++移动语义与成员类型对隐式特殊成员函数生成的影响第 32 题请介绍C++中的智能指针及其使用场景。 考察C++内存管理概念、智能指针类型区别及正确使用第 33 题为什么需要内存对齐? 考察对内存对齐性能与硬件原因的深入理解第 34 题为什么嵌入式大部分用C和C++? 考察对嵌入式开发语言选型原因的理解第 35 题C++中malloc和new的主要区别是什么? 考察对C++内存管理机制的理解第 36 题如何手动控制结构体的内存对齐? 考察对编译器对齐指令或属性的掌握第 37 题Java和C++的区别是什么? 考察对两种主流语言核心特性及适用场景的理解第 38 题学过C++,那C++与JavaScript有哪些不同?强类型与弱类型 考察对静态强类型与动态弱类型语言本质差异的理解第 39 题如果想让一个函数先于主函数运行,需要怎么做? 考察对程序启动流程和函数执行顺序的控制能力第 40 题请评估 std::vector 单次扩容的代价有多大? 考察对扩容成本的时间与空间复杂度分析能力