iOS面试题小解
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
浙公网安备 33010602011771号