补一个腾讯ieg面经(还愿)
8.27一面(30分钟):
是一个声音非常温柔的面试官。
1. 自我介绍
2. NPR中的一种描边实现方式(不太会,支支吾吾说了一点基于法线和视角的描边)
3. 介绍了一下自己的渲染器项目, unity游戏demo项目
5. Unity中用到什么技术。说了协程并问了协程相关问题
6. 野指针,内存泄露
7. 智能指针原理实现,会在什么时候用,和裸指针比有什么好处
8. TCP/UDP的差别
9. 红黑树原理(没答出来就下一题了)
10. 有什么和一般渲染管线流程不同的流程(没太理解问题,我就介绍了Early-Z和延迟着色的原理以及具体的实现)
8.31二面(70多分钟):
1. 自我介绍
2. 非科班,为什么选择游戏?为什么去日本?为什么在日本不读计算机?
3. 有没有学习过相关课程,主力语言是什么(感觉面试官没看我简历)
4. 有没有相关的经历?(这肯定没看我简历)前面问了20分钟左右
5. 为啥选择学习unity而不是ue
6. C++多态(八股文轰炸30分钟开始)
7. 虚函数实现的原理
8. 构造函数能不能是虚函数
9. 讲一讲左值右值(这里我把右值引用,移动,转发什么全说了,面试官也没打断我)
10. 智能指针
11. Vector的实现
13. 进程通信
14. TCP为什么可靠
15. 渲染管线
17. 算法,最大子序和leetcode53
18. 如何判断一个点是否在三角形内。
19. 智力题,10个砝码,称3次找出一个有异样的。
20. 如何判断两个多边形是否相交。我的思路是判断是否有顶点在另一个多边形内部。分为全部都在内部,2.全部都不在内部,3.有个别在内部。第一种情况就肯定不相交。第二种的得加一个判断是否有边相交(我没考虑到,面试官后来指出来的)。第三种肯定相交。后来面试官说是用分离轴算法。
9.1三面(80多分钟):
1. 非科班。有没有学习过相关课程,怎么学习等等,除了语言,有没有学习算法啥的?
2. 继续追问本科课程有没有相关的(C语言和线代?),本科有没有相关经历。我说是从研究生开始才真正开始coding的。
3. 研究生课题介绍,我的职责。介绍使用的开源库,是否只是单纯的调用api,渲染之后的效果,会选择如何优化,,有没有对比过你使用的渲染器和商业渲染器之间的差距(开了屏幕共享给面试官介绍的,这里就30分钟了)
4. 渲染器项目介绍。为啥做这个项目,有什么难点,不同点,有什么待优化的地方。
5. 渲染管线
6. 怎么看待C++这门语言
7. 怎么理解多态,怎么实现。
8. 菱形继承地问题,如何解决,虚继承的原理是什么(不知道啥原理,就把虚继承的内存模型说了一遍)
9. 虚函数表的大小怎么算(我提了有RTTI信息)
10. RTTI信息,怎么使用(我提了dynamic_cast)
11. dynamic_cast原理,如何实现安全,觉得它的效率怎么样
12. static_cast和dynamic_cast的差别,什么时候用,把一个类型转换成另一个类型会发生什么(我说是因为做单纯地使用位截断进行处理,会损失精度,不知道对不对)
13. 左值右值(这里和二面一样,也是一直说)
14. C++11除了右值引用还有什么新特性(提了智能指针,3个全说了一遍
15. 还有吗(提了nullptr,类型推断auto,decltype)
16. auto的判别规则,如果让auto推断引用,推断出来的是什么,为什么(顺便提到了和decltype的差别)
17. 影响自定义数据类型大小的因素(非静态成员变量,是否有虚函数,回答完下一题又补充了一个内存对齐)
18. A类和B类是组合关系,B中有A,A中有个int,其他啥都没有,创建B对象b,sizeof(b)为多少?为什么?(4,我回答的会调用默认构造函数啥的,有点不确定)面试官说你可以之后试一试,我试了之后确实是4
19. 介绍一下A*算法,它和Dijkstra的区别
20. 反问
9.6 HR面
9.9 云证+测评状态变为录用评估
9.15 OC+意向书
#2021届秋招进度交流##腾讯##面经##秋招##C/C++##游戏客户端开发工程师#