找回密码
 立即注册
查看: 818|回复: 20

腾讯游戏开发面经(已offer)

[复制链接]
发表于 2023-8-17 12:21 | 显示全部楼层 |阅读模式
腾讯游戏开发实习面经(已offer)

能拿到这个offer首先感激我的面试官们,让我有了良好的面试体验以及提供了我查缺补漏和努力的标的目的
时间流程:
3月中投简历,早上投完晚上就捞了第二天面试
概略一周半走完了四次面试
然后等了快一个月(卡hc),在4月中旬最终拿到了offer(鸽了好久的面经啊!大怒!)


比来一直在忙陈述,看UE的C++源码,做一些小demo,看衬着,补图形学
每天完成一点终于在今天完成了这篇面经
但是时间有些长远了,有些问题可能忘记了,也有可能记错挨次,不外大体内容下
一面


  • 讲一下第一个深度学习的项目
这里就是对着ppt介绍了一下,此中面试官会按照他的兴趣点进行提问。因为具体项目问题分歧,这里不细讲
2. 讲一下OpenGL的项目
像素建模、层级建模、光照衬着 (Phong光照模型 Gouraud着色)、暗影绘制、纹理贴图、键鼠交互、obj 文件读取、摄像机    控制、关键帧动画、游戏逻辑等
这里还是介绍 本身展开来介绍
3. 讲一下Unity的项目
这里因为捞我的项目组是用UE的,所以Unity只问了如何使用Animation Event,这部门很快
4. 讲一下暗影是怎么实现的
说了相似三角形构造暗影投影矩阵  和 shadowMap
​这里用pad画了一些基本的构造过程和shadowMap的基本道理
5. 讲一下Phong光照模型
现场推导了Phong光照模型的公式,同时主动讲了下Blinn-Phong模型。然后讲了一下Flat,Gouraud和Phong着色
6. Blinn-Phong的长处和错误谬误
计算便利 + 防止高光衰减等
7. 着色中的插值在衬着管线的阶段
8. 讲一下光栅化
介绍了下光栅化,离散化三角形,同时讲了下DDA和Bresenham算法
9. 讲一下你知道的C++11新特性
10. 具体讲讲是C++摆布值引用
11. C++多态,实现的道理?
经典讲虚函数表实现机制
12. 讲一下移动语义,好处是什么
13. 完美转发知道吗
14. Lamda讲一下,如安在Lamda中传值or传引用
15. 写过多线程编程吗,具体有哪些,你是怎么理解多线程的,展开讲讲
15. 最后补讲了一下主机端的 Real-time Rendering Pipeline




二面


  • 开头还是讲项目
不外此次是存眷的OpenGL的项目(更加深入)。讲解的过程中讲到了本身构造的层级建模栈
问:这个栈很经典,知道游戏现代引擎中是怎么封装和使用他的吗

2.  像素模型是本身搭建的吗,此中面试官还好奇我用的哪个软件
3. 再讲一下暗影是怎么实现的
同上一面,但是上一面讲了更多细节
4. 讲一下项目中开发遇到的难点以及怎么解决的
讲了一下协程异步移动,以及一个很隐晦的空对象bug
然后追问了下什么是协程,和线程进程的区别
5. shadowMap可能呈现的问题
6. 有本身写过shader吗
展示了本身openGL写的顶点着色器和片元着色器
并说明了关键的代码部门
7. 讲一下移动端的衬着管线,和主机的有什么区别
8. C++智能指针讲一下,shared_Ptr、weak_ptr、unique_ptr之间的关系讲一下
9. sharedPointer可能呈现的问题,非多线程下会呈现的问题
10. STL源码看过吗,讲一下map的底层,查询时间复杂度?
大致讲了下源码的实现,RB-Tree,时间复杂度O(logn)
11. 讲一下vector的push_back的时间复杂度
​没到分配阈值,O(1),到了分配阈值,O(n)
讲了下源码的流程细节,综合O(1)
12. 讲一下C++对象生命周期
​这里讲了一些new和delete的底层实现
​包罗operator new,operator delete,带catch的malloc等等,内存两端的cookie标识表记标帜回收,对象类型指针Cast(就是把new 和 delete底层实现的全过程讲了一下)
然后把担任和组合关系下的构造和析构挨次讲了一下
13. 设计模式讲一下
讲了一下项目实现的不雅察看者模式,单例的模式,讲解对应的代码
再说了C++的迭代器的traits
​STL中deque,stack,queue之间的代办代理模式
14. 组合和担任的区别,有什么各自优错误谬误,讲一下
提到了菱形担任,白盒重用等
组合更加灵活,维护性更高等等 讲完还提了下STL中的组合例子
15. 比来在看什么书
CSAPP,图形学,Effective C++, 现代操作系统
面试官怼:没有关于游戏的册本吗(贼慌)
三面


  • 开头还是要我讲一下OpenGL的项目
