面试面经 · 腾讯IEG
【腾讯IEG】【后端开发】【二面】斗地主判牌手撕+内存管理深度追问
【腾讯IEG】【后端开发】【二面】
基本信息
| 项目 | 内容 |
|---|---|
| 公司 | 腾讯IEG(互动娱乐事业群) |
| 岗位 | 后端开发 |
| 轮次 | 技术二面 |
| 时间 | 2025年7月 |
| 面试时长 | 约85分钟 |
| 面型体感 | 手撕题有趣,追问深度大,聊得比较open |
| 结果 | 通过 |
面试题目(按提问顺序)
- 自我介绍
- 上大学前有接触过编程吗?(了解编程背景)
- 面试官介绍面试流程
- 手撕代码:实现斗地主判牌服务,只考虑炸弹、三带、顺子三种牌型
- 你的实现还有改进空间吗?怎么优化?
- 你是哪里人?
- 高考成绩多少?
- 考虑读研吗?
- 标准库的内存分配函数和操作系统的内存管理有什么联系?
- 你了解 glibc、tcmalloc、jemalloc 的实现差异吗?分别有什么特点?
- 看过相关源码吗?
- 设计模式的开闭原则是什么?你怎么理解?
- 怎么设计内存数据的持久化策略,才能保证停机尽量不丢数据?
- 你的项目中用过哪些设计模式?为什么选它?
面试感受 / 反馈
- 面试官很友好,手撕题(斗地主判牌)比较有趣,不枯燥
- 手撕完会追问优化空间,考察工程思维
- 内存分配器(glibc vs tcmalloc vs jemalloc)的追问很硬核
- 中间穿插了一些软性问题(家乡、高考成绩、是否读研),节奏较松
- 技术栈:数据面是 C++,控制面是 Go
准备建议
- 手撕题要练习牌类游戏逻辑(斗地主/德州扑克),重点在牌型判断和数据结构设计
- 内存分配器差异是高频题,要能说清 glibc ptmalloc、tcmalloc 线程缓存、jemalloc arena 的核心区别
- 持久化策略:WAL(Write-Ahead Log)、Checkpoint 等机制要了解
- 开闭原则等设计原则要能结合实际项目举例
反问示例
- 团队的技术栈是什么?(答:数据面 C++,控制面 Go)
- 进来之后具体做什么业务?
- 团队的开发节奏和强度?