




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 b 简述 OC 中内存管理机制。与 retain 配对使用的方法是 dealloc 还是 release,为什么?需要与 alloc 配对使用的方法是 dealloc 还是 release, 为什么?readwrite,readonly,assign,retain,copy,nonatomic 、atomic、strong 、weak 属性的作用?并区别 strong(强引用)、 weak(弱引用)?什么情况使用 copy,assign,和 retain? 引用计数机制进行内存管理。 dealloc release 因为 retain 就要销毁 创建就要释放 readwtite : 可读写( 设置器和访问器) readonly : 只读(访问器) assign : 只做赋值 retain,copy : 赋值并引用计数加 1 copy : 拷贝并引用计数加 1 nonatomic : 非原子性 anotamic : 原子性(保证多线程安全) strong : 打开 ARC 时才会使用,相当于 retain weak : 打开 ARC 时才会 使用,相当于 assign, 可以把对应的指针变量置为 nil copy : 适用于接受了 nscopy 协议的对象类型 assign : 适用于一般类型 retain : 适用于一般对象类型 2、 类变量的protected ,private,public,package,声明各有什么含义? protected : 受保护的,自己和自雷可以调用 private : 私有的, 只有自己可以调用 public : 公共的, 全局都可以调用 package : 本包内使用, 跨包不可以 3、 线程是什么?进程是什么?二者有什么区别和联系? 线程,有时称为轻量级进程,是被系统独立调度和CPU的基本运行单位。 进程是操作系统中可以并行工作的基本单位。 一个应用程序里至少有一个进程,一个进程里至少有一个线程 4、 谈谈你对多线程开发的理解?ios 中有几种实现多线程的方法? 在一个进程中有多个线程,每个线程有自己单独的任务 优点效率快 缺点不安全,耗费资源 有三种 第一种,使用synchronized(self) 第二种,使用GCD 第三种,使用NSOperationQueue 5、 多线程同步和异步的区别?IOS 中如何实现多线程的同步? 一个进程启动的多个不相干线程,它们相互之间关系为异步。 同步的话指的是多线程同时操作一个数据 这个时候需要对数据添 加保护 这个保护就是线程的同步。 用 GCD 中的串行队列来解释多线程的同步,也就是队列中的任务 为串行,它们各自对相邻的任务有依赖性,如果任务 1 不完成,那么任 务 2 就不会开始,这就是同步 6、 简述什么地方会用到多线程?谈谈多线程安全问题的几种解决方案?何 为线程同步,如何实现的?分线程回调主线程方法是什么,有什么作用? 7、 假设有一个字符串 aabcad,请写一段程序,去掉字符串中不相邻的重复 字符串,即上述字符串处理之后的输出结果为:aabcd NSMutableArray *marry = NSMutableArray allocinit; for (int i = 0; i 0; i-) NSInteger num = marry objectAtIndex:iintValue; str deleteCharactersInRange:NSMakeRange(num, 1); 8、 获取一台设备唯一标识的方法有哪些? UIID UUID MAC ADDRESS OPEN UDID 广告标示符 Vindor 标示符 9、 ios 类是否可以多继承?如果没有,那可以用其他方法实现吗?简述实现 过程。 没有 用 catogory 和 extension 可以实现 10、 堆和栈的区别? 堆需要用户手动释放内存,而栈则是编译器自动释放内存 11、 ios 本地数据存储都有哪几种方式? 1. NSKeyedArchiver(加密形式) 2. NSUserDefaults 3. Write写入方式 4. SQLite3 12、 写出方法获取 ios 内存使用情况。 void logMemoryInfo() 13、 深拷贝和浅拷贝的理解? 对一个实例进行深拷贝时当前类需要实现NSCopying协议。 浅拷贝是复制出来一个跟原对象是同一地址的对象,而深拷贝则是 复制出 来一个跟源对象不同地址的对象,改变原对象,对新对象没有影 响。 14、 怎样实现一个 singleton 的类。 单例 15、 什么是安全释放? 把对象指着置为 nil,再对其释放 16、 RunLoop 是什么? 17、 什么是序列化和反序列化,可以用来做什么?如何在 OC 中实现复杂对 象的存储? 18、 写一个标准宏 MIN,这个宏输入两个参数并返回较小的一个? 19、 垃圾回收机制是什么 iphone os 有没有垃圾回收机制?简单阐述一下 OC 内存管理。 20、 简述应用程序按 Home 键进入后台时的生命周期,以及从后台回到前台 时的生命周期? 21、 ViewController 的 alloc,loadView, viewDidLoad,viewWillAppear,viewDidUnload,dealloc、init 分别是在什么 时候调用的?在自定义 ViewController 的时候这几个函数里面应该做什 么工作? 22、 描述应用程序的启动顺序。 23、 为什么很多内置类如 UITableViewControl 的 delegate 属性都是 assign 而 不是 retain?请举例说明。 24、 使用 UITableView 时候必须要实现的几种方法? 25、 写一个便利构造器。 26、 UIImage 初始化一张图片有几种方法?简述各自的优缺点。 27、 回答 person 的 retainCount 值,并解释为什么 28、 这段代码有什么问题吗: 29、 这段代码有什么问题,如何修改 30、 截取字符串”20 | ”中, ”|”字符前面和后面的数据, 分别输出它们。 31、 用 obj-c 写一个冒泡排序 32、 简述你对 UIView、UIWindow 和 CALayer 的理解 33、 写一个完整的代理,包括声明,实现 34、 分析 json、xml 的区别?json、xml 解析方式的底层是如何处理的? 35、 ViewController 的 didReceiveMemoryWarning 是在什么时候被调用的? 默认的操作是什么? 36、 面向对象的三大特征,并作简单的介绍 37、 重写一个 NSStrng 类型的,retain 方式声明 name 属性的 setter 和 getter 方法 38、 简述 NotificationCenter、KVC、KVO、Delegate?并说明它们之间的区别? 39、 What is lazy loading? 40、 什么是 Protocol?什么是代理?写一个委托的 interface?委托的 property 声明用什么属性?为什么? 41、 分别描述类别(categories)和延展(extensions)是什么?以及两者的 区别?继承和类别在实现中有何区别?为什么 Category 只能为对象添加 方法,却不能添加成员变量? 42、 Objective-C 有私有方法么?私有变量呢?如多没有的话,有没有什么代 替的方法? 43、 #import、#include 和class 有什么区别 44、 谈谈你对 MVC 的理解?为什么要用 MVC?在 Cocoa 中 MVC 是怎么实现 的?你还熟悉其他的 OC 设计模式或别的设计模式吗? 45、 如监测系统键盘的弹出 46、 举出 5 个以上你所熟悉的 ios sdk 库有哪些和第三方库有哪些? 47、 如何将产品进行多语言发布? 48、 如何将敏感字变成* 49、 objc 中的减号与加号代表什么? 50、 单例目的是什么,并写出一个? 51、 说说响应链 52、 我们说的 OC 是动态运行时语言是什么意思?什么是动态识别,动态绑 定? 53、 分别描述内存管理要点、autorelease、release、NSAutoreleasePool?并 说明 autorelease 是什么时候被 release 的?简述什么时候由你负责释放 对象,什么时候不由你释放?NSAutoreleasePool release 和 NSAutoreleasePool drain有什么区别 54、 说说下面关键词在内存管理的作用: alloc、init 、copy 、retain 、release、autorelease、dealloc 、retaincount ? 55、 drawRect 和 layoutSubviews 的区别 56、 http 和 scoket 通信的区别?socket 连接相关库,TCP,UDP 的区别?http 的几种常用方式? 57、 什么是键-值,键路径是什么 58、 声明一个静态方法和一个实例方法? 59、 什么是 push?远程推送? 60、 init 和 initwithobject 区别(语法)? 61、 请写出代码,用 blocks 来取代上例中的 protocol,并比较两种方法的优势。 实际应用部分?请写出代码,用 blocks 取代协议或回调方法 62、 你做 iphone 开发时候,有哪些传值方式,view 和 view 之间是如何传值 的? 63、 给定的一个字符串,判断字符串中是否还有 png,有就删除它? 64、 对于语句 NSString* testObject = NSData alloc init;testObject 在编译时 和运行时分别是什么类型的对象? 65、 OC 中是所有对象间的交互是如何实现的? 66、 目标-动作机制 67、 for(int index = 0; index largenumber; index +) NSString *tempStr = ”tempStr”; NSLog(tempStr); NSNumber *tempNumber = NSNumber numberWithInt:2;(注意这行) NSLog(tempNumber); 这段代码有什么问题.?会不会造成内存泄露(多线程)?在内存紧张的 设备上做大循环时自动释放池是写在循环内好还是循环外好?为什么? 68、 描述上拉加载、下拉刷新的实现机制? 69、 什么是沙盒(sandbox)?沙盒包含哪些文件,描述每个文件的使用场 景。如何获取这些文件的路径?如何获取应用程序包中文件的路径? 70、 介绍一下 XMPP?有什么优缺点吗? 71、 谈谈对性能优化的看法,如何做? 72、 应用程序如何省电? 73、 写一个递归方法:计算 N 的阶乘,然后将计算结果进行存储。以便应用 退出后下次启动课直接获取该值。 74、 NSArray 和 NSMutableArray 的区别,多线程操作哪个更安全? 75、 当前有一个数组,里面有若干重复的数据,如何去除重复的数据?(会 几个写几个) 76、 isKindOfClass、isMemberOfClass 作用分别是什么? 77、 写出下面程序段的输出结果 NSDictionary *dict = NSDictionary dictionaryWithObject:“a string value“ forKey:“akey“; NSLog(“%“, dict objectForKey:“akey“); dict release; 78、 请写出以下代码的执行结果 NSString * name = NSString alloc init ; name = ”Habb”; name release; 79、 请分别写出 SEL、id 的意思? 80、 iPhone 上,不能被应用程序直接调用的系统程序是什么? 时钟、视频、指南针、天气、计算器、备忘录、提醒事件、股市 81、 以.mm 为拓展名的文件里,可以包含的代码有哪些?c 和 obj-c 如何混用? 如何在 Objective-C 中使用 C+类并成功编译? 82、 说说如何进行后台运行程序? 83、 sizeof 和 strlen 的区别和联系 84、 sprintf,strcpy,memcpy 的功能?使用上要有哪些要注意的地方 85、 自己写函数,实现 strlen 功能 86、 写一个代码片段输入一个字符串“20130322152832”,输出一个 NSDate 类型的对象,打印该对象输出 2013-03-22 15:28:32 87、 找错误 88、 用变量 a 写出以下定义 a、一个整型数 int a b、一个指向整型数的指针 int * a c、一个指向指针的指针,它指向的指针是指向一个整型数 int *a3; d、一个有 10 个整型数的数组 int a410; e、一个有 10 个指针的数组,该指针是指向一个整型数的 int *a510; f、一个指向有 10 个整型数数组的指针 int (*a6)10; g、一个指向函数的指针,该函数有一个整型参数,并返回一个整型数 int (*a7)(int); 89、 编写函数_memmove 说明如下:实现 C 语言库函数 memmove 的功能: 将一块缓冲区中的数据移动到另一块缓冲区中。可能有重复。 90、 什么叫数据结构? 91、 什么是抽象类?抽象类有什么作用?能实例化吗? 92、 考察对interface 和property 的理解? 93、 Iphone 开发中控制类有什么作用? 94、 线程中有哪些函数?写出来。 95、 有没有写过自定义的控件? 96、 调用一个类的静态方法需不需要 release? 97、 do-while 与 while-do 的区别? 98、 写出几个死循环? 99、 main.m 中都发生了什么? 100、 int retVal = UIApplicationMain(argc, argv, nil, nil); 是什么意思? 101、 编写 NSArray 的 setter 和 getter? 102、 cocoa touch 框架 103、 你了解 svn,cvs 等版本控制工具么? 104、 简述值传递和引用传递的区别? 105、 Cocoa 中有虚基类的概念么?怎么简洁的实现? 106、 关于 Objective-C+中的异常处理,可以相互捕获到吗? 107、 OC 中异常 exception 怎么捕获?不同的 CPU 结构上开销怎样?C 中又什 么类似的方法? 108、 obc 中可修改和不可以修改类型 109、 浅复制和深复制的区别? 110、 获取项目根路径,并在其下创建一个名称为 userData 的目录? 111、 objective-c 中的类型转换分为哪几类? 112、 xml 解析的原理是什么,你还用过其他解析方式么? 113、 iphone 阅读器,如果要读取一个文本文件,请问你是如何处理编码问题 的?另外像 pdf 格式的文件,你如何读取。? 114、 你在开发大型项目的时候,如何进行内存泄露检测的? 内存泄露怎么处 理? 115、 iphone app 为什么会被打回来,如何制止? 116、 iphone 应用程序的项目基本结构? 117、 编译语言和解释语言的区别 118、 给用户推送的通知的伪代码 119、 什么是动态链接库和静态链接库?调用一个类的静态方法需不需要 release? 120、 OC 中的数字对象都有哪些,简述它们与基本数据类型的区别是什么 121、 ios 平台怎么做数据的持久化 ?coredata 和 sqlite 有无必然联系?coredata 是一个关系型数据库吗? 122、 objc 优缺点 123、 objective-c 中的词典对象、可变词典对象是哪个,初始化一个含有两个 键值对的可变词典对象,并动态的添加和删除一条记录,输出第一条记 录 124、 写一个 NSString 类的实现 + (id)initWithCString:(constchar *) nullTerminatedCString encoding:(NSStringEncoding)encoding; 125、 UITableView 的重用机制?如何在一个 view 上显示多个 tableView,tableView 要求不同的数据源以及不同的样式 (要求自定义 cell), 如何组织各个 tableView 的 delegate 和 dataSource?请说说实 现 思路?在一个 tableView 中需要自定义多种样式的 cell(两种或三种),通常 你如何实现,说 说思路即可?UITableView 的那
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急诊科护理管理考试题库及答案
- 内民大护理招聘笔试题库及答案
- 大专学医考试题及答案
- 办公楼宇租赁合同细节
- 人才招聘协议承诺函(6篇)
- 企业内部培训记录与效果评估
- 教育机构教学质量评估表教学成果展示版
- 医疗安全教育培训评价课件
- 《中国古代诗词赏析高一课程教案》
- 《中国的传统建筑与文化:大学建筑学教学教案》
- 幼儿园膳食委员会含内容两篇
- 人教版六年级英语上册《全册》完整版
- 2023人教版九年级语文上册 第一单元主题阅读 课件
- 媒介素养概论 课件 刘勇 第0-4章 绪论、媒介素养-新闻评论
- 美慧树课件教材培训
- 2023年北京市中考物理试卷(解析版)
- 幼儿园学生近视防控工作领导小组及岗位职责
- 沙盘游戏在自闭症中的运用课件
- 青稞栽培管理培训课件
- 桥梁施工过程中的安全检查要点
- 化学纤维制造中的聚丙烯酸酯纺丝技术
评论
0/150
提交评论