Summary
技能点¶
章节¶
要求¶
初级工程师¶
精通Objective-C语言基础 精通UIKit等Cocoa Framework 熟悉网络通信机制以及常用数据传输协议 具备主流开源框架的使用经验
中级工程师¶
扎实的编程、数据结构、算法基础 深入理解语言机制、内存管理、网络、多线程、GUI 精通常用设计模式、框架、架构 良好的分析、解决问题的能力
高级工程师¶
解决研发过程中的关键问题和技术难题 调优设备流量、性能、电量等 较强的软件设计能力 对iOS内部原理有深刻理解
资深工程师¶
精通高性能编程以及性能调优 灵活运用数据结构、算法解决复杂程序设计问题 提供性能优化、日志搜集、统计分析等方案 架构、模块设计
简历¶
-
简洁性 排版清晰 简洁不是少,亮点、优势仍然要突出 挑选重要的、突出的表达 无关的、次要的不需要表达
-
真实性 可以包装,但不能伪造 量化指标去说明 前后 crash量的变化, 线上 bug数的变化 开发成本节约了多少
-
全面性 邮箱、联系方式等基本信息要全面 履历过的公司要全面 履历的每家公司尽量都有一个十分亮点的项目体现
-
简历涵盖的内容四要素 基本信息 工作经历 项目经验 擅长技能
OC语言¶
- 分类
- 关联对象
- 扩展,代理
- KVC, KVO
- NSNotification
- 属性关键字
Runtime¶
- 对象,类对象,元类对象
- 详细传递机制
- 详细转发流程
- 方法缓存
- Method-Swizzling
- 动态添加方法
内存管理¶
- ARC
- MRC
- 引用计数机制
- 弱引用表
- AutoReleasePool
- 循环引用
Block¶
- Block 的本质
- 截获变量特性
- __blcok 修饰符的本质
- Block的内存管理
- 循环引用
多线程¶
- GCD
- NSOperation/NSOperationQueue
- NSThread
- 线程同步,资源共享
- 互斥锁,自旋锁,递归锁等
RunLoop¶
- 什么是 RunLoop
- Mode/Source/Timer/Observer
- 事件循环机制
- RunLoop与 NSTimer
- RunLoop与线程之间的关系
- 常驻线程
网络¶
- HTTP 协议
- HTTPS 与网络安全
- TCP/UDP
- DNS 解析
- Session / Cookie
设计模式¶
- 六大设计原则
- 责任连
- 桥接
- 适配器
- 单例
- 命令
架构/框架¶
- 图片缓存框架
- 时长统计框架
- 复杂页面架构
- 客户端整体架构
算法¶
- 字符串反转
- 链表反转
- 有序数组合并
- Hash算法
- 查找两个子视图的共同父视图
- 求无序数组中的中位数
第三方库¶
- AFNetworking
- SDWebImageView
- Reactive Cocoa
- AsyncDisplayKit