腾讯 游戏客户端 面经

转眼又到了暑期实习招聘的时间,分享一下去年的面经。希望对大家有帮助

工作室A

一面

  • 图形学中常见的光照模型
  • 描述一下blinn-phong光照模型
  • 有没有学过ue
  • 有没有使用过unity的动画系统和物理系统
  • 有没有了解过动画系统的物理系统的原理
  • 虚函数的原理
  • 虚函数表存储在哪里
  • 虚函数指针存储在哪里
  • 构造函数能声明为虚函数吗? 析构函数呢
  • 内存对齐
  • 手撕: 如果链表有奇数个结点点, 反转中间结点的前面部分和后面部分, 如果有偶数个结点, 分别反转前半部分和后半部分.
  • 红黑树的原理
  • 哈夫曼编码
  • 如何实现一个轻量的可靠UDP
  • 有没有使用过多线程编程

二面

  • C++有几年使用经验
  • C++是怎么学习的? 学校里的课程还是自学的
  • 课外的话通过什么书籍学习的C++
  • STL了解到什么程度, 知道智能指针吗
  • 还了解C++的其他内容吗
  • 知道哪些高级数据结构
  • 非线性的数据结构知道哪些
  • 树和图的遍历方式
  • 喜欢什么类型的游戏
  • 最擅长的游戏 ???
  • 擅长到什么程度 ???
  • 实习的目的
  • 具体想提升哪些方面的技术
  • 实习只有3个月, 你说的这些学不完 ???
  • C++类的大小由什么决定
  • C++类的内存模型
  • 多重继承的虚函数表指针的数量由什么因素决定
  • 虚继承
  • 在构造函数中可以调用虚函数吗
  • 虚表指针的赋值时机?
  • 虚表是什么时候生成的
  • 虚表存储的位置
  • 内存对齐的规则

手撕

无重复最长字串

工作室B

一面

  • 一个类中有一些成员变量, 如何确定这个类的大小
  • 如果类中添加了静态成员变量,函数,虚函数呢
  • 虚函数指针的作用
  • 如果一个派生类重写了基类的虚函数, 虚函数表会有什么变化
  • 析构函数为什么要是虚函数
  • 如果不通过delete, 而是离开作用域时自动销毁, 会调用派生类的析构函数吗
  • C++内存模型
  • 堆和栈的区别
  • 如果自己实现一个vector, 你会怎么考虑
  • 进程和线程
  • 进程访问的内存地址是实际的真实的内存地址吗
  • 线程访问其所属进程的内存地址时有什么限制, 可以跨线程访问栈空间吗?
  • 可以访问堆内存
  • 栈访问风险 共享所有内存, 每个线程都有独立的栈空间, 不应该跨线程访问栈, 因为其他线程的栈可能随时被修改, 直接访问可能导致数据不一致.
  • 同步问题 多个线程同时修改同一全局变量或堆内存时, 需通过锁或原子操作保证数据的一致性
  • 多个线程同时访问一个变量时产生竞争条件怎么解决尝试获取被占用的互斥锁, 进入阻塞, 等待锁释放
  • 线程尝试获取被占用的互斥锁进入什么状态(阻塞)
  • 死锁产生的条件
  • 互斥条件(Mutual Exclusion):一个资源在同一时间只能被一个线程或进程占用。
  • 占有且等待条件(Hold and Wait):一个线程或进程在持有至少一个资源的同时,仍然尝试获取其他线程或进程所持有的资源。
  • 不可抢占条件(No Preemption):资源不能被强行从一个线程或进程中抢占,只能由占有它的线程或进程主动释放。
  • 循环等待条件(Circular Wait):存在一个线程/进程等待序列,其中每个线程/进程都在等待下一个线程/进程所持有的资源。
  • 有没有了解过UE
  • 从设计角度看为什么GameMode只存在服务器,GameState存在所有客户端
  • 图形渲染管线

算法

  • 无重复最长字串
  • 表达式计算 + - * /

