NiceOffer

面试面经 · 腾讯TEG

【腾讯TEG】【后端开发】【一面】手撕KV存储+存储方向深度拷问

腾讯后端开发校招面经一面

【腾讯TEG】【后端开发】【一面】

基本信息

项目内容
公司腾讯TEG(技术工程事业群)云架构平台部
岗位后台开发
轮次技术一面
时间2025年7月
面试时长约75分钟
面型体感双机位面试,压力较大,手撕题有深度
结果通过

面试题目(按提问顺序)

  1. 自我介绍(2分钟)
  2. 挑简历中一段实习经历深入拷打(约10分钟),追问具体技术难点和解决方案
  3. 简历项目整体拷打(约15分钟),重点问项目架构设计和技术选型决策
  4. 手撕代码:给定哈希函数,使用哈希桶实现一个 KV Cache,要求小于 4K 的记录使用二级索引
  5. 讲讲你的设计思路?为什么这么设计二级索引?
  6. 了解 DB 存储吗?(候选人说不了解,面试官未深追)
  7. C++ 虚函数的实现原理?虚表是怎么工作的?
  8. 构造函数可以是虚函数吗?为什么?
  9. vectorlist 的区别?各自适用场景?
  10. 访问 vector 的迭代器时可以删减元素吗?list 呢?
  11. map 的底层实现是什么?红黑树有什么特点?
  12. 常见的二叉平衡树有哪些?红黑树和 AVL 树的区别?
  13. 网络字节序是大端序还是小端序?
  14. TCP 三次握手的过程?TIME_WAIT 状态为什么需要 2MSL?
  15. epoll 的 ET 和 LT 模式有什么区别?

面试感受 / 反馈

  • 面试官节奏紧凑,手撕环节占了大头时间
  • 双机位要求,需要提前调试好设备
  • 存储方向岗位,进来后具体做对象存储/块存储/文件存储/KV存储中的某个组
  • 一个组大约二十多人,不需要存储背景,可以进来再学
  • 手撕题有难度,需要在限定时间内设计合理的数据结构

准备建议

  • 手撕 KV 存储是腾讯存储方向的常见题,建议练习哈希桶 + 二级索引的设计
  • C++ 基础(虚函数、STL容器)是必考内容
  • 网络编程(TCP、epoll)要熟练掌握
  • 项目要能讲清楚技术选型的原因,不要只说用了什么

反问示例

  • 具体工作内容是什么?(答:对象存储、块存储、文件存储、KV存储,具体组进来才知道)
  • 一个组大概多少人?(答:二十多个)
  • 需要提前有存储背景吗?(答:可以进来再学)