搞网游赚钱?这有与游戏开发相关面试题
说起游戏开发,最头疼同时又最幸福的怕是王者荣耀团队了吧!据悉,仅2017年第一季度,这款游戏就让马化腾赚了120亿!去年底,王者荣耀团队30人瓜分了1亿奖金,最低分红60万,这让同行们好生羡慕啊!王者荣耀的火爆瞬间引燃了无数程序员想做游戏开发的心,这里正好有一份程序员面试游戏开发相关岗位可能被问到的基础面试题和答案,快来看看你离成为一名游戏开发工程师还有多远距离吧!
(1) 开发一个游戏的基本结构是什么?
开发游戏的基本结构为:
(a) 游戏接口
(b) 界面实现
(c) 游戏源代码
(2) 用Java开发游戏时,你可能会遇到的问题是什么?
(a) 垃圾回收器:非确定性内存管理可能成为一个问题
(b) 缺少第三方库:大多数可用的库并不支持Java。Java有很多内置的库,但与游戏开发不相关。
(c) 游戏控制台不支持:常用的游戏控制台并不支持Java
(d) 更小型的社区:大多数游戏开发的程序员都用C++,所以如果你用Java开发程序,就很少可以从其他程序员那里获取帮助
(3) 在游戏开发中用什么模型来赚取收益?
(a) 每次拷贝付费
(b) 订阅付费
(c) 微交易
(d) 按次付费
(e) 广告收费
(f) 供应商
(g) 销售
(h) 代码许可
(i) 赞助
(4) 为什么C++语言在游戏开发中更受欢迎?
(a) 由于C++已经被使用多年,游戏开发商用起来更顺手
(b) 不同平台的SDK是以C++为中心的
(c) 比起C语言和Java,C++给予更多控制权
(5) 什么是“Pixel Art”?
Pixel Art是一种通过绘制单个像素来创造图像,而不是建立3D模型的数码艺术。
(6) 什么叫做“延时(Lag)”?
在线游戏中,玩家操作与服务器反应时间的间隔称作延时。
(7) 如何减少游戏延时?
为了减少游戏延时,你可以降低游戏运行设置或者升级电脑的特定部分。
(8) 什么是云游戏?
在云游戏中,游戏通过云端数据中心的游戏服务器运行,用户只运行本地客户端,将游戏控制操作传送至游戏服务器。
(9) 说出几个HTML5框架的游戏引擎
以下几个为HTML5框架的游戏引擎:
(a) Construct2
(b) Turbulence
(c) CAAT
(d) Phaser
(10) Bitbucket、Github对游戏开发有多少优势?
Bitbucket是一个编码主机服务,而不是文件共享服务。它和小型游戏开发兼容,但如果你想要处理非常大的文件或者经常变化的二进制文件,Bitbucket就没那么好用了,Bitbucket不能呈现二进制的区别。Github为开发者创造了一个非常不错的交流环境。
(11) 什么是PunkBuster?它如何工作?
为了预防和探测针对在线游戏的诈骗软件,诞生了电脑程序“PunkBuster”。它扫描本地机器的记忆内存,预防其他软件进行恶意攻击。在大多数现代游戏中,PunkBuster用来抵挡黑客和网络诈骗。
(12) 在Java游戏开发中,animation thread类起什么作用?
animation thread类为游戏逻辑更新DrawablePanel,并使控制板进行重塑。它为DrawablePanel提供了参考。
(13) 用于游戏开发的安卓工具有哪些?
以下是用于游戏开发的不同工具:
(a) Eclispse:整合开发环境(IDE)
(b) ADT——安卓Elipse插件
(c)包含ADB的 安卓SDK
(d) Hudson——自动化建造工具
(14) 在安卓中,如何运用加载texture方法来加载图像?
加载texture 方法会读入图像指针,然后将图像加载到一个流当中。这个流会被作为texture加载到OpenGL中。
(15) 什么是Vertex Buffer Object?
Vertex Buffer Object是一个上传vertex数据到非即时模式视频设备的方法,是OpenGL的功能之一。
(16) 列出创建Vertex Buffer Object的步骤
你可以通过三个简单步骤来创建Vertex Buffer Object:
(a) 通过glGenBuffers()来生成一个新的缓冲对象
(b) 通过glBindBuffer()来绑定缓冲对象
(c) 复制vertex数据到缓冲对象
(17) 说明利用打包缓冲的优点与缺点
利用打包缓冲的优点在于它可以更有效的被GPU使用,因为所有需要的信息被放置在同一个内存区块。打包缓冲的缺点在于如果你使用的是动态数据,更新会变得困难和更缓慢。
(18) 列出安卓中存储的不同方法
安卓的存储方法如下:
(a) 共享偏好:在键值对中储存个人原始数据
(b)内部存储:在设备内存中存储个人数据
(c) 外部存储:在共享的外部存储中存储公开数据
(d) 网络连接:通过自己的网络服务器,在网络上存储数据
(e) SQLite数据库:在个人数据库中存储有结构的数据
(19) 什么是游戏循环?
对于任何游戏开发,循环都是一个中心元素。循环对于进行必要的更新以及检查游戏中的变化很有用。图表、动态、变化等都要依靠于游戏循环。
(20) 什么是FPS?
FPS意为每秒的帧数(frames per second),表示了用来储存和展示动态视频的信息量。每一帧是一张静态图片,通过快速连续展示这些帧来表现动态的画面。
(21) 安卓游戏开发中的“onsurfacecreated”是什么意思?
“onsurfacecreated”每次绘制表面时都会被调用,在应用程序启动、关闭至背景后再启动或者源改变时会发生。当背景环境丢失后,这些事件会被触发,每个资产会丢失,需要被重新创建。所有资产和应用程序对象需要在此处被重新创建。
作者:IT168
前沿IT热门课程尽在职坐标
扫描下方二维码,预约高薪就业课程免费试学资格!
快点扫我,识别我哦~~~~
文章回顾
【322】跳槽涨工资和公司内部调薪相差多少?程序员:跳一次等于干三年
【323】《BAT工作法》:混日子的人,下场都很惨
【324】2018届校招高薪清单曝光:年薪25万竟然只是白菜价
【325】就业喜报丨学成就拿offer 其实你不用羡慕别人
【326】阿里巴巴 Java 开发规约插件初体验
回复文章编号,例“233”即可获得全文