重点:
UI视图,OC语言,Runtime,内存,Block,多线程,Runloop,网络,设计模式,架构/框架,算法,第三方
1.系统的UI事件传递机制是怎样的?
2.KVC,KVO的实现原理是怎样的?
3.简单说说消息传递机制和消息转发流程
4.当一个obj废弃的时候,指向它的weak指针为何会自动置为nil 实现原理?
5.Block的实质是怎样的?使用Block为何会产生循环引用?如何避免循环引用?
6.简单说说怎样利用GCD实现高效的多读单写逻辑?
7.Runloop是什么?作用是什么?内部工作机制?Runloop为何能做到有事做事,没事休息?
8.Runtime是什么?什么是 isa,isa 的作用是什么?一个实例对象的isa 指向什么?类对象指向什么?元类isa 指向什么?objc 中类方法和实例方法有什么本质区别和联系?
8.怎样解决DNS劫持?
9.分别说说什么是桥接模式,责任链模式?
10.怎样设计一个图片缓存框架?
11.请编写查找一个字符串中,第一个只出现一次的字符的算法?
12.AFNetWorking大致是怎样实现的?SDWebImage实现原理是什么? 它是如何解决tableView的复用时出现图片错乱问题的呢?
?描述下SDWebImage里面给UIImageView加载图片的逻辑
?YYModel?
13.浅谈iOS开发中方法延迟执行的几种方式
14.请简单的介绍下APNS发送系统消息的机制
15.HTTP有哪些部分?HTTP的协议特点?Http2.0如1.x的区别(百度一面)?HTTP建立流程(三次握手,四次挥手),HTTP的缺陷,socket 连接和 Http 连接的区别,get和post的区别(美团一面)
16.HTTPS相关(区别,加密流程,加密手段)
17.传输层协议TCP和UDP的区别
18 如何实现 dispatch_once,为什么可以保证只运行一次?
19 iOS读写锁的几种方法? iOS开发中的11种锁以及性能对比
20 算法
(1).时间复杂度 (2)空间复杂度 (3)常用的排序算法(1、冒泡排序 2、选择排序3、插入排序4、希尔排序5、快速排序6、归并排序7、堆排序)* 常见的7种排序算法
(2)字符串反转
(3)链表反转
(4)有序数组合并
(5)查找第一个只出现一次的字符(Hash查找)
(6)查找两个子视图的共同父视图
(7)无序数组中的中位数(快排思想)
网友评论