米哈游面试题更新 2026-08-05
vector的push_back方法时间复杂度是什么,什么情况下会发生扩容,扩容如何实现?
米哈游后端开发游戏性能优化技术原理C++
考察说明
考察C++ vector动态数组的特性、均摊复杂度分析及底层扩容机制
回答思路
- 明确指出均摊O(1)时间复杂度及最坏情况O(n)
- 说明size等于capacity时触发扩容
- 阐述扩容流程:分配新内存、拷贝/移动元素、释放旧内存
- 提及扩容倍数(通常1.5倍或2倍)及移动构造函数的使用
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。