又按照我的ppt和关键代码讲解了一遍
2. 骨骼蒙皮动画了解吗,实现的底层说一下
3. 游戏中描边是怎么实现的有了解吗
4. 怎么学习图形学的?Games101课后作业有做吗,不会做怎么解决
5. 齐次坐标讲一下
balabla又讲一通
6. 衬着管线中的坐标变换流程讲一下,以及各种坐标空间讲清楚
这些很基础,说清楚就行
答:从建模东西得到的是物体 的局部坐标(Local Coordinate),局部坐标通过模型矩阵Model变换到世界坐标(World Coordinate),世界坐标通过不雅察看矩阵View变换到不雅察看坐标(View Coordinate),不雅察看坐标 颠末投影矩阵Projection变换到裁剪坐标(Clip Coordinate),裁剪坐标颠末透射除法 (Perspective Division)得到尺度设备空间(Normalized Device Coordinates,NDC), NDC坐标通过视口变换(Viewport Transformation)变换到窗口坐标进行显示
7. 追问:透视除法的意义
按照存储深度的信息,构建近大远小的透视效果
8. 投影矩阵会推导吗
9. CPU和GPU的交互讲一下,CPU发送的是什么,需要筹备什么
讲了VAO,VBO细节法则
这里讲的斗劲多,不展开,大师可以搜资料
10. 项目的衬着管线是完全本身完成的吗
是 balabla讲了一通
11. 挺好的,我们来做一道题
标题问题:用递归(必需用递归)实现链表的大数加法
12. 顺利做完了,然后面试官就开始聊天了,聊了下怎么学习新常识,学校的学习情况等等
13. 问了下面试官保举学习的网站和资源

HR面

HR面的话不会问技术,会考察一些你的学习习惯,思考深度,对该职位的理解,团队合作意识等等
不展开说

这里我会继续在知乎分享我深入学习UE和图形学的文章
欢迎大佬们存眷
让我们缔造本身的虚拟世界吧!
<hr/>2022.6.22
上面更新了一些新问题,这里再写上一些感到感染
我被问到的问题大多具有开放性(例如xxx讲一下,xxx介绍一下)。也就是说面试官会给你很大自由阐扬的空间,而不是纯挚的问你某个具体方面的陈腔滥调。所以我们回答的时候要组织好逻辑和架构,把相关的,熟悉的尽量都说出来,展示出本身真正的实力
上面的问题很多是探讨性,开放性的问题,笔者balabala也答得很多,所以很多没有记录下来
不外估计答上来的有95%以上,祝大师秋招顺利
比来忙着期末试,在复习(yu xi)编译道理和OS,要拖更一段时间了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-8-17 12:21 | 显示全部楼层
为啥游戏开发会问深度学习的项目呀
发表于 2023-8-17 12:22 | 显示全部楼层
因为我简历上写了 面试官会根据简历提问
发表于 2023-8-17 12:23 | 显示全部楼层
面的什么岗呀
发表于 2023-8-17 12:23 | 显示全部楼层
客户端
发表于 2023-8-17 12:23 | 显示全部楼层
哥客户端也要问这么多图形学么[发呆]
发表于 2023-8-17 12:24 | 显示全部楼层
发表于 2023-8-17 12:24 | 显示全部楼层
这个是暑期实习吧?
发表于 2023-8-17 12:25 | 显示全部楼层
√ 今年鹅没开春招
发表于 2023-8-17 12:26 | 显示全部楼层
2023届是明年春招[捂脸]
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-22 21:13 , Processed in 0.074777 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表