腾讯IEG后端C++一面
大约45min
1. 自己挑个熟练的项目简介下
2. 线程切换开销,进程切换开销。
3. 对磁盘写时,过程是怎样的? 提示:可以用缓存,缓存怎么实现的呢。
4. 链路层,网络层区别
5. STL中map怎么实现? 答:红黑树
6. 为什么需要红黑树这样的数据结构,红黑树的迭代器++和--怎么实现。答:增删改查快;用链表把红黑树结点串起来,每次修改红黑树同时改动链表
7. 红黑树与其他数据结构比较,例如平衡二叉树,B+树等等。不熟练啊没答出来,然后回答了和哈希表,数组的比较
8. TCP流量控制。答了八股文:序列号,超时重传;滑动窗口;慢启动,拥塞避免
9. 问你个很偏的问题:TCP的“糊涂窗口综合症”知道吗? 😂
10. 线程池了解过吗,怎么实现
11. 在游戏后端设计一个击杀排行榜,内存有限制,不一定要保证100%准确。答:用大端堆把吧,提示:那你怎么增减每个人的击杀数目呢?答:那用红黑树,我用击杀数做红黑树key,哈希表做用户->红黑树节点映射。(好像太臃肿了
反问了后端C++会让转go吗,回答C++在游戏后端还是主力,go未来可能机会更多。
面试官挺和蔼的,一直给我提示,不过我实在太菜了啊😨
#腾讯IEG后台开发面经##面经##腾讯##校招##C++工程师#