二面

  • 在游戏开发中喜欢做哪方面的内容
  • 以后是想往gameplay方向发展吗
  • C++中调用普通函数和调用虚函数在性能上有什么区别普通成员函数在编译时已经确定地址, 调用直接通过函数地址执行(如果函数简单直接被内联优化)虚函数调用需要先获取虚表指针, 找到虚函数表, 再从虚函数表中找到对应的函数地址
  • 虚函数表存在哪个区常量区,只读数据段
  • 类的实例中会存储虚函数表吗
  • 虚函数指针是什么时候确定的
  • 虚表是什么时候确定的
  • 构造函数可以为private吗
  • 两个没有关系的类能互相转换吗不能, 需要在类中实现对应的类型转换运算符
  • 指针的大小
  • new和malloc的区别
  • C++中是否可以先分配内存, 再在已分配的内存里进行构造对象(placement new)
  • vector和map以及unordered_map
  • 在插入10000个数据时, 上面三个结构的内存大小和布局是怎样的
  • 以上三种数据结构的查找时间复杂度
  • 哈希表扩容的原因
  • 如何判断一个圆形技能可能击中哪些敌人
  • 如果敌人在移动而且分布不均匀要怎么解决
  • 如果敌人全在某个点上呢
  • 如果在2D平面内有很多小球, 如何处理小球之间的碰撞
  • 有不使用包围盒的方案吗
  • 半透明物体的渲染, 透明物体渲染时要进行深度写入吗
  • 线程执行的顺序是确定的吗
  • 如何使线程按照一定的顺序执行 (条件变量)
  • 线程之间如何通信
  • 使用信号量和全局变量来进行通信有什么区别
  • 全局变量: 忙等待
  • 信号量: 阻塞
  • 可以使用一个锁来使两个线程按照顺序执行吗
  • cache是什么, 实际程序中怎么利用cache

看代码回答问题

  • 引用/指针相关
  • 内存对齐相关, 给定类结构回答类的大小
  • 虚函数相关
  • 内存分配相关 栈/堆
  • 深拷贝/浅拷贝, 移动构造函数

手撕

实现一个程序, 要求给定学生姓名能够立即得到其年龄, 不能使用任何STL容器, 但可以自己实现(前缀树/哈希表).

三面

  • 项目相关
  • 子弹的命中是怎么实现的
  • 讲一下shadowmap的原理
  • 如何优化静止的物体的shadowmap
  • 静止物体的shadow和运动物体的shadow怎么叠加

#大厂##游戏客户端##面经##腾讯##暑期#
全部评论

相关推荐

03-01 19:30
已编辑
南京大学 Java
点赞 评论 收藏
分享
本人双九(一般的985)现在🐻厂实习字节hr两次电联同一个职位的实习,问我考不考虑,第二次说的很恳切🐻厂给的测开,字节给的后端本人还没确定,秋招走大厂还是走央国企,目前暂时偏向稳定,更倾向于在江浙一带工作犹豫的点:1.目前组内氛围好,mt也好,组长也好2.如果再面试,我需要重跑我的项目,再准备+八股+手撕,会很累3.如果准备不充分,怕脏面评过来人告诉你 字节hr 就是这德行面试前对每个候选人特别舔 面完找他问进度就查无此人了哈哈哈哈哈,这几天在xhs上略有了解海捞吧hhh前期很热情,突然很冷淡😁双九这么不自信的吗?我这个实习的准备时间短,感觉在接其他面试被拷打了,项目和技术栈不熟,就没什么自信稳定也挺好呀在面字节前面几家其它的后端面试会好一些哈哈哈哈我同门面字节,一面二面就没有低于1h的,哈人🐻厂留用率?哥们儿你不知道字节是一线大厂里面发面最多的吗,发面试又不是oc,hr再恳切有作用吗现在知道了哈哈哈为啥要犹豫,字节不还是正常面试吗,又不是已经拿到oc了不想脏面评,不过现在也无所谓了,也不准备去大厂现在这么卷,0实习能进的,都是有真本事的测开转后端也不错吧,不过HR虽然舔,面试要求不会放松的🐻厂留用率?听说转正会比较容易?不是特别了解还以为是到hr面了让你去呢,就约个面试能有多诚恳那就赶紧准备啊,看看别人面经,刷八股啥的暂时没有特别想换的准备,大概率all in央国企了字节hr都很热情吧,最近27届暑期开了,也收到几个电话 但是考虑不想脏面评就不面了已经略有了解了,感觉很海捞建议不要脏面评,年后投随便约面666又遇到兄弟了hr是说约年后试一下咯暂时不考虑了hhh双***历都到顶了不是很厉害的9,曾经被嘲过要不等年后吧,不差这一次吧??字节那不是投了就能面吗?一定要面这个岗?打电话也是准备说年后了,年前肯定不行哈哈哈我投的少,我也不知道是不是投了就能面主要怕我面得不好,唉双9干什么测开哈哈哈哈哈,准备实习的时间很短很仓促,收到的后端面试不多,想着先有个实习就走了测开熊是什么厂百度大胆去面吧 我就是不自信加上没后端实习 秋招大厂只投了测开 现在有点后悔,不自信加上项目不熟,我感觉会被拷打所以害怕没事 不会损失啥 等你真的拿了测开就会像我一样从激动欣喜到焦虑前景还有一个就是怕字节脏面评,所以如果接面试肯定也会努力准备一下的如果秋招不满意的话,还能搏一搏春招吧,我身边就有在春招找到不错的岗位的还有就是,emmmm,周围也有面字节的,普遍表示有难度,我觉得我菜
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务