归纳一些OC基础内容,实战中可能会遇到的问题,以及进阶内容。
【后期可以做成类似驾考宝典一样的考试类App,交互先参考探探翻牌子,左滑回答,右滑放弃并收藏,可在收藏里面查看答案】想想有点小激动~毕竟之前在学校做过钢琴APP,拳皇回合格斗demo,做个人定制化的app还是挺好玩的呢
基础题
Objective-C的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么不要在category中重写一个类原有的方法?
1 | 答: |
请说明并比较以下关键词:strong, weak, assign, copy。
1 | 答: |
浅拷贝和深拷贝的区别?
1 | 答: |
用@property声明的 NSString / NSArray / NSDictionary 经常使用 copy 关键字,为什么?如果改用strong关键字,可能造成什么问题?
1 | 答: |
Objective-C 如何对内存管理的,说说你的看法和解决方法?
1 | 答:Objective-C的内存管理主要有三种方式ARC(自动内存计数)、手动内存计数、内存池。 |
继承、分类和类扩展
1 | 答: |
iOS中Category和Extension 原理详解
IOS 分类(category)、扩展(Extension)和继承(inheritance)的区别?
iOS 成员变量 实例变量 属性变量
我们说的OC是动态运行时语言是什么意思?
1 | 答: |
什么是 KVO 和 KVC?谈谈 KVC 以及 KVO 的理解?
1 | 答: |
block的注意点
1 | 答: |
堆、栈和队列
1 | 答: |
1 | 答: |
什么是多态?什么是分类?什么是协议?
1 | 答: |
1 | 答: |
1 | 答: |
UIView 和 CALayer 是什么关系?
1 | 答: |
说一下 JS 和 OC 互相调用的几种方式?
1 | 答: |
如何理解HTTP?/Http 和 Https 的区别?Https为什么更加安全?
1 | 答: |
1 | 答: |
编程中的六大设计原则?
1 | 答: |
Objective-C与Swift的异同?
1 | 答: |
沙盒目录结构是怎样的?各自用于那些场景?
1 | 答: |
iOS中数据持久化方案有哪些?
1 | 答: |
单个viewController的生命周期?
1 | 答: |
cocoa 和 cocoa touch是什么?/cocoa touch底层技术架构?
1 | 答: |
1 | 答: |
如何选择delegate、notification、KVO?
1 | 答: |
平时开发有没有玩过 Instrument ?
1 | 答: |
常用的排序算法
1 | 答: |
SDWebImage加载图片过程
1 | 答: |
AFNetworking 底层原理分析
1 | 答: |
进阶题
KVC的底层实现?
1 | 答: |
1 | 答: |
说一下工作中你怎么做性能优化的
1 |
|
Runtime实现的机制是什么?能做什么事情呢?
1 | 答: |
iOS图片设置圆角性能问题
1 | 答: |
什么是 RunLoop?
1 | 答: |
1 | 答: |
以scheduledTimerWithTimeInterval的方式触发的timer,在滑动页面上的列表时,timer会暂停,为什么?该如何解决?
1 | 答: |
1 | 方法1 |
进程与线程
1 | 答: |
iOS中实现多线程的几种方案,各自有什么特点?讲一下具体使用场景/在项目什么时候选择使用 GCD,什么时候选 择 NSOperation?
1 | 答: |
1 | 答: |
什么是GCD?GCD 的队列类型?
1 | 答: |
什么是同步和异步任务派发(synchronous和asynchronous)?
1 | 答: |
dispatch_barrier_(a)sync使用?
1 | 答: |
对称加密和非对称加密的区别?
1 | 答: |
组件化有什么好处?
1 | 答: |
你是如何组件化解耦的?
1 | 答: |
APP启动时间应从哪些方面优化?
1 | 答: |