游戏程序面试题合集

本篇文章,包含游戏岗位常见面试题。

一、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中都认识哪些类

面试题的答案正逐步整理中,整理好后会放在公众号【游戏君五尘】,感谢关注和支持

三、图形学
在面试的时候会图形学会很加分。
面试题
  1. 渲染管线 (必问)
  2. 什么是depth buffer
  3. 提前深度测试
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 回复 分享
发布于 2021-08-11 00:25
支持
点赞 回复 分享
发布于 2021-08-26 18:20
个人【网易互娱】内推码【xGttm0】,任何问题可以找我哦
点赞 回复 分享
发布于 2021-08-09 23:01

相关推荐

从输入URL到页面加载发生了什么:总体来说分为以下几个过程: 1.DNS解析 2.TCP连接 3.发送HTTP请求 4.服务器处理请求并返回HTTP报文 5.浏览器解析渲染页面 6.连接结束。简述了一下各个过程的输入输出作用:以下是对从输入 URL 到页面加载各过程的输入、输出或作用的一句话描述:DNS 解析: 输入:用户在浏览器地址栏输入的域名(如 www.example.com)。输出:对应的 IP 地址(如 192.168.1.1)。作用:将易于记忆的域名转换为计算机能够识别和用于网络通信的 IP 地址,以便浏览器与目标服务器建立连接。TCP 连接: 输入:浏览器获得的服务器...
明天不下雨了:参考一下我的说法: 关键要讲出输入网址后涉及的每一个网络协议的工作原理和作用: 涉及到的网络协议: HTTP/HTTPS协议->DNS协议->TCP协议->IP协议->ARP协议 面试参考回答: 第一次访问(本地没有缓存时): 一般我们在浏览器地址栏输入的是一个域名。 浏览器会先解析 URL、解析出域名、资源路径、端口等信息、然后构造 HTTP 请求报文。浏览器新开一个网络线程发起HTTP请求(应用层) 接着进行域名解析、将域名解析为 IP 地址 浏览器会先检查本地缓存(包括浏览器 DNS 缓存、操作系统缓存等)是否已解析过该域名 如果没有、则向本地 DNS 服务器请求解析; 本地服务器查不到会向更上层的 DNS 服务器(根域名服务器->顶级域名服务器->权威域名服务器询问)递归查询 最终返回该域名对应的 IP 地址。(应用层DNS协议)DNS 协议的作用: 将域名转换为 IP 地址。 由于 HTTP 是基于 TCP 传输的、所以在发送 HTTP 请求前、需要进行三次握手、在客户端发送第一次握手的时候、( 浏览器向服务器发送一个SYN(同步)报文、其中包含客户端的初始序列号。TCP头部设置SYN标志位、并指定客户端端口 同时填上目标端口和源端口的信息。源端口是浏览器随机生成的、目标端口要看是 HTTP 还是 HTTPS、如果是 HTTP 默认目标端口是 80、如果是 HTTPS 默认是 443。(传输层) 然后到网络层:涉及到(IP协议) 会将TCP报文封装成IP数据包、添加IP头部,包含源IP地址(浏览器)和目标IP地址(服务器)。IP 协议的作用: 提供无连接的、不可靠的数据包传输服务。 然后到数据链路层、会通过 ARP 协议、获取目标的路由器的 MAC 地址、然后会加上 MAC 头、填上目标 MAC 地址和源 MAC 地址。 然后到物理层之后、直接把数据包、转发给路由器、路由器再通过下一跳、最终找到目标服务器、然后目标服务器收到客户的 SYN 报文后,会响应第二次握手。 当双方都完成三次握手后、如果是 HTTP 协议、客户端就会将 HTTP 请求就会发送给目标服务器。如果是 HTTPS 协议、客户端还要和服务端进行 TLS 四次握手之后、客户端才会将 HTTP 报文发送给目标服务器。 目标服务器收到 HTTP 请求消息后、就返回 HTTP 响应消息、浏览器会对响应消息进行解析渲染、呈现给用户
点赞 评论 收藏
分享
永不遗忘:才这么点算什么拉黑,我初筛连着挂几十次了,最后还是能进面
点赞 评论 收藏
分享
评论
26
177
分享

创作者周榜

更多
牛客网
牛客企业服务