开始了哈...~~~~
1.MVC具有什么样的优势,各个模块之间怎么通信,比如点击 Button 后 怎么通知 Model?
2.两个无限长度链表(也就是可能有环) 判断有没有交点
3.UITableView的相关优化
4.KVO、Notification、delegate各自的优缺点,效率还有使用场景
5.如何手动通知KVO
6.Objective-C 中的copy方法
7.runtime 中,SEL和IMP的区别
8.autoreleasepool的使用场景和原理
9.RunLoop的实现原理和数据结构,什么时候会用到
10.block为什么会有循环引用
11.有没有自己设计过网络控件? 12.NSOperation和GCD的区别
12.CoreData的使用,如何处理多线程问题
13.如何设计图片缓存?
14.有没有自己设计过网络控件?
15.怎么判断某个 cell 是否显示在屏幕上
16.进程和线程的区别
17.TCP 与 UDP 区别
18.TCP 流量控制
19.数组和链表的区别
20.UIView 生命周期
21.如果页面 A 跳转到 页面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪个先调用?
22.block 循环引用问题
23.ARC 的本质
24.RunLoop 的基本概念,它是怎么休眠的?
25.Autoreleasepool 什么时候释放,在什么场景下使用?
26.如何找到字符串中第一个不重复的字符
27.哈希表如何处理冲突
28.dSYM你是如何分析的?
29.多线程有哪几种?你更倾向于哪一种?
30.单例弊端?
31.如何把异步线程转换成同步任务进行单元测试?
32.介绍下App启动的完成过程?
33.比如App启动过慢,你可能想到的因素有哪些?
34.0x8badf00d表示是什么?
35.怎么防止反编译?
36.说说你遇到到的技术难点?
37.说说你了解的第三方原理或底层知识?
38.UITableview的数据源为什么是代理。而不是直接引用
39.谈谈你对Objective-C 的动态绑定理解
40.异步网络图片加载的设计思路
41.异步网络接口的缓存机制
42.给定一个 UIView 树,保证每一个结点View的Tag都不相同,让查询从rootView到指定Tag的View树上路径,抽象成多叉树的深度优先搜索来做
43.ARC和MRC。iOS内存管理跟GC的区别
44.单链表给一个指针,删除这个指针指向的节点。要写代码
45.项目框架,分层(很重视),画图表示
46.AFN,URLSession,相互关系
47.AutoReleasepool 的 倾倒方法 和 release方法的区别
48.UIView 做动画方法的底层实现
49.如果有1w张图片要在屏幕滚动显示(每张图片满屏), 至少要几个cell, 如何实现循环滚动
50.平时自己有没有封装过比较复杂的控件