当前位置:   article > 正文

2020腾讯游戏客户端暑期实习生面经_游戏客户端实习推荐项目

游戏客户端实习推荐项目

时间

2020.3.12网站投的简历,第二天就直接收到初面邀请邮件,然后非常快速的,一面、二面、hr面,于2020.3.24收到深圳腾讯总部打来的电话,面试成功!

面试方式

新冠疫情影响,三次均使用腾讯会议远程面试,每次大概30分钟

投递岗位

游戏客户端开发暑期实习生(但奇怪的是,面我的人问我的都是服务器网络相关问题,可能是因为我简历里核心项目是C++服务器项目,hr灵活组排?)

一面

主要针对我的C++Lua分布式帧同步游戏服务器demo进行了大量提问

  • 简述项目架构
  • 如何做到分布式?
  • 如何实现帧同步?
  • 帧同步网络延迟的原因有哪些?
  • 服务器如果出现宕机你怎么处理?网关宕机呢?
  • 协议版本更新了,但只有一台服务器上可以处理最新版本协议,网管如何转发?
    【在CmdPackage中加入version字段,网关综合考虑version和serviceType进行转发】
  • protobuf的缺点——GC消耗严重,推荐使用flatbuffer

二面

  • 帧同步为什么使用udp而不是tcp?
    【我答了tcp需要对方确认收到、具有拥塞控制,丢失重传,逻辑复杂,消耗高,但面试官说这都不是重点,希望有大佬可以评论区指点一二】
  • 帧同步udp实现可靠传输的逻辑放在网络层还是逻辑层,为什么?
    【我说我的架构里是放在逻辑层,他说没错,但我不知道原因,希望有大佬可以评论区指点一二】
  • 帧同步如何检测和防止玩家开挂?
    【每隔一段时间,客户端将关键数据发往服务器验证,另一种思路是在帧同部的同时,内嵌一种更新比较慢的状态同步,用于服务器验证】
  • 你是如何处理玩家掉线重连?
    【我说快照+服务器冗余】
  • 数据库索引知道么
    【不知道~】
  • Redis用过哪些功能?
    【用作mysql的缓存,主要使用其键值对功能】
  • Tcp协议启动的时候做了哪些操作?
  • 算法题:如何打乱一个数组
  • 现有以下代码
vector<int> a;
a.push_back(100);
vector<int> b;
memcpy(&b,&a,sizeof(a));
  • 1
  • 2
  • 3
  • 4

问:
0、a在哪里?
【在栈上】
1、100在哪里?
【在堆中】
2、前两行执行结束后,内存上发生哪些变化?
【在栈上定义了一个变量a,在堆上开辟了一块空间,里面放着一个数据100】
3、执行过后这四行代码,程序报错,可能的原因有哪些?

1、a中指针指向的堆内存重复释放;
2、b原本指向的对内存内存泄漏;
3、如果a中数据被释放,使用b的时候可能访问到垃圾数据

HR面

  • 个人未来规划
  • 大学期间履历
  • 做过的项目有哪些,说说你最得意的项目
  • 说说你的学习方法
  • 说说你遇到的难题,都是如何克服的

体会

  • 腾讯效率真高!12天,从投简历到offer call
  • 数据库是个好东西,希望我也熟悉
  • 网络编程基础一定要好
  • 分布式现在还只是皮毛,应该有更完善的宕机处理办法
  • 帧同步可以提升的地方还有很多
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/123274
推荐阅读
相关标签
  

闽ICP备14008679号