iOS开发工程师技能树

根据 阿⾥巴巴面试资料,感谢阿⾥的技术团队的分享

Objective-C

  • Objective-C语言基础
  • library,framework的制作
  • Runtime 编程
  • LLVM 原理和调优

操作系统

  • iOS内存管理和调优
  • iOS的文件系统和沙盒机制
  • iOS多线程编程(Thread,GCD,NSOperation)
  • iOS网络和服务器编程(NSURLConnection,NSURLSession)
  • iOS系统的各种安全机制

网络编程

  • iOS网络发送机制调整和优化(NSURLSession
  • Socket编程
  • 网络传输中的各种保障
  • 对传输协议的调整优化

数据库&持久化方案

  • 常规持久化方案(Keychain,NSUserDefaults,Sqlite,CoreData)
  • 数据库的使用和设计(Sqlite)
  • 数据结构优化,Sql调优

图形图像编程

  • UIKit,Core Animation和Core Text的绘制
  • Core Graphics, Quartz 2D, Media Player, AV Foundation
  • OpenGL ES, GLKit, SpriteKit, SceneKit, Metal

数据结构和算法

  • 基本的算法和数据结构(排序搜索算法, 数组, 队列)
  • 较复杂数据结构的灵活应用(二叉树, 图等)
  • 复杂的专项算法(图像识别算法, 拓扑定位等等)

安全方案

  • 本地数据存储安全(Keychain)
  • 授权和身份验证
  • 传输安全(对称, 非对称, SSL)
  • 传输安全(对称, 非对称, SSL)

业务能力

  • 一般性业务功能需求分析及实现
  • 重要业务模块的需求分析及实现
  • 大规模产品或产品线的架构,系统设计和实现
  • 平台级产品的架构,系统设计和实现

你可能感兴趣的:(iOS开发工程师技能树)