Skip to content

Latest commit

 

History

History
37 lines (29 loc) · 2.22 KB

19新浪公司iOS面试题2019年6月.md

File metadata and controls

37 lines (29 loc) · 2.22 KB

新浪公司iOS面试题2019年6月

作者:路飞_Luck

鏈接:https://www.jianshu.com/p/f9ec208b00b6

目录

  • 对象引用计数放哪里?

    • 对象引用计数就存放在extra_rc中
  • MVVM和MVC的区别

      • MVC的设计模式也并非是病入膏肓,无药可救的架构,最起码目前MVC设计模式仍旧是iOS开发的主流框架,存在即合理。针对文章所述的弊端,我们依旧有许多可行的方法去避免和解决,从而打造一个轻量级的ViewController。
    • MVVM是MVC的升级版,完全兼容当前的MVC架构,MVVM虽然促进了UI 代码与业务逻辑的分离,一定程度上减轻了ViewController的臃肿度,但是View和ViewModel之间的数据绑定使得 MVVM变得复杂和难用了,如果我们不能更好的驾驭两者之间的数据绑定,同样会造成Controller 代码过于复杂,代码逻辑不易维护的问题。
    • 一个轻量级的ViewController是基于MVC和MVVM模式进行代码职责的分离而打造的。MVC和MVVM有优点也有缺点,但缺点在他们所带来的好处面前时不值一提的。他们的低耦合性,封装性,可测试性,可维护性和多人协作便利大大提高了开法效率。
    • 同时,我们需要保持的是一个拥抱变化的心,以及理性分析的态度。在新技术的面前,不盲从,也不守旧,一切的决策都应该建立在认真分析的基础上,这样才能应对技术的变化。
  • UIButton防止多次点击

    • userInteractionEnabled
    • cancelPreviousPerformRequestsWithTarget:selector:object
  • 如何监听弱网

  • 卡顿检测

    • 通过监测Runloop的kCFRunLoopAfterWaiting,用一个子线程去检查,一次循环是否时间太长。
  • NSCache,NSDictionary,NSArray的区别

  • SDWebImage里面用了哪种缓存策略?

    • 使用了NSCache做缓存策略
  • self + weakSelf + strongSelf ?

  • 原文解答除弱网外,其他均给出了作者自己的见解。

链接