cocos2dx笔试面试知识点

  • 综述
  • C
  • Lua
  • Cocos2dx
  • 参考资料

综述

  • 最近,在面试Cocos2dx相关的岗位,从网上收集了一些有用的提问和思考点,先把问题和复习点记下来,可能会有用。

C++

  • C++的编译链接的过程,会在游戏发布打包时遇到很多的问题,至少要能会Cocos Studio,Android Studio等一些工具的打包。
  • C++的面向对象编程思想,如多态,重载,封装继承等的重要思想和实现,区别。尤其是多态,动态绑定等。
  • C++的函数指针思想,函数指针的作用,Cocos2dx许多的事件机制就有用到C++函数指针。
  • C++中如何进行的垃圾回收,要知道垃圾回收的具体实现方法,讲出引用计数的原理。
  • C++是如何实现模版的,函数模版和类模版的主要区别是什么。
  • 能熟练使用C++11中常用的一些新特性。
  • C/C++中的基础的问题,如指针的四个要素,引用的使用,重载,泛型编程,虚函数,STL中的容器,算法和迭代器使用,基本的手撸排序等等。

其实最推荐还是去过一遍C++Primer(第5版),过一遍还快的,如果你有一定的基础,每天看20页估计就差不多了,半个月应该就有所成,快餐式的“背”题目还是理解记忆来的稳固,万一出现了题目的变种也能反应过来。

Lua

Lua比C++的开发效率高上不少,但是如果你只愿用Lua和python,还是会有很多的麻烦的,听说C++用的少,会被面试官鄙视。。。因为说明你Cocos底层的代码看的少,可能只会写逻辑,Cocos源码里面也有不少有缺陷的,Lua只是重新对C的接口封装了一遍。

  • Lua的特性有哪些
  • Lua的数据类型有哪些
  • 动态更新,热更新怎么做到实现
  • require与dofile的区别
local value = {"yoyo", yoyo = "yoyou"};print(value[value[1]])
print(false == nil)
print(false or nil == true)
print(nil and false == true)
string.sub("123456",2,-2)

以上的输出结果是什么?最好花两天时了解Lua,有个大概就行。菜鸟教程就行。

Cocos2dx

Cocos2dx的问题网上搜有很多,重复的就不提太多了。

  • cocos2dx引擎的几大组件
  • cocos2dx几个常用的类
  • cocos2dx事件分发系统,内存管理的实现
  • 添加按钮,实现触摸跳转功能的全过程
  • 两个重叠的物体,如何正确触发触摸事件
  • onTouchesBegin函数的返回值意义
  • 游戏编译成apk的大概过程,mk文件的作用
  • 怎么保存用户数据,复杂数据怎么办,说说逻辑实现
  • 如何实现游戏与后台间的交互
  • cocos2dx的基础对象有哪些
  • cocos2dx的相关工具有哪些使用过
  • cocos2dx的屏幕适配方案,cocos2dx中使用的设计模式
  • cocos2dx优化的方法,如何减少内存开销
  • cocos2dx图形渲染的机制
  • cocos2dx执行流程
  • cocos2dx场景切换的内存处理过程
  • cocos2dx的跨平台实现
  • cocos2dx最新版本的新特性(3.0)
  • cache机制原理

参考资料

《我所理解的Cocos2d-x》 作者:秦春林 出版社:电子工业出版社
《Cocos2d-x 3.x》游戏开发之旅 作者:钟迪龙 出版社:电子工业出版社

你可能感兴趣的:(cocos2dx)