简单总结一下,面试的时候最起码可以答上来
一、UI视图
流式页面的性能优化
二、OC语言
KVO
分类
三、Runtime
一个类对象查找方法,我们都知道是先从缓存列表中去查找,然后在去方法列表里查找,这样就能快速的查找到相关的imp,但是当我们没有查找到相应的imp时,系统又会做一些什么事情呢?带着这样的好奇我们开始源码的探究,我们知道如果一个方法没有实现,运行时是会崩溃并且报错;如下所示:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[LGPerson sayNB]: unrecognized selector sent to class 0x1000022a8'
四、内存
引用计数表
弱引用表
ARC、MRC
内存管理
五、Block
Block本质
截获变量特性
六、多线程
GCD、NSOperation
资源共享
线程同步
SpinLock等
七、RunLoop
事件循环
用户态
核心态
常驻线程
八、网络
HTTPS、http
对称加密算法
非对称加密
DNS解析
HTTP、TCP
九、设计模式
桥接、适配器、命令
责任链、单例
六大设计原则
十、架构/框架
MVVM、时长统计框架
图片缓存框架
PV量级10亿级业务架构
十一、算法
字符串反转
单链表反转
有序数组归并
无序数组找中位数
十二、第三方
AFNetworking
ReactCocoa
响应式编程库
网友评论