• iOS 工程师技能树
    • Objective-C
    • 操作系统
    • 网络编程
    • 数据库&持久化方案
    • 图形图像编程
    • 数据结构 & 算法
    • 安全方案
    • 业务能力

    iOS 工程师技能树

    http://segmentfault.com/a/1190000002946644

    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)
    • App代码安全

    业务能力

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