序言
作为一个开发者,眼里不仅仅只存在于那一行又一行的代码,更还有那诗和远方。
注明:面试是对自我审视的一种过程,面试题和iOS程序员本身技术水平没任何关联,无论你能否全部答出,都不要对自己产生任何正面或消极的评价!
1、什么是kvo和kvc?
2、kvo的缺陷?
3、Swfit和Objective-C的联系,Swift比Objective-C有什么优势?
4、举例说明Swfit里面有哪些是Objective-C中没有的?
5、如何对iOS设备进行性能测试?
6、使用过CocoPods吗?它是什么?CocoaPods的原理?
7、集成三方框架有哪些方法?
8、SDWebImage的原理实现机制,如何解决TableView卡的问题?
9、一个动画怎么实现?
10、iOS中常用的数据存储方式有哪些?
11、说一说你对SQLite的认识?
12、runloop和线程有什么关系?
13、runloop的mode作用是什么?
14、你一般是如何调试Bug的?
15、描述一个ViewController的生命周期


1.从框架的角度
NSDate 属于Foundation
CFAbsoluteTimeGetCurrent 属于 Core Foundation
CACurrentMediaTime 属于 QuartzCore
2.本质区别
NSDate 或 CFAbsoluteTimeGetCurrent 返回的系统时钟时间将会从网络时钟同步.
从时钟偏移量的角度 mach_absolute_time() 和 CACurrentMediaTime 基于内建时钟.能够更精确的测试时间,并且不会根据外部的时间变化而变化.(例如,时区变化\夏时制),它和系统的upTime有关.系统重启后,CACurrentMediaTime 也会重新设置.
3.常用用法
NSDate \CFAbsoluteTimeGetCurrent 常用于日常时间,时间戳表示,与服务器之间的数据交互.
CFAbsoluteTimeGetCurrent 相当于 [NSDate date]timeIntervalSinceReferenceDate];
CACurrentMediaTime 常用测试代码效率
(注):这是小编前两天的面试题,最近在面试的小伙伴可以加入我们的iOS技术交流群:638302184 一起交流面试技巧和经验,也可以找我领取这个月面试所整理好的面试葵花宝典。
有一句话叫做三人行必有我师,其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,欢迎广大开发者入驻此群!
