IOS 笔试题(二)

警告:一定要把英文题目过一遍,有些公司的题目故意弄成英文的!!!

1. Difference between shallow copy and deep copy?

1> 浅拷贝:指针(地址)拷贝,不会产生新对象 

2> 深拷贝:内容拷贝,会产生新对象

 

2. What is advantage of categories? What is difference between implementing a category and inheritance? 

1> 分类可以在不修改原来类模型的基础上拓充方法

2> 分类只能扩充方法、不能扩充成员变量;继承可以扩充方法和成员变量

3> 继承会产生新的类

 

3. Difference between categories and extensions?


1> 分类是有名称的,类扩展没有名称

2> 分类只能扩充方法、不能扩充成员变量;类扩展可以扩充方法和成员变量

3> 类扩展一般就写在.m文件中,用来扩充私有的方法和成员变量(属性)

 

4. Difference between protocol in objective c and interfaces in java?


1> Java的接口中声明的方法必须都实现

2> Ocprotocol中声明的方法并不一定要实现

 

5. What are KVO and KVC?

1> KVC是键值编码,可以通过一个字符串的key(属性名)修改对象的属性值

2> KVO是键值监听,可以监听一个对象属性值的改变

 

6. What is purpose of delegates?


1> 两个对象之间传递数据和消息

2> 解耦,拆分业务逻辑

 

7. What are mutable and immutable types in Objective C?


1> mutable是可变类型,比如NSMutableArray,可以动态往里面添加元素

2> immutable是不可变类型,比如NSArray,固定的存储空间,不能添加元素

 

8. When we call objective c is runtime language what does it mean?


1> 动态绑定:对象类型在运行时才真正确定 

2> 多态性

3> 消息机制

 

9. what is difference between NSNotification and protocol?


1> 通过NSNotification可以给多个对象传递数据和消息

2> 通过protocol(代理模式)只能给一个对象传递数据和消息 

 

10. What is push notification?

1> 本地推送:程序内部弹出通知到用户设备


你可能感兴趣的:(ios,笔试题)