腾讯ieg面经

6场技术面。方向是游戏引擎,主要都是图形学,c++问题很少。

IEG 天美 一面

1. C++

1.1 inline可以修饰虚函数吗?
1.2 构造函数中可以调用虚函数吗?
1.3 static和const在哪个内存区域?
1.4 static和const什么时候初始化?
1.5 虚表什么时候初始化?
1.6 多态怎么实现的 ?
1.7 多线程通信方式
1.8 多进程通信方式

2. 图形学

2.1 early-z失效
2.2 介绍下项目
2.3 喜欢玩的游戏?效果怎么实现的?

3. 闲聊

3.1 游戏引擎开发需要哪些技能?
3.2 学校里令人印象深刻的事情?
3.3 未来方向规划

4. 算法

4.1 两数之和
4.2 链表部分反转

---------------------------------------
IEG 游戏前沿(Base上海) 一面

1. 图形学
1.1 你的软光栅项目的实现过程?一开始怎么考虑的,然后怎么搭建出来的
1.2 你这个项目是在CPU上运行的是吗?
1.3 怎么去做mipmap的?(应该是想问多级渐远纹理怎么实现的)
1.4 你知道在GPU上是怎么实现的吗?
1.5 简单说下你的软阴影
1.6 你的阴影有出现斑纹吗?(想问自遮挡问题)
1.7 有用过CSM吗?知道CSM有什么好处吗?
1.8 Cubemap有什么用?
1.9 IBL的漫反射和镜面反射的图怎么生成的?(辐照度图和预滤波环境贴图)
1.10 球谐函数了解吗?知道大概是什么用的吗?
1.11 差不多。你知道有什么好处吗?
1.12 色调映射是做什么的?
1.13 假设图像的HDR色差范围太大了。传统的色调映射不太好。有什么更好的办法?
1.14 你这个CPU的软光栅效率怎么样?
1.15 你最初光栅化的模型是什么?
1.16 做过什么优化吗?
1.17 背面剔除怎么做的?
1.18 齐次空间裁剪是怎么做的?
1.19 前向渲染和延迟渲染你知道吗?在什么情况下用这两种方式呢?
1.20 为什么光源比较多的时候用延迟渲染?
1.21 延迟渲染是怎么渲染的?
1.22 一个点光源怎么作用到G-Buffer,然后得到光照结果?比如渲染一个球
1.23 你知道deferred shading 和 deferred lighting的区别吗?
1.24 你知道deferred shading在移动端上的劣势是什么吗?
1.25 延迟渲染有什么劣势
1.26 延迟渲染输出很多g-buffer的代价是什么?
1.27 你知道early-z吗?它的作用是什么?
1.28 有时候会失效。失效的原因是什么?
1.29 pre-z你知道吗?
1.30 第二个pass的渲染策略是什么?
1.31 你的光线追踪项目有什么技术点可以分享?
1.32 光线的求交是自己写的算法吗?
1.33 光线反弹的过程是怎样的?
1.34 你要发射多少条光线
1.35 怎么混合每一帧的图像?
1.36 有做过什么优化吗?
1.37 对移动端的渲染有所了解吗?
1.38 有用过UE吗?学到什么程度?
1.39 编译过源码吗?
1.40 了解UE的图形学特性吗?

2. C++

2.1 多态性怎么实现的?
2.2 析构函数可以是虚函数吗?

3. 反问

3.1 你们项目组是做什么的?
3.2 base在哪
3.3 有什么要提升的?

-----------------------------------------
IEG 游戏前沿(Base上海) 二面

1. 图形学

1.1 你的光线追踪项目有多少个光源?
1.2 有没有做什么优化?
1.3 你如何对光源做重要性采样?
1.4 有没有什么更快速的数据结构去做CDF计算?
1.5 怎么保证你的采样后是能量守恒的?
1.6 Sobol低差异序列怎么保证它的样本在时域上和空域上是独立分布的?
1.7 知不知道保守光栅化?
1.8 这两个项目都有点类似课后作业了。有没有商业引擎开发经验。
1.9 OpenGL有实现多线程吗?

2. C++

2.1 Map和Unordered_map的底层原理是什么?
2.2 Vector删除一个元素后迭代器怎么变化?
2.3 Vector的扩容机制?
2.4 Vector怎么释放空间?

