实习面经:腾讯游戏客户端开发、字节游戏引擎研发offer

找实习的过程中牛友们的面经对我帮助很大,回馈一下希望能帮到大家!

历程

我算是开始得比较晚的,5月中旬才开始投简历,只投了腾讯、网易、字节三家而且全投的游戏引擎研发岗,到今天为止收到了腾讯客户端开发和字节引擎研发的oc。主要的面试过程其实10多天就全部结束了,但是腾讯oc来的很慢所以这篇面经也被一直搁置着,现在终于能写了:)

1 腾讯-游戏客户端开发

我投的时候腾讯暑期实习笔试已经过了,所以第一志愿岗没理我,这应该是被其他岗捞的简历。

一面

C++基础:

  • stl的vector和list的区别,增删分别的时间复杂度
  • 虚函数机制
  • C11的新特性

计算机网络:

  • 解释TCP3次握手

图形学:

  • 速度过快/体积过小导致物理引擎检测不到碰撞,如何解决

开放性问题:

  • 如何优化内存,实际开发过程中用过什么优化内存的方法
  • 如果有对象要频繁创建和删除,用什么减少开销。(对象池)
  • 对象池的大小通常如何决定

二面

二面面试官给我发了一个腾讯文档,考8道C++基础题,涉及到C++自定义类的大小如何决定(默认大对齐)、右值引用、模板类、STL的iterator使用等等,在面试官纠正下我勉勉强强做出了7道,感觉还是蛮难的。题就不公开放了,有小伙伴需要的话私信我单独发吧。

三面

三面给我印象不是很深,好像是问了问我简历里的项目,然后我叽里咕噜跟面试官说了一堆,说了啥我已经忘了,毕竟面试里说的那些高大上的话太羞耻了根本不敢回忆😂

2 网易-游戏引擎研发

  • 手撕代码:是否是合法括号串
  • 手撕代码:最长合法括号串,上面一题的升级版,要求O(n)

这是网易一面的两道题,做完之后开始问问题,被面试官怼飞了。能感觉得出来网易那会已经不招人了,就纯粹面你面着玩,岗位相关的问题就没问几道,逮着我简历里不相关的经历狂怼,最后话都没让我说完就让我回去等消息了。

3 字节-游戏引擎研发

一面

C++基础:

  • 几个stl容器的底层实现
  • 右值引用和move构造
  • const、static关键字
  • C++里的lambda函数
  • 指针和引用的区别

软件工程:

  • 介绍几个设计模式
  • C++里的面向对象

图形学:

  • 介绍渲染管线
  • 解释纹理采样的两个模式

手撕代码:前序遍历

二面

C++基础:

  • 解释C++的多态如何实现
  • 解释类模板和模板类的区别
  • 右值引用、move语义

图形学:

  • 介绍顶点处理中涉及到的矩阵变换
  • 介绍一个光照渲染模型(我介绍的是冯氏光照)
  • 介绍一个消除隐藏面的算法(我介绍的是Z缓存)
  • 如何解决因为顶点过近和浮点数的精度不足带来的穿模问题

手撕代码:快排

三面

开放性问题:

  • 在特定场景如何选择stl容器,以什么为标准?你最近一个应用到这个容器的场景是什么?
  • 在N*N棋盘地图上放一个圆形技能,检测影响到的玩家对象,用什么数据结构实现?
  • 不关心顺序的数组如何实现O(1)的删除操作

以上3个是我印象比较深的问题,后面是一些关于项目经历的提问了,比如有没有值得分享的优化点,最有成就感的是哪个等等。

字节的面试是体验最好的,一个下午就连续完成了3面,第二天就完成了HR面,几天后就来了OC,可以说是非常省时间了。暂且不论最后结果,我在面试的过程也学到了很多东西,面试官很看重思考能力和算法数据结构功底,我问的一些问题面试官也回答得非常有干货。

4 小总结

这是我头次找实习,准备时间也不是很充裕,周四投完简历+收到下周一的面试之后慌慌张张准备了一个周末,能够有幸获得offer很大程度上是得益于自己的还算扎实的基础和表达能力。我知道自己没法准备得面面俱到,所以主要就干了两件事:

  1. 从决定找实习开始,每天花1小时来一道leetcode,要求自己做到最低时间复杂度
  2. 搜罗了3个比较全的面经,把所有问题像上面一样根据类别分好,从频率高到低一个类别一个类别复习,我这里的顺序是C++基础-->计算机网络/算法&数据结构&面向对象-->软件工程/图形学-->操作系统/编译原理,最后事实证明前人经验非常靠谱,面试官就考这些。

