iOS最新面试题

基础

1、如何令⾃⼰所写的对象具有拷⻉功能?

2、说说你理解weak属性?

3、题⽬:Swift mutating关键字的使⽤?

4、UIView和 CALayer是什么关系?

5、下⾯的代码输出什么?


6、@synthesize 和 @dynamic 分别有什么作⽤?


7、动态绑定

8、Category(类别)、 Extension(扩展)和继承的区别

9、为什么代理要⽤weak?代理的delegate和dataSource有什么区别?block和代理的区别?

10、id和NSObject*的区别

11、如何令⾃⼰所写的对象具有拷⻉功能?


12、使⽤系统的某些block api(如UIView的block版本写动画时),是否也考虑引⽤循环问题?

13、⽤@property声明的NSString(或NSArray,NSDictionary)经常使⽤copy关键字,为什么?如果改⽤strong关键字,可能造成什么问题?

14、UIView和 CALayer是什么关系?

15、static有什么作⽤?底层:

16、main()之前的过程有哪些?

17、KVO基本原理?

18、Swift 下的如何使⽤ KVC?

19、:Swift有哪些模式匹配?

20、objc在向⼀个对象发送消息时,发⽣了什么?


21、静态库的原理是什么?你有没有⾃⼰写过静态编译库,遇到了哪些问题?


22、runloop是来做什么的?runloop和线程有什么关系?主线程默认开启了runloop么?⼦线程呢?

23、不⼿动指定autoreleasepool的前提下,⼀个autorealese对象在什么时刻释放?(⽐如在⼀个vc的viewDidLoad中创建

24、不⼿动指定autoreleasepool的前提下,⼀个autorealese对象在什么时刻释放?(⽐如在⼀个vc的viewDidLoad中创建)

25、OC完整的消息转发机制+代码实现【暴击】

26、、以+ scheduledTimerWithTimeInterval...的⽅式触发的timer,在滑动⻚⾯上的列表时,timer会暂定回调,为什么?如何解决?

27、如何⼿动触发⼀个value的KVO

28、如何对定位和分析项⽬中影响性能的地⽅?以及如何进⾏性能优化?

29、串⾏并⾏,异步同步的区别?


30、线程是什么?进程是什么?⼆者有什么区别和联系?

需要这方面的详细学习资料可以关注我,其他文章有联系方式

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

猜你喜欢

转载自blog.csdn.net/qq_39658251/article/details/80172232