1 / 5
文档名称:

iOS开发高级程序员面试题-答案.doc

格式:doc   大小:18KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

iOS开发高级程序员面试题-答案.doc

上传人:wz_198614 2017/10/31 文件大小:18 KB

下载得到文件列表

iOS开发高级程序员面试题-答案.doc

相关文档

文档介绍

文档介绍:iOS开发高级程序员面试题-答案
一、判断题(每题2分,共20分)
1、UITableView能够绑定多个数据源。(错)
2、一个UIViewController可以管理多个UITableView。(对)
3、Object-c的类可以多重继承。(错)
4、objective-c类里面的方法只有两种, 静态方法和实例方法。(对)
5、NSFileManager和NSWorkspace在使用时都是基于进程进行单件对象的实例化。(对)
6、用类别增加方法时,不能与原来类中的方法产生名称冲突。(错)
7、frame指的是该view在本身坐标系统中的位置和大小。(错)
8、method是一个方法的名字,selector是一个组合体。(错)
9、ARC是编译特性,不是运行时特性,在编译时,编译器会自动加上释放代码。(对)
10、从iOS4之后,Safari支持全屏浏览,Siri支持普通话。(对)
二、填空题(每空2分,共20分)
1、iOS是使用Objective-C语言编写的,使用该语言开发的Cocoa是一款功能强大的用户界面工具包,也是iOS的核心。
2、数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。链表恰好相反,其中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。
3、发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。而发送异步请求不会阻塞主线程,会建立一个新的线程来操作,之后程序可以继续运行。
4、autorelease只是把Object放入了当前的autorelease pool中,当它被释放时,其中的所有Object都会被调用Release。
5、作为Objective-C导入头文件的关键字,#import<>用来包含系统的头文件,#import””用来包含用户头文件。
三、简述题(每题4分,共20分)
1、delegate和notification有什么区别,什么情况下使用?
答:delegate:消息的发送者(sender)告知接收者(receiver)某个事件将要发生,
delegate同意然后发送者响应事件,delegate机制使得接收者可以改变发送者的行为。
通常发送者和接收者的关系是直接的一对多的关系。
notification:消息的发送者告知接收者事件已经发生或者将要发生,仅此而已,接收者并不能反过来影响发送者的行为。通常发送者和接收者的关系是间接的多对多关系。
2、Object-C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?
答:线程创建有三种方法:使用NSThread创建、使用 GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue。
在主线程执行代码,方法是 performSelectorOnMainThread。
如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone。
3、iOS有哪些数据持久化方式?
答:四种:属性列表、对象归档、SQLi