本篇文章,包含游戏岗位常见面试题。附网易互娱n推码【xGttm0】
2022/8/14 续更
一、C++
一般来说,对于语言要求是擅长任意一门语言,但是游戏开发岗位,更偏向于C++。因此,这里整理了C++常问面试题。
基础
1. C和 C++ 的区别
2. struct与class的区别
3. new/delete与malloc/free的区别
4. 指针与引用的区别
5. 深拷贝与浅拷贝的区别
6. 移动构造函数与拷贝构造函数区别
7. 重写与重载区别
8. 内联函数与宏定义区别
9. 数组和指针区别
10. 前置++与后置++的区别
11. 动态链接库和静态链接库的区别
12. 关键字:static、const、extern、volatile作用
13. 源文件从文本到可执行文件经历的过程
14. 四种类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast
面向对象
1. 面向对象的三大特性:封装、继承、多态
2. 类的访问权限:public、private、protected
3. 虚函数实现动态多态的原理
4. 虚函数与纯虚函数的区别
5. 类的构造函数、析构函数、拷贝函数、赋值函数
6. 动态多态、静态多态
内存
1. 内存布局(全局区、堆区、栈区、常量区、代码区)
2. 内存管理,指针、野指针、内存泄露
3. 如何判断内存泄漏,怎么避免
4. malloc的原理
STL
1. 容器的实现原理,如 vector、deque、map、hashmap
2. vector与list对比
3. map与unordered_map对比
4. set与unordered_set对比
5. set和map实现原理
6. vector迭代器
C++11新特征
1. 四种智能指针原理
2. 智能指针底层实现:auto_ptr、unique_ptr、shared_ptr、weak_ptr
3. shared_ptr中的循环引用
4. 可变参数模板
5. 右值引用
6. lambda
游戏开发
游戏开发的问题一般以结合实践情形为主。
摄像机跟随怎么做的
如何做攻击判定
游戏中怎么实时生成的地图
热更新与加载怎么实现
客户端如何优化效率
客户端怎么判断掉线
断线重连怎么做的
帧同步和状态同步的比较
帧同步,状态同步,分别怎么应对恶劣网络环境
帧同步定点数改造什么方案
卡帧怎么处理
帧同步的碰撞检测和碰撞效果
帧同步容器遍历问题
帧同步出现不同步,怎么查的
吃鸡和moba在技术上的区别
A* 算法介绍
碰撞检测的方法
游戏里的排行榜系统怎么设计
FPS游戏里子弹模型怎么设计
如何判断敌人在射程范围之内?
Unity
都用过Unity哪些模块?
如何查看游戏性能
NGUI UGUI渲染顺序
UGUI消息传递机制
UGUI的优化
Unity的协程
Unity协程怎么用, 协程的源码怎么写的?
Unity3D如何实现跨平台的
Unity的GC原理
Unity协程底层实现
Unity碰撞检测原理
Unity模型资源,模型动画
动画状态机驱动的是什么
Unity如何改变一个物体的位置旋转?
Unity本地坐标和世界坐标
Unity调整旋转需要传什么参数
Unity3d的生命周期
unity脚本生命周期
Unity 脚本函数生命周期
UI渲染顺序
如何在UI上显示模型
UI上粒子效果如何实现
Unity函数运行顺序
Update()和 FixedUpdate() 的区别
unity的垃圾回收
预设(prefab)的好处
碰撞体和触发器区别与联系
UE4
UE4网络同步技术
Unity和UE4有什么区别
UE4中都认识哪些类
三、图形学
在面试的时候会图形学会很加分。
面试题
- 渲染管线 (必问)
- 什么是depth buffer
- 提前深度测试
4. phong和billin-phong
5. 正向渲染和延迟渲染的区别
6. 透明物体和不透明物体渲染顺序
7. 如何优化shader
8. shader中的if会造成性能影响以及优化
9. 线性空间和srgb空间是怎么反映的
10. gamma correction是怎么实现的
11. 顶点着色器实现光照会怎么样
12. 顶点着色器作用,包括什么工作
13. 顶点着色器到片元着色器中间流程
14. 几何着色器的作用,顶点着色器传输给几何着色器什么数据
15. EBO存储的数据是什么,有什么好处
16. G-Buffer的底层结构
17. Drawcall 原理以及如何减少DrawCall
18. 光栅化的作用?
19. 光栅化过程中常用的算法
20. 实时阴影如何实现、生成
21. shadowmap实现原理
22. 屏幕空间的阴影原理
23. PBR的理解
24. 哪些描边的技术以及有啥优缺点
25. 色调映射,HDR与LDR的区别
26. 为什么延迟渲染对MSAA支持不好
27. BRDF与兰伯特模型的联系是什么
28. 球谐光照的理解
29. 对伽马校正的理解
30. 屏幕空间阴影映射技术的优点
31. 卡通渲染思路
32. 如何渲染半透明物体
33. 为什么要用FrameBuffer
34. 纹理坐标?双线性插值怎么做的
35. mipmap有什么缺点
36. LOD怎么做的
37. Bloom怎么做的
38. 伽马矫正
39. 动态模糊怎么做的
40. opengl与openglES
数学相关
1. MVP矩阵空间变换过程
2. M矩阵中旋转、平移、缩放顺序,分别在M矩阵的哪个部分
3. 四元数的理解,如何从两个向量判断四元数(四元数四个参数的代表内容)
4. 变换矩阵里每一列代表什么
5. 为什么MVP矩阵是 4*4
6. 点乘叉乘几何意义,用处
7. 点到平面的距离如何计算
8. 几何阶段的矩阵变换都有哪些
9. 如何判断一个点是否在一个凸多边形内
10. 旋转有哪几种方式?欧拉角会有什么问题?讲一下四元数
11. 为什么使用齐次坐标
12. AABB包围盒如何判断相交与分离
其他问题
玩过哪些游戏
最近有玩什么游戏
喜欢的游戏类型
这个游戏中亮点
游戏开发的一般流程
什么要进入游戏行业
面试题的答案正逐步整理中,整理好后会放在公众号【游戏君五尘】,感谢关注和支持
整理不易,若觉得不错,关注、点赞、收藏支持一下吧。
全部评论
(1) 回帖