3. 算法

* 10分钟做一个合并有序链表

------------------------------------------------------
IEG游戏前沿(Base深圳)一面

1. 图形学

1.1 介绍项目
1.2 软光栅的Z-Buffer怎么做的
1.3 深度是用float32存储的吗?这个精度在靠近1的范围会比较低,要怎么处理?
1.4 简单介绍下BVH。
1.5 你的BVH的节点深度是多少?如果你的三角形个数特别多,上万个。有什么优化方法吗?
1.6 你的光追的贴图是怎么存储的?
1.7 你的demo上面有很多噪点,你后续有处理吗?
1.8 你的帧缓冲多帧混合这一块是做了什么?具体说一下
1.9 你的path tracing的终止条件是怎样的?没有加俄罗斯转盘吗?
1.10 你有对直接光采样吗?直接对光源的重要性采样。
1.11 如果一个光源没有实体,你要怎么做?
1.12 多重重要性采样了解吗?
1.13 你这个没对光源采样,加几个光源就慢了,或者黑的
1.14 后续需要降噪的话。相关的降噪你了解吗?
1.15 SVGF了解吗?
1.16 specular部分BRDF包含哪些项
1.17 游戏里面的渲染管线了解吗?
1.18 讲一下延迟渲染管线
1.19 deferred shadings 主要解决什么问题?
1.20 那如果材质比较多的话,延迟渲染会存在什么问题?怎么解决?
1.21 ray tracing这块了解什么GI方案吗?光照探针了解吗?

2.算法

2.1 N个字符串组成新字符串

从N个字符串序列中每个字符串取一个字符组成新的字符串,新的字符串中没有相同字符
示例:输入N=3, "ab", "ca", "ccb"输出:"acb", "bac"

2.2 乘积和异或相等的子序列

给定一个正整数序列,输出其子序列,字序列满足其所有元素的乘机与其所有元素的异或相等。

示例: 输入[1,2,1,3,4] 输出[1, 2, 1], [1,3,1]

3. 反问

3.1 base在哪
3.2 问了很多光追方面的。主要工作是光追吗?

-----------------------------------------------------------
IEG游戏前沿(Base深圳)二面

1. 图形学

1.1 软光栅的数学库是自己实现的吗?
1.2 光栅化算法怎么实现的?(扫描线算法)
1.3 三角形重心坐标怎么算?
1.4 有哪些坐标转换呢?
1.5 纹理贴图的读取也是cpu做的吗?
1.6 你的MipMap怎么实现的?
1.7 你怎么知道用哪一级mipmap的纹理呢?
1.8 阴影怎么实现的?
1.9 阴影有什么优化的算法?(CSM)
1.10 IBL的BRDF重要性采样是什么意思?
1.11 BVH是在cpu上创建的吗?
1.12 蒙特卡洛积分是怎么算的?

2. C++

2.1 智能指针了解吗?
---------------------------------

IEG游戏前沿(Base深圳)三面

1. 图形学

1.1 介绍项目。项目什么时候做的?
1.2 gamma矫正是处理什么问题?色调映射是处理什么问题?
1.3 从人眼角度来看为什么我们都是用RGB空间?
1.4 为什么RGB分三个通道。而印刷的时候分成四个通道?
1.5 我们对颜色在RGB空间做加减乘除。加的物理含义?减的物理含义?乘的物理含义?
1.6 为什么RGB三个通道是独立的?G通道对R通道没有影响吗?
1.7 MipMap和纹理映射解决什么问题?
1.8 远距离用高分辨率的贴图会发生什么失真?
1.9 如果远距离但是没有mipmap,你要怎么去渲染?
1.10 怎么实现mipmap的?
1.11 mipmapping是怎么做的?你怎么计算对应级别的?
1.12 你在光栅化的时候做了哪些事情?
1.13 插值有什么需要注意的地方吗?
1.14 你的mipmap是怎么存储的?
1.15 实际在显卡中存储都是按block存储的。为什么要用block存储?
1.16 sobol低差异序列为什么能够让采样更准确,效率更加高。

