警告:必定要把英文题目过一遍,有些公司的题目故意弄成英文的!!!java
Difference between shallow copy and deep copy?服务器
浅拷贝:指针(地址)拷贝,不会产生新对象 网络
深拷贝:内容拷贝,会产生新对象异步
What is advantage of categories? What is difference between implementing a category and inheritance? this
分类能够在不修改原来类模型的基础上拓充方法编码
分类只能扩充方法、不能扩充成员变量;继承能够扩充方法和成员变量代理
继承会产生新的类指针
Difference between categories and extensions?对象
分类是有名称的,类扩展没有名称继承
分类只能扩充方法、不能扩充成员变量;类扩展能够扩充方法和成员变量
类扩展通常就写在.m文件中,用来扩充私有的方法和成员变量(属性)
Difference between protocol in objective c and interfaces in java?
Java的接口中声明的方法必须都实现
Oc的protocol中声明的方法并不必定要实现
What are KVO and KVC?
KVC是键值编码,能够经过一个字符串的key(属性名)修改对象的属性值
KVO是键值监听,能够监听一个对象属性值的改变
What is purpose of delegates?
两个对象之间传递数据和消息
解耦,拆分业务逻辑
What are mutable and immutable types in Objective C?
mutable是可变类型,好比NSMutableArray,能够动态往里面添加元素
immutable是不可变类型,好比NSArray,固定的存储空间,不能添加元素
When we call objective c is runtime language what does it mean?
动态绑定:对象类型在运行时才真正肯定
多态性
what is difference between NSNotification and protocol?
经过NSNotification能够给多个对象传递数据和消息
经过protocol(代理模式)只能给一个对象传递数据和消息
What is push notification?
本地推送:程序内部弹出通知到用户设备
远程推送:由推送服务器推送通知到用户设备
What is Polymorphism?
多态:父类指针指向子类对象
What is Singleton?
单粒:保证程序运行过程当中,永远只有一个对象实例
目的是:全局共享一份资源、节省没必要要的内存开销
What is responder chain?
响应者链:
UIResponder有一个nextResponder属性,经过该属性能够组成一个响应者链,事件或消息在其路径上进行传递
若是UIResponder没有处理传给它的事件,会将未处理的消息转发给本身的nextResponder
Difference between frame and bounds?
frame以父控件的左上角为坐标原点
bounds以控件自己的左上角为坐标原点
Difference between method and selector?
经过一个selector能够找到方法地址,进而调用一个方法
Is there any garbage collection mechanism in Objective C.?
OC 1.0没有垃圾回收
OC 2.0有垃圾回收,只能用在Mac上
iOS中有ARC机制,是编译器特性,垃圾回收是运行时特性
What is NSOperation queue?
用来存放NSOperation对象的队列,能够用来异步执行一些操做
通常能够用在网络请求等耗时操做
What is lazy loading?
延迟加载:好比控制器的view,在第一次用到view时才会调用loadView方法进行建立
Can we use two tableview controllers on one viewcontroller?
从技术角度上分析,一个控制器内部添加2个表格控制器是没有问题的
Can we use one tableview with two different datasources? How you will achieve this?
从对象属性上分析,tableView只有一个dataSource属性。固然,真要使用2个不一样的数据源,仍是有其余办法解决的