其实一开始看完大家的面经我是很慌的,感觉自己像海上破洞的船一样到处漏水,需要复习的地方太多了时间也不够,但是最后自暴自弃地功利性复习反而效果很不错。所以如果有小伙伴现在还是对找实习很焦虑的话,可以先行动起来,把能做的做了,剩下的管他呢,说不定面试官对你要求没那么高呢:)

5 最后的最后

如果有朋友能够看到这里,能帮忙比较一下offer吗🙏
腾讯的是成都天美L1游戏客户端开发,字节的是游戏引擎研发岗,具体部门不太清楚。
我个人是比较倾向于做图形学、游戏引擎研发的工作,比较看重能够学到图形学理论、技术的机会。希望大家不吝赐教,万分感谢!

#字节跳动面试##腾讯##字节跳动##网易互娱##C++工程师##实习##面经#
全部评论
现在不常回私信,统一回复一下腾讯2面题度盘 1hDvpUU_arVHpmbVmOiVncg,提取码g6eg 希望大家秋招顺利
4 回复
分享
发布于 2020-08-13 11:17
推荐字节的游戏引擎
2 回复
分享
发布于 2020-06-12 11:37
联想
校招火热招聘中
官网直投
肯定去L1啊,top2的工作室
2 回复
分享
发布于 2021-09-12 19:43
字节跳动的面试题看起来很舒服啊,都是基本又关键的知识点,并且竟然没有手撕高难度算法题😂
1 回复
分享
发布于 2020-06-15 10:19
推荐字节的渲染引擎,搞图形学的要有信仰呀兄弟!
1 回复
分享
发布于 2020-06-20 20:55
求二面题目
1 回复
分享
发布于 2022-02-14 18:20
感觉引擎岗更有发展潜力,只是不知道字节引擎具体是干什么工作hh
点赞 回复
分享
发布于 2020-06-11 22:14
想请问一下那个N*N棋盘圆形技能的题应该用什么数据结构呢?
点赞 回复
分享
发布于 2020-07-01 17:37
请问楼主是内推的还是官网投递的
点赞 回复
分享
发布于 2021-02-24 13:49
求一份腾讯题目文档(currystick@icloud.com),lz好人万岁,嘻嘻
点赞 回复
分享
发布于 2021-03-18 11:12
我也想玩一份文档675283561@qq.com谢谢😂😂
点赞 回复
分享
发布于 2021-03-19 13:01
大佬,想问一下,c++是相关的题目是靠背的吗,还是写项目熟悉的
点赞 回复
分享
发布于 2021-04-04 22:25
楼主,求一份相关文档呗,2011678219@qq.com,多谢楼主了
点赞 回复
分享
发布于 2021-04-05 11:28
老哥,老板是谁呀
点赞 回复
分享
发布于 2021-06-24 19:24
大神求一个腾讯题目文档😭😭😭感谢感谢
点赞 回复
分享
发布于 2021-12-15 00:43
大佬 求一份2面题🙏lmf624242201@gmail.com
点赞 回复
分享
发布于 2022-02-17 15:27
求个文档,佬
点赞 回复
分享
发布于 2022-04-25 00:12
求个文档,大佬 yesterjewel@163.com
点赞 回复
分享
发布于 2022-04-26 23:15
求二面的8道基础题,user8361@163.com,感谢楼主😊
点赞 回复
分享
发布于 2022-04-28 11:06
{"pureText":"","imgs":[{"src":"https://uploadfiles.nowcoder.com/images/20220429/901237551_1651227980004/2FA4F0456D8AC79037D6D12707313198","height":"1413.0","alt":"orWBQJgAR2apIR2CCpkCnrleJZBDtTcX.jpg","width":"1440.0"},{"width":"480.0","height":"900.0","src":"https://uploadfiles.nowcoder.com/images/20220429/901237551_1651227983764/AE0D3A48EAAEA027BB46C2C2A128AB07","alt":"zaE3p8ZVQf3SnBLbUeSqDDBqOTGf57WF.jpg"}]}
点赞 回复
分享
发布于 2022-04-29 18:26