#腾讯##腾讯面经##面经##面经腾讯美团百度##图形学##游戏引擎#
全部评论
吓死我了,我以为ieg六轮技术面
5 回复 分享
发布于 2024-07-11 00:10 广东
佬是大三吗
1 回复 分享
发布于 2024-07-11 17:26 广东
咋面了这么多轮😢
点赞 回复 分享
发布于 2024-07-26 17:12 广东
大佬是准备的什么项目
点赞 回复 分享
发布于 2024-07-23 12:33 辽宁
似乎没有特别深
点赞 回复 分享
发布于 2024-07-22 15:04 上海
感谢分享。面试官好喜欢问mipmap啊😂
点赞 回复 分享
发布于 2024-07-22 08:41 江苏
感觉问的都很基础,是提前批吗
点赞 回复 分享
发布于 2024-07-11 16:34 北京
这么难啊
点赞 回复 分享
发布于 2024-07-11 12:57 广东
太强了佬😻
点赞 回复 分享
发布于 2024-07-11 09:35 江苏

相关推荐

一、开场与项目基础先做个自我介绍。为什么用消息订阅异步落库,而不是同步写库?系统峰值大概在什么级别?有考虑过为什么库支撑不了吗?二、消息队列可靠性MQ 写失败了,怎么保证消息不丢?是先批量更新数据库,再写推送状态吗?先更新数据库再推送?如果推送状态写失败了会怎么办?可以支持重试吗?如果更新成功、推送也成功,重试一次会怎么样?会推两条吗?三、分布式锁项目里用的分布式锁具体怎么实现?锁是怎么释放的?锁过期时间设 30 天,30 天内重试会有什么问题?正常用 Redis 实现防并发的分布式锁,应该怎么实现?释放锁在哪里释放?正常请求结束后,在哪个环节释放锁?四、MySQL 优化线上一条 SQL 执行 5 秒,怎么优化?这 4 种 SQL case,哪些能命中索引,哪些命中不了?知道什么是 ICP 优化吗?五、高并发:商品超卖活动限量 100 件,说出三种防止超卖的方案,并对比优缺点。详细说下 Redis + DB 这种方案,怎么保证 Redis 和 DB 的一致性?这种方案和第二种 Redis + MQ 方案有区别吗?Redis + MQ 方式下,怎么保证 Redis 和 DB 的数据一致性?比如 Redis 扣减成功、MQ 写失败怎么办?如果加入对账机制,对账需要哪些数据?上游、下游分别要存哪些数据?六、大数据量分页与分库分表订单表 5000 万数据,分页查询怎么优化?订单表达到 1 亿条,单表查询越来越慢,怎么处理?水平分表具体怎么分?用户订单表,根据什么字段切分比较合适?七、数据库死锁数据库死锁产生的原因是什么?怎么避免?生产或日常开发中有没有遇到过死锁问题?八、Redis 缓存问题什么是缓存雪崩、缓存穿透、缓存击穿?分别怎么解决?九、缓存更新策略先更新数据库还是先更新 / 删除缓存?方案是什么?先更新 DB 再删缓存,那什么时候写缓存?十、限流方案实现严格一分钟内的请求限流,用 Redis 怎么做?还有其他限流方法吗?滑动窗口(ZSET)、令牌桶、漏桶这几种方案有什么区别?适用场景分别是什么?十一、前端基础前端平时有接触吗?比如 JS?什么是跨域?为什么会有跨域?怎么解决?了解 CSRF 攻击吗?怎么防御?防 CSRF 的 Token 怎么生成?十二、分布式事务了解什么是分布式事务吗?说一下两阶段提交。十三、算法题完成两道算法题,并讲解代码思路。十四、AI 工具与 Agent日常开发用过哪些 AI 工具?豆包帮你解决了什么问题?Cursor 是付费会员吗?怎么付费?AI 生成的代码怎么验证正确性?让 AI 写一个 Redis 分布式锁工具类,你会怎么描述需求、怎么写 Prompt?系统客服角色接入大模型做智能问答,整体架构和流程怎么设计?RAG 的整体流程是什么?一份文档怎么向量化接入?向量检索后,是把所有相关 wiki 都交给大模型吗?检索出的内容做精简压缩用什么实现?什么是 AI Agent?和普通写 Prompt 有什么区别?
点赞 评论 收藏
分享
评论
42
217
分享

创作者周榜

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