ios开发高级程序员面试题.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、判断题(每题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语言编写的,使用该语言开发的Coco 是一款功能强大的用户 界面工具包,也是iOS的核心。 2、数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速 访问数组中任何元素。链表恰好相反,其中的元素在内存中不是顺序存储的,而是通过 存在元素中的指针联系到一起。 3、发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一 步操作。而发送异步请求不会阻塞主线程,会建立一个新的线程来操作,之后程序可以 继续运行。 4、autorelease只是把Object放入了当前的autoreleasepool中,当它被释放时,其中 的所有Object都会被调用Release。 5、作为Objective-C导入头文件的关键字,#import用来包含系统的头文件,#import”” 用来包含用户头文件。 三、简述题(每题4分,共20分) 1、delegate和notification有什么区别,什么情况下使用? 答:delegate:消息的发送者(sender)告知接收者(receiver)某个事件将要发生, delegate同意然后发送者响应事件,delegate机制使得接收者可以改变发送者的行为。 1 通常发送者和接收者的关系是直接的一对多的关系。 notification:消息的发送者告知接收者事件已经发生或者将要发生,仅此而已,接收 者并不能反过来影响发送者的行为。通常发送者和接收者的关系是间接的多对多关系。 2、Object-C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果 想延时执行代码、方法又是什么? 答:线程创建有三种方法:使用NSThread创建、使用 GCD的dispatch、使用子类化的 NSOperation,然后将其加入NSOperationQueue。 在主线程执行代码,方法是 performSelectorOnMainThread。 如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone。 3、iOS有哪些数据持久化方式? 答:四种:属性列表、对象归档、SQLite3和Core Data。 4、Objective-C如何对内存管理的,说说你的看法和解决方法? 答:Objective-C的内存管理主要有三种方式ARC (自动内存计数)、手动内存计数、内 存池。解决方法的话:谁持有,谁释放。 5、如何对iOS设备进行性能测试? 答:Profile- Instruments -Time Profiler。 四、问答题(每题10分, 20分) 1、什么是MVC,为什么使用MVC,有什么好处?描述一下iOS SDK中如何实现MVC的开发 模式。 答:MVC分别为:模型(Model),视图(View)和控制Controller)。 模型(Model):即“数据模型”,用于封装与应用程序的业务逻辑相关的数据以及对 数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。 视图(View):视图层能够实现数据有目的显示。 控制器(Controller):控制器起到不同层面间的组织作用,用于控制应用程序的流程。 对于iOS SDK,所有的View都是视图层的,它应该独立于模型层,由视图控制层来控制。 所有的用户数据都是模型层,它应该独立于视图。所有的ViewController都是控制层, 由它负责控制视图,访问模型数据。 2、请阐述UIViewController的生命周期,包括代码的执行顺序。

文档评论(0)

housufang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档