9月26号 视频一二三面

快手一面:40分钟

1.iOS反射机制

2.iOS的timer和CADisplay的区别

2.二叉树,二叉平衡树,AVL,红黑树,B树的区别

3.二叉树公共节点

4.随机数生成,真随机数和伪随机数

5.不用第三者,怎么交换两个数

6.1000个瓶子,里面有1瓶毒药,只有10只老鼠,老鼠吃了之后一星期会死亡,怎么测试。2^10 = 1024

其他问题为计算机网络问题

快手二面:90分钟

1.UI的渲染步骤,视图打包流程,cpu和gpu工作,为什么要双缓冲区

2.图片怎么显示的,以及图片缓冲区

3.NSObject结构体里面有什么,大小为什么是16字节

4.KVO怎么实现,_会不会触发,成员变量会不会触发,kvc+成员变量会不会触发,不用setter怎么触发kvo

5.操作系统内存布局,有什么区

6.一个OC对象的内存布局

7.滑动优化怎么搞

8.什么是runtime,什么是runloop,有几种mode

9.NSObject的内存布局

10.isa指针和super指针

11.元类是什么

12.所有OC对象都继承与NSObject吗

id是什么

13.SDWebImage的清除缓存策略(我说了YYCache。。)

14.block是什么

15.LRU算法怎么实现

16.Swift和OC的方法调用(静态派发和动态派发)

17.两个链表的公共结点

18.链表中环开始的地方,原理说出来

19.项目里面最体现你技术的点。

快手三面:25分钟

1.什么是hash

2.hash的具体实现,程序里面一个对象怎么通过hash定位到具体的内存区。

3.hash数组扩容(说了数组到某阀值扩容并且拷贝)

4.一个天平,4个砝码,能秤出多少种重量.我没了解清楚面试官说的四个砝码重量是不是一样?一样的情况下不是就四种吗😥这题真不会。