相关推荐

选择题和多选题,多选题占分还挺多,题量较少但都不算简单mipmap会增加多少显存消耗? 1/4+1/16+1/64.... ~= 1/3 (等比数列求和 n->无穷)指针delete两次的后果? 未定义的行为两个线程同时对vector的操作哪些是线程安全的?大概只有遍历?std::function能够存储什么? lambda函数,函数指针,仿函数functor,成员函数指针bind(这个平常没用过,没想出来)?还有吗?float和double都是科学计数法表示的吗?float和double能够表示32位和64位整数嘛?多项式贝塞尔曲线不能表示的集合元素  圆弧,双曲线,抛物线,直线延迟渲染的优点? 多光照pass,多几何数据源,减少光照计算次数,  缺点:高显存,不好算透明物体,抗锯齿兼容度不好#西山居游戏#两编程题, 额能用本地ideT1 给定一个圆和矩形的坐标,求两者是否相交  sdf + 扫描线检测T2 给定某个顶点在模型空间中的坐标,给出model,camera坐标和R,U,F世界空间方向,以及投影矩阵,求C++如何实现其转换到W H的屏幕坐标上nmd glm库不给用,得手写矩阵乘法和MVP矩阵变化,尝试了,但最后也没ac复查的问题:view视图矩阵计算错误(单位矩阵没初始化好...),左手坐标系Z+轴(应该是DX的NDC坐标系)下的屏幕空间裁剪有问题,当时记不清怎么弄轴向问题了。给的用例只有超出屏幕空间的像素返回{-1,-1},测试不清楚是否正确,懒得debug调试了。问答:渲染卡顿可能导致的原因,解决方案和定位手段
投递西山居等公司7个岗位
点赞 评论 收藏
转发
OC了,感谢牛友们的面经帮助,散点面经回馈一下3.25投递,3.29下午打电话约了一面一面55min(4.1)计算机基础部分1. 什么是栈内存,什么是堆内存,有什么区别?2. 刚你提到了栈的内存比较小,那你说明一下什么是栈溢出3. 为什么堆的分配比较慢?这个问题有没有什么解决方案?4. 游戏引擎有没有什么对内存的管理操作?5. 堆空间只申请不释放会造成什么?(内存泄漏)如何避免(从编程语言的层面上解释)?(Java/C# 内存管理GC, C++智能指针)6. 你知道哪些智能指针?(unique_ptr, shared_ptr)?还有一个你知道吗?(没说出来,面试官提醒能解决循环引用的weak_ptr)7. 栈的访问效率比堆高,你能解释一下吗?8. 垃圾回收内存管理GC机制,能不能深入说一下底层如何实现?9. 说一下什么是虚拟内存?存在的意义是什么?数据结构部分10. 描述一下数组和链表的区别?各自的优缺点11. 说明一下什么是二叉树手撕部分12. 递归前序遍历二叉树写一个函数,输入是二叉树的根结点,返回它结点的前序遍历13. 用BFS遍历树追问:DFS和BFS这两种遍历策略,一般用来解决什么问题?有没有什么优化方案策略?开放问题15. 树这种数据结构在你项目开发中有什么应用?C++中有没有什么容器是用树实现的?16. 说明什么是面向对象,有什么特点?17. C++中可以实现多态,请你从虚函数表的方面描述一下重载一个虚函数的过程?(往虚函数表,虚函数指针上扯)。虚函数指针占多大空间?(就是普通指针,32位机器4,64位机器8)拷打简历18. 开发MOBA项目中遇到的最大难点是什么?19. FPS项目中,NPC巡逻的逻辑?你这种检测方法会把NPC背后的敌人也检测进来,有没有什么改进方法?20. 简单说一下你了解的unity物理引擎?其他问题21. 你平常玩哪些游戏多一些?STEAM上的单机游戏玩过吗?你CF玩得多,你觉得CF哪些功能做的不错?22. 除了游戏开发,你还有哪些其他方面技术上的兴趣?23. 你打过不少算法比赛,你觉得你的算法水平在你们校队能排到top多少?反问面试官人很温柔,聊起来也挺舒服的,面完二十分钟后官网就显示通过了
点赞 评论 收藏
转发
52 382 评论
分享
牛客网
牛客企业服务