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?

类别主要有3个作⽤:
(1)将类的实现分散到多个不同⽂件或多个不同框架中。
(2)创建对私有⽅法的前向引⽤。
(3)向对象添加⾮正式协议。

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

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

会产生新的类

3. Difference between categories and extensions?


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

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

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

注意:继承和类扩展都可以扩充方法和成员变量,但是继承会产生新的类,但是类扩展不会产生新的类。

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


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

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

注意:protocol简单来说就是一系列方法列表,可以声明很多方法,声明方法可以被任何类实现,称为代理模式。

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


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

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

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


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

2> 多态性

3> 消息机制

7. What is push notification?


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

2> 远程推送:由推送服务器推送通知到用户设备

8. What is Polymorphism?


多态:父类指针指向子类对象

9. What is responder chain?



 响应者链:

l UIResponder有一个nextResponder属性,通过该属性可以组成一个响应者链,事件或消息在其路径上进行传递

l 如果UIResponder没有处理传给它的事件,会将未处理的消息转发给自己的nextResponder

10. Difference between frame and bounds?


1> frame以父控件的左上角为坐标原点

2> bounds以控件本身的左上角为坐标原点

11. Difference between method and selector?


selector是一个方法的名字,通过一个selector可以找到方法地址,进而调用一个方法 ;method是一个组合体,包含了名字和实现.

12. Is there any garbage collection mechanism in Objective C.?


1> OC 1.0没有垃圾回收

2> OC 2.0有垃圾回收,只能用在Mac上

3> iOS中有ARC机制,是编译器特性,垃圾回收是运行时特性

13. What is NSOperation queue?


1> 用来存放NSOperation对象的队列,可以用来异步执行一些操作

2> 一般可以用在网络请求等耗时操作

14. What is lazy loading?


延迟加载:比如控制器的view,在第一次用到view时才会调用loadView方法进行创建

15. Can we use two tableview controllers on one viewcontroller?

一个控制器内部添加2个表格控制器是没有问题的,加判断条件判断是哪个tableview。

16. Can we use one tableview with two different datasources? How you will achieve this?



从对象属性上分析,tableView只有一个dataSource属性。当然,真要使用2个不同的数据源,也是可以的。

iOS笔试题02的更多相关文章

  1. YouKu iOS笔试题一

    序言 最近收到某某同学将去youku的iOS笔试题的邮件,希望笔者能整理一下,并提供参考答案.笔者决定整理出来,并分享给大家.当然,与此同时,也想看看youku的笔试题到底有多难,也考考自己有多少料吧 ...

  2. 一份中规中矩的 iOS笔试题

    一.背景 因为一些原因,我从公司离职,在此之前,我需要帮忙招聘一个新人来做我的工作,于是就有了这篇文章. 由于公司项目16年就已经上线了,前同事写的项目中,有用xib.storyBoard.代码自动布 ...

  3. 2016年iOS笔试题

    收集了一些ios面试的一些基础的试题,其中也有一些较难的 1.请简述UIView与CALayer有什么不同.2.Block什么情况下会保留实体内引用到外部对象,什么时候要用__block或__weak ...

  4. ios笔试题(选择题)

    1-10 C语言 & 计算机基础 1.请看下面一段代码 static int a = 1; int main(){ int b = 2; char *c = NULL; c = (char * ...

  5. ios笔试题

    最近找工作,有面试有笔试部分,故把笔试题自己整理了下. 面试能力要求:精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义UI控件,使用类别扩展系统控件功能;   擅长通讯 ...

  6. iOS笔试题04

    1. Object-C有多继承吗?没有的话用什么代替?
 1> OC是单继承,没有多继承 2> 有时可以用分类category和协议protocol来代替多继承 2. Object-C有私 ...

  7. 面试中遇到的iOS笔试题

    1.浅复制和深复制的区别? 2.类别的作用(category)?继承和类别在实现有何区别? 3.类别(category)和类扩展(extension)的区别. 4.obc中的协议和java中的接口概念 ...

  8. iOS面试题 02

    在面试的时候,面试官问我,“你对内存管理了解的多吗?” 我忘了当时是怎么回答的了,但是,肯定是一时没想起来怎么回答. 1.谁创建谁释放 2.autoreleasepool 3.retain,copy, ...

  9. iOS 笔试题

    转:http://blog.sina.com.cn/s/blog_b0c5954101014upb.html 1.截取字符串”20|http://www.621life.com“ 中 ‘|’字符前面及 ...

随机推荐

  1. Nutch2.1+mysql+solr3.6.1+中文网站抓取

    1.mysql 数据库配置 linux mysql安装步骤省略. 在首先进入/etc/my.cnf (mysql为5.1的话就不用修改my.cnf,会导致mysql不能启动)在[mysqld] 下添加 ...

  2. HaspMap和ConcurrentHashMap

    参考自:http://www.importnew.com/28263.html HaspMap和ConcurrentHashMap(康科瑞特哈希迈普) Java7 HashMap 不支持并发操作,Ha ...

  3. CH5101 LCIS(最长公共上升子序列) 题解

    每日一题 day16 打卡 Analysis 设F[i,j]表示A[1..i]与B[1..j]并且以B[j]结尾的两段最长公共上升子序列,那么我们可以发现这样的转移 (1)A[i]==B[j]时 F[ ...

  4. VsCode安装Go的相关插件

    今天在学习Go的时候,安装Go的相关插件,显示安装不上,但是右下角也一直会提示让你安装,当然你可以设置成忽略,为了开发效率,我选择了安装.然后出现了问题,一直Failed.在网上看到了很多的文章,不是 ...

  5. easy-table-vue+VueJs、SpringBoot+Mybatis实现MVVM模型前后台数据交互

    该项目分为前端展示部分和后台服务部分. 前端部分 使用的技术是:NodeJs.Webpack.VueJs 使用的组件库是:IVIEW.easy-table-vue 使用的开发工具是:WebStorm ...

  6. Linux中的MySQL授权远程连接

    Linux中 MySQL 授权远程连接 参考地址:https://www.centos.bz/2018/10/linux%e4%b8%ad-mysql-%e6%8e%88%e6%9d%83%e8%bf ...

  7. BZOJ4237稻草人——单调栈+CDQ分治

    题目描述 JOI村有一片荒地,上面竖着N个稻草人,村民们每年多次在稻草人们的周围举行祭典. 有一次,JOI村的村长听到了稻草人们的启示,计划在荒地中开垦一片田地.和启示中的一样,田地需要满足以下条件: ...

  8. 一篇文章彻底搞懂base64编码原理

    开始 在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理又了解多少?今天这篇文章带领大家了解一下Base64的底层实现. base64是什么东东呢? Base64 ...

  9. buoyantSimpleFoam求解器:恒热流壁面【翻译】

    翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam-solving/148183-buoyantsimplefoam-fixed ...

  10. GO 包相关

    1 包编译,eg: 引用pkgtest包 pkgtest包没有任何编译,项目直接导入引用,项目编译时实际是会编译pkgtest并在pkg\windows_386下生成pkgtest.a文件 再编译项目 ...