##头条
#####一面
* 1、自我介绍
* 2、项目相关
* 3、怎么自定义导航跳转
* 4、谈谈runtime的理解
* 5、KVC的用途
###属于你的iOS面试专属资料!
领取地址:https://github.com/uzi-yyds-code/Good-interview
* 6、使用method swizzling要注意什么?(进行版本迭代的时候需要进行一些检验,防止系统库的函数发生了变化)
* 7、谈对引用计数的理解
* 8、谈谈runloop的理解
* 9、runloop有哪些状态
* 10、autoreleasepool的使用场景
* 11、TableView优化,怎么减少卡顿
* 12、copy assign retain weak关键词
* 13、JSON转Model
* 代码布局
* 多屏幕适配
* HTTP请求头和响应头
* Cookie
* NSCache
* 自己设计一个缓存器
* 怎么实现LRU
* SDWebImage
* 二叉树先序遍历(递归和非递归)
####二面
* MVC的一些缺点
* 讲一讲其它架构
* 你知道哪些编码方式
* 算法字符串翻转
* 多线程的方式和它们的区别
* 队列和线程的关系
* 一道线程安全的题
* 有哪些锁
* 属性的关键字
* assign可以用于OC对象吗
* copy和strong的区别
* weak如何实现自动赋nil
* 为什么不可变对象要用copy
* assing可以使用在对象中吗
* Pod update和pod install的区别
* layoutIfNeeded和setNeedsLayout的区别
* 抓包工具抓取HTTPS的原理
* isEquel和hash的关系
* bitmap的结构
* 可变数组的实现原理
* 如何hook一个对象的方法,而不影响其它对象
* 如何避免if else
* 自旋锁和互斥锁的区别
####三面
* 介绍项目,主要介绍自己强项一点的地方
* 数组cop后里面的元素会复制一份新的吗
* 数组的浅拷贝与深拷贝
* TCP为什么是三次握手和四次挥手
###属于你的iOS面试专属资料!
领取地址:https://github.com/uzi-yyds-code/Good-interview