金九银十:硬核大佬的Cocos面试分享(已拿小厂offer)
嘿!大家好,阿博又来了,继上次的Unity面试题过后!大家都理解了多少呢? 有没有对你接下来的面试有到帮助?
不过这里阿博相信只要是拿到了咱们的面试宝典的读者朋友,肯定就不用担心这个问题了!
嗯哼~不知道有面试宝典的 还不赶紧去私信里领取一下......

咳咳! 话题偏了,上次在给大家分享完unity试题的最后说了要给大家整理一下cocos的面试题,耽搁了耽搁了,一拖就拖到了今天,所以,今天老给大家完整赴约了。
还记得上个月阿博给大家分享了一波cocos的面试题,但是只给大家分享了题型,剩下的答案都没能给大家整理好,有好多读者就一直在问“为什么只有题目没有答案啊、光看题目有啥用啊、不知道答案怎么去背啊”等等的
当时看完阿博也是尴尬满满的,确实是自己考虑不周,于是也就趁着今天这个机会来补救补救,大家应该没意见吧!!!

(其实就想乘机偷个懒......)
说是偷懒,但也是下了真真功夫的,大家切莫担心质量是否有出入,阿博出品,童叟无欺!!!
本次的试题和答案都是阿博一点一点搜集起来的,结合实战面试过程进行总结,提炼精华,将整个内容流程化,能够让大家更清楚的了解面试中遇到这些提问时该如何准确的刚回面试官,然后升职加薪,赢取白富美,走向人生巅峰。

嘿嘿,想一想还有点小羞涩呢!

咳咳!又给大家跑题了,直接开始今天的showtime吧
请大家仔细查阅~
================================================================================================
1: 如何优化Cocos Creator 包体体积。
a: 如何优化图片文件体积?
b: 如何优化声音文件体积?
c: setting.js 大小与什么相关?
d: 如何优化引擎代码体积?
E: 如何优化字体字库文件大小?
2: Cocos creator如何做资源管理。
A: cc.Sprite如何显示远程服务器上的图片?
B:包体体积超过4M,如何处理?
C:如何实现第三方远程资源部署?
D: loadRes与load有和区别?
E: 如何卸载掉资源?
F: 什么是异步加载资源?对写代码有和影响?
3: Cocos Creator如何编写单例模式。
A: 如何实现单例模式?
B: 单例是否要扩展继承自组件类? 为什么?
C: 组件实例的单例如何保证全局唯一,并且不随场景切换而改变。
D: 如何实现常驻节点?不随场景切换而消亡。
E: 列举一下什么情况下你会用常驻节点?
4: Cococs creator 如何使用物理引擎?
A:物理引擎与碰撞系统有什么区别,用哪个?
B: 你是如何开启一个物理引擎的。有哪些步骤?
C: 刚体类型Static, kenimatic, Dynamic有什么区别?
D: 物理碰撞器的性能开销排序是怎么样的?
E: 如何给刚体一个力?
F: 线性速度是什么,角速度是什么,摩擦力如何设置?
G: Trigger有什么作用?
H: 物理引擎如何做碰撞检测,触发器如何做碰撞检测?
I: 物理引擎高速物体的穿越如何发生的?如何解决?
5: Cocos Creator Label的原理与如何节约Drawcall?
1: Label 是底层是如何绘制的。?
B: 每个Label一个drawcall, 如何优化?
C: 性能参数Drawcall是什么意思?降低drawcall有哪些好处?
D: 2D游戏开发降低drawcall要注意哪些事情?
E: 在项目里面,你是如何分类图片打包图集的?有什么好处?
F: 如何组织场景节点的顺序,来降低Drawcall,有哪些注意的点?
6: Cocos Creator 背包系统可能会需要哪些优化?
A 背包系统要显示的数据过多怎么办?
B: 背包系统里面drawcall 比较高怎么办?
C: 背包系统如何做到数据显示分离? 你如何设计?
D: 背包系统文字过多,导致FPS降低,如何优化?
E: 背包系统弹出框的动画是如何做的?
7: Cocos Creator WebSocket与Socket.IO分别是什么?
A: WebSokcet是什么?为什么creator用websocket
B: Socket.IO 是什么?如何使用?
C: 项目中到底用WebSocket和socket.io, 你怎么看?
D: 微信小游戏能否使用UDP?
E:WSS 是什么?WebSocket 如何支持?
F: WebSocket发送数据有哪些模式,如何设置?
8: Cocos Creator如何内置protobuf JS版本?
A: 说说protobuf 是什么?
B: cocos creator如何支持protobuf,具体如何操作?
C: protobuf 与json和xml相比有哪些优势?
D:websocket 发送protobuf数据要如何配置才正确?
9: Cocos Creator 材质, shader 分别是什么?
A: cc.Sprite是如何绘制一个物体的?
B: 材质是什么?有什么作用?
C: Shader是什么?如何切换Shader?
D: cocos creator 2D Shader 主要有哪些部分组成?
E: 如何实现一个置灰Shader?
F: set pass call是什么?
10:Cocos creator 固定宽度与固定高度的底层原理是什么?Cocos creator是如何做适配的?
A:为什么会有固定高度或固定宽度的设置?
B: 什么是逻辑坐标,什么是像素坐标?
C: 逻辑坐标怎么来的?逻辑坐标如何到像素坐标?
D: 游戏中需要适配的东西是什么?游戏地图到底怎么适配?
E: 刘海屏,水滴屏怎么适配?
F:到底采用固定宽度还是高度,设计分辨率选多少合适?
G: Widget有什么作用?分别用在什么时候?
11: Cocos Creator 图集打包有什么意义,我们一般在项目里面怎么规划图集?
12: Cocos Creator 如何做游戏框架,能让多人很好的协作,代码好维护?
14: Cococs creator 骨骼动画与帧动画的优缺点是什么?
15: 如何使用Cococs Creator制作一个地图编辑与寻路导航系统?
16: Cocos Creator 节点池的基本原理是什么?如何使用?
18: Cocos Creator 如何设计热更新系统, 如何设计大厅与子游戏模式?
19: Cocos Android里 runOnGLThread是什么意思?
20: Cocos Creator 如何设计自动化打包发布脚本?
到这里,肯定有人会问:阿博阿博你怎么只写了一半的面试题答案啊?剩下的呢答案呢,你是不是又偷懒了,不想写就别写啊,写了一半吊人胃口这就是你不对了!

嘿嘿,大家先别急哈,这里先给大家卖个关子,因为时间关系,剩下的试题就先给大家放进咱们的金九银十面试礼包里面了,其他的不谈,面试这块肯定是稳稳的!
当然礼包内还有包括但不限于Unity、Laya、游戏服务器开发、微信小游戏等等一系列面试题目,请私信:面试 即可获取!!!
