阿里一面:
MVC具有什么样的优势,各个模块之间怎么通信,比如点击 Button 后 怎么通知 Model?- 两个无限长度链表(也就是可能有环) 判断有没有交点
UITableView的相关优化KVO、Notification、delegate各自的优缺点,效率还有使用场景- 如何手动通知
KVO - Objective-C 中的
copy方法 - runtime 中,
SEL和IMP的区别 autoreleasepool的使用场景和原理RunLoop的实现原理和数据结构,什么时候会用到block为什么会有循环引用- 使用
GCD如何实现这个需求:A、B、C 三个任务并发,完成后执行任务 D。 NSOperation和GCD的区别CoreData的使用,如何处理多线程问题- 如何设计图片缓存?
- 有没有自己设计过网络控件?
阿里二面:
- 怎么判断某个
cell是否显示在屏幕上 - 进程和线程的区别
TCP与UDP区别TCP流量控制- 数组和链表的区别
UIView生命周期- 如果页面 A 跳转到 页面 B,A 的
viewDidDisappear方法和 B 的viewDidAppear方法哪个先调用? block循环引用问题ARC的本质RunLoop的基本概念,它是怎么休眠的?Autoreleasepool什么时候释放,在什么场景下使用?- 如何找到字符串中第一个不重复的字符
- 哈希表如何处理冲突




