dSYM你是如何分析的?
多线程有哪几种?你更倾向于哪一种?
单例弊端?
如何把异步线程转换成同步任务进行单元测试?
介绍下App启动的完成过程?
比如App启动过慢,你可能想到的因素有哪些?
0x8badf00d表示是什么?
怎么防止反编译?
说说你遇到到的技术难点?
说说你了解的第三方原理或底层知识?
答案详见:http://url.cn/5oWSdgZ
MVC 具备什么样的优势,各个模块之间怎样通信,点击 button 后怎样通知 model?
两个无线长度链表(也就是可能有环)判断有没有交点?
UITableView 的相关优化?
Delegate、Notification 和 KVO 比较各自的优缺点、效率还有使用场景?
如何手动通知 KVO?
OC 中的 copy 方法?
runtime 中,SEL 和 IMP 的区别?
autoreleasepool 的使用场景和原理?
RunLoop 的实现原理和数据结构,什么时候会用到?
block 为什么会有循环引用?
使用 GCD 如何实现这个需求: A、B、C 三个任务并发,完成后执行任务 D?
NSOperation 和 GCD 的区别?
CoreData的使用,如何处理多线程问题?
如何设计图片缓存?
有没有自己设计过网络控件?
阿里一面
- 先介绍了项目,然后问了一些项目中的问题,然后开始问基础
- 属性的关键字
- 浅拷贝和深拷贝的区别
- Block的循环引用、如何解决、原理
- 三种Block
- Block和delegate的比较
- kvo的实现原理
- Autorelease pool的实现原理
- 消息转发机制
- 线程死锁的四个条件
- 进程和线程的区别
- 持久化
- 还问了数据库的知识我当时说我全忘了就没问了
- 中途还讨论了massonery的约束应该写在哪里,我说应该写在layoutSubViews,他说会调用多次,然后争论了一会儿
阿里二面
- 介绍项目
- 性能优化
- YYModel和AF源码
- 如何自己设计json转model
- 架构
- 迷之算法题
阿里三面
- 一个安卓的面试官。。。。。
- 主要问了项目的一些东西 和给一些场景问我如何实现
- 自我介绍 介绍一些项目难点
- 主线程是相对于什么而言的
- 一张图片的内存占用大小是由什么决定的
- 索引的作用
- 索引的优缺点
- 在数组中找最小的k个数
- 淘宝下拉加载更多如何优化
- 淘宝页面发送HTTP请求的过程
- 介绍一下MVVM
- 知道哪些设计模式