1.介绍iOS设计模式MVC,MVVM, MVP以及它们之间的区别?
2.简述内存管理
3.#import和#include的区别?#import和@class的区别?
4.介绍深复制和浅复制
5.为什么说oc是一门动态语言
6.介绍runtime机制
7简述.kvo和kvc的原理
8.代理和block的作用与区别
9.开发中都使用什么三方库
10.iOS的几种存储方式
11.iOS 的传值方式
12.简述事件响应者链
13.UITableview的优化方法(缓存高度,异步绘制,减少层级,hide,避免离屏渲染)
14.UIView和CALayer是啥关系
15.谈下Objective C都有哪些锁机制,你一般用哪个
16.简述ViewController的几个生命周期
17.定义属性的时候,什么情况使用copy、assign和retain
18.沙盒中一共有几个文件夹,请简述它们的作用?
19.多线程的优点和缺点分别是什么?
20.简述runloop机制
21.简单描述一下SDWebImage的原理和实现机制,以及SDWebImage的底层实现。
22.简述__weak和__block修饰符的区别。
23.@property的本质是什么?
24.+(void)load和 +(void)initialize 分别在什么时候被调用?
25.frame 和 bounds 的区别是什么?
26.什么是进程?什么是线程?iOS多线程有几种,你平常开发喜欢用那种?
27.说一下属性nonatomic与atomic区别,atomic是绝对安全的吗?谈谈你的看法。
28.说一下分类的实现原理,分类为什么会覆盖原类的方法?
29.NS_ENUM VS. NS_OPTIONS的区别
30.内存泄露的几种情况分析
31.简述oc消息发送和转发机制
32.instancetype和id的区别
33.简述tcp与udp
34.get和post区别
35.属性的实质是什么?包括哪几个部分?属性默认的关键字都有哪些?@dynamic关键字和@synthesize关键字是用来做什么的?
36.可变集合类 和 不可变集合类的 copy 和 mutablecopy有什么区别?如果是集合是内容复制的话,集合里面的元素也是内容复制么?
37.进程和线程的区别?同步异步的区别?并行和并发的区别?
38.线程间通信?
39. block的实质是什么?一共有几种block?都是什么情况下生成的?
40.runloop是来做什么的?runloop和线程有什么关系?主线程默认开启了runloop么?子线程呢?
41.类方法和实例方法有什么区别?
42.AFN为什么添加一条常驻线程?