腾讯 光子工作室游戏客户端开发面经(一二三面已)

先交代下背景,某211软件工程专业大四,已与杭州某游戏公司签约,前段时间被HR主动找上门约面,本来直接拒掉了,结果面试官又打了个电话,于是面了。
目前已发Offer,比杭州有诚意,去深圳了。
废话不多说,直接上干货
一面(90min):
C++:
  • 多态,静态多态与动态多态
  • 虚函数,虚表原理
  • 虚函数表确定时期(编译期)
  • 为什么在虚函数表在编译期确定,如果在运行时确定会怎样
  • C++的内存模型
  • 堆内存与栈内存的区别
  • 函数栈
  • printf函数是如何实现可变长参数的原理?
  • C++函数的调用约定?
网络:
  • TCP、UDP
  • UDP可靠化
  • WebSocket
  • 帧同步、状态同步
算法:
  • 排序算法(归并、快排、堆排序)
  • 排序算法的适用场景(基本有序,基本无序)
  • 大数据量的TopK(变体快排)(口述)
  • 栈实现队列、队列实现栈(编码)
  • 自选一道Leetcode中等难度动态规划题(选择了Leetcode #64-最小路径和(编码)
  • Leetcode #72-编辑距离(嫌64太简单了额外加的)(编码)
二面(120min+):
算法:
图形学:
  • 布林冯模型
  • N·L(cosθ)的物理意义(朗伯余弦定律)
  • 半球积分的计算
  • 透视投影矩阵(作用、推导)
  • GPU渲染管线
  • 渲染管线中输入装配器阶段的图元拓扑
  • 质心插值
  • 贴图UV与法线贴图
  • 顶点着色器阶段可以处理的数据
  • 顶点着色器阶段不能处理的数据(数学原理)
  • 像素着色器
  • 深度测试与Early-Z
游戏引擎:
  • UE4的反射系统
  • Unreal Header Tool
  • UE4蓝图如何调用C++函数(底层原理)
  • UE4的GC
三面(40min):
  • 项目
  • ECS(项目涉及到了)
  • Unity的DOTS
  • UE4的渲染流程(ParticleSystem PreRender->Z-PrePass->Occlusion Culling->Hierarchical Z Buffer->Shadow depth->BasePass(Gbuffer)->Lighting->Translucency)
  • 延迟渲染与前向渲染
  • 遮挡剔除详细算法
  • UE4的动态合批与静态合批
  • UE4的Gameplay框架(下图基本都涉及到了)

  • 简单地算法题 Leetcode #445 两数相加 II(限定只能用递归,不能用栈,不能倒转链表)
  • 闲聊(学习方式、学习路径)
总结
大致就是以上这些了,难度还是有一些的,不光是涉及到的内容广,深度也较深,如果某些知识点只是简单概述一下的话面试官会连续追问直到完全答不出来为止。
此外非常注重算法,三面总共做了8道算法题,而且不光是单纯的AC就行,经常会给一些限制条件或者要求在特殊情况下完成
学习能力也是考察的要点,三个面试官都问到了学习的方法、看什么书。
#面经##秋招##校招##游戏工程师#
全部评论
太强了,本科生就这么厉害👍
3 回复
分享
发布于 2020-11-23 19:50
这算法题看傻了。。。
2 回复
分享
发布于 2020-11-27 12:01
滴滴
校招火热招聘中
官网直投
你这是聪大一就开始学ue4吧
2 回复
分享
发布于 2021-02-15 22:54
楼主是客户端还是引擎岗?图形和渲染问的挺多啊
1 回复
分享
发布于 2020-11-24 19:46
还有unity的知识哪里可以学,萌新一个
1 回复
分享
发布于 2020-11-25 18:45
牛逼
1 回复
分享
发布于 2020-12-03 15:14
楼主我想问下你做的项目大概是什么程度
1 回复
分享
发布于 2021-01-22 23:20
我也被光子捞了😂
3 回复
分享
发布于 2020-11-24 13:51
楼主,游戏引擎UE4的知识哪里学的啊
点赞 回复
分享
发布于 2020-11-25 18:21
本科就这么厉害了,强!
点赞 回复
分享
发布于 2020-11-26 18:41
专业卡的严吗
点赞 回复
分享
发布于 2020-12-01 07:36
老哥,请问你的SP大概一年能拿多少钱= =,我想激励下自己
点赞 回复
分享
发布于 2021-01-31 16:28
谢谢分享
点赞 回复
分享
发布于 2021-02-20 13:40
请问光子现在还支持远程实习吗 谢谢了
点赞 回复
分享
发布于 2021-02-23 21:21
天美一面问图形学我哭了
点赞 回复
分享
发布于 2021-02-26 09:12
赞,贴贴大佬,吸大佬脑力
点赞 回复
分享
发布于 2021-02-26 19:53
大佬为什么这么强啊hhh 是ssp么还是sp
点赞 回复
分享
发布于 2022-03-23 19:04
图形学和引擎根本不会。。。我刚接手面试邀请现在后悔了,这不是找虐吗。。
点赞 回复
分享
发布于 2022-03-25 16:46
大佬能分享下学习路线吗?不知道佬还在吗
点赞 回复
分享
发布于 02-27 23:28 吉林

相关推荐

4.1一面就通过了,由于中间隔了个清明节,我足足等了一周时间,4.8突然上午10点多打电话约我下午3:30二面,有些猝不及防,好在清明节三天自己把项目都过了一遍二面(4.8) 70min1. 毕业后准备直接工作还是继续深造?2. 你为什么不直接使用TCP而是使用改良版本的UDP?你的可靠UDP是如何保证可靠性的?然后我刚说几句话面试官把我打断了,说他要去接电话,我表示震惊3. 接下来就是拷打项目环节,简历上写的基本都问了,主要是可靠UDP的实现,Protobuf原理,帧同步与状态同步4. 看到你参加了一些算法比赛,这个团体程序设计是什么比赛?像一些比你学校更好的学校也会参加吗?数据结构考试考的怎么样?5. 口撕:如何对二叉树进行广度优先遍历?6. 手撕:不允许使用递归,对二叉树前序遍历7. 同样的一串数据,用数组存储和用链表存储,从头到尾遍历,哪个性能更好?8. 用递归遍历树不太好,具体来说会出什么问题?栈溢出本质是什么,是调用的函数多了就会溢出吗?9. 自己定义的栈一般都支持动态扩容,为什么程序定义的栈不支持动态扩容?如果硬要扩容的话会出什么问题?说一下vector是如何扩容的?10. 写程序如果数组越界,程序可能会抛出异常,这是因为越界的地方可能修改到其他进程的数据,那么你也知道有的时候越界并不会报异常,因为没有影响到其他进程,那么操作系统是如何知道越界的地方有没有影响到其他进程?11. 在定义结构体时,编译器可能会有内存对齐,介绍一下为什么会有内存对齐?12. 平常玩游戏玩什么比较多?(CF和和平精英),你在玩这两款游戏的时候,你觉得他们一些游戏核心处理逻辑有什么不同?反问三面是4.11给我发了个短信约了第二天,没有打电话三面(4.12) 32min三面就是总监面,看视频里的样子就是Leader,基本就是问我的项目,对我的项目问的很深,并且出了一些类似的场景题,一些游戏功能,问我如果是我设计我会怎么实现,我觉得自己答的并不好,很多说的有些语无伦次(有点小紧张),好在他放过我了,面完20分钟后官网转为HR面,谢谢三位亲爱的面试官
点赞 评论 收藏
转发
52 293 评论
分享
牛客网
牛客企业服务