面试题重点:
1. 简述一下MVC,MVC的缺点,MVVM的使用 2. 简述一下runloop
3. 运行时runtime的底层,应用
4. SDWebImage的底层实现,缓存大量图片的实现 5. SDWebImage如何防止图片错位
6. 什么是NSTimer,NSTimer放到子线程上会出现什么后果 7. tableView的优化 8. 支付宝支付流程
9. 友盟分享流程,两种登录方式的实现 10. 推送的流程,第三方推送的使用JPush 11. 百度地图的功能,搜索和定位
12. 简述单例,单例的应用,单例的写法,多个子线程用到单例的后果 13. FMDB的使用,简单的增删改查 14. Coredata和sqlite的区别及使用 15. Get和Post网络请求的区别
16. AFNetworking的底层,2.0版本3.0版本的不同,以及和ASI的区别 17. AFNetworking如何取消一个下载任务 18. Xib开发的优缺点
19. 自动布局的实现,第三方框架masory 20. 在哪使用到socket的,三方socket的使用 21. 上架的流程以及遇到的问题
22. 简述通知 KVO KVC 代理,在哪使用到KVO,KVC,代理和通知 23. 介绍KVO 代理通知block在对象之间通信的区别 24. 通知的注销,KVO的注销怎么实现 25. 可以不可以使用通知取代代理
26. cell的行高预估以及动态行高的计算 27. 订单加密的方法以及过程
28. NSUserDefault和解档归档有什么区别 29. NSUserDefault里面可以存哪些数据,
30. 沙盒里有哪些文件夹,存放哪些东西,有什么不同 31. Cell的重用的原理及实现
32. 如何拼接图片,或者把下载的两张图片融合成一张图片 33. 同步的方式及调度组
34. 循环引用的产生以及场景,如何防止循环引用 35. copy和strong的区别
36. 什么时候使用weak什么时候使用strong 37. __weak和__block的区别 38. 数据的持久化方案有哪些
39. 介绍GCD,NSOperation,NSThread,PThread的优缺点及区别,GCD有哪些队列 40. 线程和进程的关系 41. 线程的同步有几种方式 42. 性能的优化
43. html5和app之间的交互 44. json和xml的数据解析 45. iOS9的新特性 46. 下拉刷新的实现
47. git管理遇到冲突怎么办
48. 简述响应者链条和事件响应的传递 49. static的作用