Unity工程师知识储备

岗位职责:

  • 初级: UI效果的展现
    逻辑数据的管理
  • 中级:游戏内容的部署
  • 高级:项目架构的搭建

中级工程师的岗位职责:

  • 前期:SDK接入,物理实现
    中期:美术接口,模块搭建
    后期:调整需求,优化,发布,维护

知识储备:

  • 数据结构:数据,链表,堆栈,数,图等等;
  • 基础算法:递归思想,算法复杂度,常用算法(A*算法)
  • 项目实现:对象池,效率优化,AI决策etc

编程语言:

  • C#语言基础:值类型与引用类型,反射机制
  • 面向对象特性:封装,继承,多态,集合和组合区别
  • 代码风格:什么是重构,编程习惯
  • 设计模式:六大原则,单例,观察者模式,状态机等等;
  • 项目管理:版本库的使用(git、SVN,Bitbucket etc)
  • 网络技术:Socket通讯,RPC原理,第三方接入
  • 图形学:OpenGL的使用,Shader开发

Unity引擎的使用:

  • 脚本开发:生命周期,协程Coroutines,Destroy等等
  • 2D:Altas图集,图片格式与压缩
  • 物理:Raycast,碰撞检测原理,MechCollider
  • 插件的使用:NGUI,DOTWeen,Playmaker
  • SDK:动态链接库,AR,Kinect,OCulus Rift etc…
  • 模块掌握:Animator,LightMap,AssetBundle
  • 项目优化:内存优化,Drawcall,场景加载
    手写插件:拓展编辑器的开发

高频面试题:

  • 内存优化,Unity是如何释放资源的
  • 内存加密,代码安全
  • 写一个完整的对象池
  • 四元数和欧拉角的区别
  • 用过哪些设计模式
  • Unity项目的热更新

你可能感兴趣的:(ジ﹋★☆『,烂,柯,人,』)