原文地址: https://www.jianshu.com/p/3053eb860997
目录: 1 、iOS 基础题 2 、iOS 实战题 3 、网络题 4 、计算机系统题 5 、设计模式题 6 、架构 & 设计题 7 、数据结构&算法题
1 、iOS 基础题
1,分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员?
2,讲一下 atomic 的实现机制;为什么不能保证绝对的线程安全(最好可以结合场景来说)?
3,被 weak 修饰的对象在被释放的时候会发生什么?是如何实现的?知道 sideTable 么?里面的结构可以画出来么?
4,Autoreleasepool 所使用的数据结构是什么? AutoreleasePoolPage 结构体了解么?
5,讲一下对象,类对象,元类,跟元类结构体的组成以及他们是如何相关联的?为什么对象方法没有保存的对象结构体里,而是保存在类对象的结构体里?
6,iOS 中内省的几个方法? class 方法和 objc_getClass 方法有什么区别?
7,RunLoop 的作用是什么?它的内部工作机制了解么?(最好结合线程和内存管理来说)
8,哪些场景可以触发离屏渲染?(知道多少说多少)