面试小解(2)

————————————————————————————————————————————————————————————————————————————————————————
1.除了MVC 你还熟悉哪儿中设计模式
代理:当一个类的某些功能需要由别的类实现,但是又不确定具体是那个了类实现的
单例:确保程序运行期,某个类只有一份实例 用于进行资源共享
工厂:多余的proxy模式配合 穿件可替代的类
观察者:一般为model层,对controller和View进行通知,不关心睡接收 只负责发布消息
策略:定义算法 封装起来 使他们可以相互替换
2.线程和进程的区别和联系 谈谈多线程
(1)一个线程只能属于一个进程 而一个进程可以有多个线程 至少有一个线程
(2)资源分配 统一进程的所有线程共享该进程的所有资源
(3)处理机 分给线程 既真正在处理机上运行的是线程
3.你再开发中 用到了哪儿些数据存储方式 iOS中常见的方式有哪儿些
(1)归档 (2)NSUserDefault (3)write写入 (4)sqlite数据库
4.arc的程序出现内存泄露怎么办
用ARC,只是编译器帮你管理了何时去release,retain 不用arc就需要自己去手动管理 说到底就是谁去管理的问题
如果实在找不到问题,建议找到泄露的那个对象 将其赋值为nil 因为在arc中 一点对象没有指针指向救护马上释放
5.❤️简述一下iOS应用开发流程
(1)产品经理做需求调研 确定产品需求 编写需求文档
(2)产品人员完成产品原型
(3)产品经理召开会议(产品,UI,开发,测试,服务器)
(4)服务器与客户端成员一起制定接口文档
(5)项目经理指定开发进度,分配任务,预算开发周期
(6)移动客户端开发人员根据UI界面和需求文档 开始编写代码 开发模块上的功能
(7)开发者提交给测试
(8)测试部分完毕,提交给产品经理验收产品
(9)提交到AppStore
——————————————————————————————————————————————————————————————————————————————————————————
1.简述下面列举的.framework的作用
1.CoreData.framework; 数据库
2.CoreLocation.framework 定位
3.MapKet.framework 地图
4.CoreAnimation.framework 动画
5.AddressBook.framework 通讯录
6.AVFoundation.framework 流媒体
7.CFNetwork.framework 网络通讯(套接字)
8.Coretelephony.framework 核心通信框打电话
9.CoreText.framework 图文混排
10.GameKit.framework 实现蓝牙的相互通讯,既是服务器,有时客户端
11.HealthKit.framework 分离数据收集 数据处理和社会化(苹果主推健康数据处理)
12.Securlty.framework 网络安全框架(加密 秘钥)
13.Social.framework 社会化分享(新浪,微信,qq)
14.OpenAL.framework 播放音频的
15.MessageUI.framework 发短信 发邮件
16.NewsstandKit.framework 后台下载,推送
2.简述KVC/KVO他们之间有什么关系
KVC是一种通过字符串去间接操作对象属性的一种机制
假如我们去访问一个对象的属性 porson.age 也可以用 KVC的方式

KVO就是在一个语言框架层面实现的观察者模式 通过KVC的方式去修改属性是, 会主动通知观察者
3.iOS 中frame和bounds的区别
frame和bounds都是UIView的两个属性
frame指的是,该View在父view坐标系的位置和大小(参照点是父坐标系)
bounds指的是 改view再本身坐标系的位置和大小(参照物事本身坐标系)
————————————————————————————————————————————————————————————————————————————————————————————
1.描述AFNetwork作用和用法
常见问题:
1.AFNetwork作用都有哪儿写?
(1)AFNetwork可以将远程的媒体数据类型(NSData)转化为可用的格式,比如json XML 图像和plist
(2)AFURLControllerOperation可以让你完成上传,和下载,处理验证,监控上传和下载进度
(3)AFURLControllerOperation和它的子类继承NSOperation 允许请求被取消,暂停 恢复 和由NSOperationQueue进行管理
(4)AFHttpClient提供了一个方便的网络交换接口 包括身份证验证 是否连接到网络 批量处理操作 查询字符串参数序列化 以及多种鼻癌单的请求。
(5)UIImageView+AFNetwork增加了一个方便方法 来异步加载图片
2.AFNetwork是否支持缓存?
可以,NSURLCache以及其子类提供了很多高级接口,用于处理缓存,如果你想将缓存存储于磁盘 推荐使用SDURLCache
3.如何使用AFNetwork上传一个文件
NSData *imageData = UIImagePNGRepresentation(image);
NSURLRequest * request = [client multipartFromRequestWithMethod:@“POST” path:@“/upload” parameters:nil ConsTructingBodyWithBlock^(id formData){[formData appendpartWithFileData:imageData mine Type:@“image/png” name:@“avatar”]}];
4.如何使用AFNetwork下载一个文件
首先创建一个AFURLConnectionOperation对象 然后再对他的属性outputStream进行处理
operation.outputStream = [NSOutputStram outputStreamToFielAtPath:@“download.zip” append:NO];
5.当应用程序退出时,如何保持持续的请求?
AFURLConnectionOperation有一个叫setShouldExecuteAsBackGroundTaskWithExpirationHandier:的方法,用于处理应用程序进入后 台,进行持续请求
[self setShouldExecuteAsBackGroundTaskWithExpirationHandier^{
//这是个Block
}]
—————————————————————————————————————————————————————————————————————————————————————————————

posted @ 2015-08-20 08:23  YYSheng  阅读(91)  评论(0)    收藏  举报