米哈游面试题更新 2026-08-05

vector的push_back方法时间复杂度是什么,什么情况下会发生扩容,扩容如何实现?

米哈游后端开发游戏性能优化技术原理C++

考察说明

考察C++ vector动态数组的特性、均摊复杂度分析及底层扩容机制

回答思路

  1. 明确指出均摊O(1)时间复杂度及最坏情况O(n)
  2. 说明size等于capacity时触发扩容
  3. 阐述扩容流程:分配新内存、拷贝/移动元素、释放旧内存
  4. 提及扩容倍数(通常1.5倍或2倍)及移动构造函数的使用
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。