面试持续了三四十分钟吧,大部分问题都是简历上的项目经验而来的,个人感觉问的不算太难但是却很深入,很明显不是能够背几道面试题能够搞定的.而且每个题基本上都跟优化设计和性能相关.
其中有一道是关于是问“你平时上国外的一些网站吗?上那些网站呢?”
我平时大部分时间就是上stackoverflow.和cocoscontrol github 还有apple 的dev论坛.
“你们项目中为什么多线程用GCD 而不用NSOperation呢? 你有没有发现国外的大牛他们多线程都是用NSOperation? 你能告诉我他们这样做的理由吗?”
一下子把我问懵了.我之所以用GCD 是因为GCD用起来比较简单.代码不用分散 比较集中维护度比较高.而且代码的执行效率也要比NSOperation快些. 但是至于国外的大牛们为什么那样做 我还真的不清楚. 后来挂完电话 正好搜狐的家明哥打电话过来 我问了下他.家明哥跟我说他包括他之前在新浪做项目时也是能用GCD的地方就用GCD 尽量减少NSOperation的使用,因为GCD在多核CPU上线程切换的时间比较短 效率相对高些,至于阿里为什么那样,可能每个公司对某个技术有着不同的理解吧.
跟明哥挂了电话 我给对方回过去,到底为什么? 对方笑着问我:“你用GCD在ASI上封装的那层网络请求 为什么后来有创建了自己的一个队列对维护这些请求?NSOperation是建立在GCD之上的 虽然使用起来比较复杂 但是在线程并发管理 优先级 上有着GCD 无法比拟的优势.”
但是对我来说 我还是倾向于用GCD,正如家明说的 每个公司对相同的技术有着不同的理解吧.
相关推荐
iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
ios 多线程NSoperation
iOS-多线程之NSOperation - iOS知识库1
配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤 先将需要执行的操作封装到一个NSOperation对象中 然后将NSOperation对象添加到NSOperationQueue中 ...
关于iOS 多线程编程知识点,iOS 多线程 NSThread NSOperation GCD
多线程加载图片
这里详细介绍了iOS多线程 NSThread,GCD,NSOperation的使用。看我就够了!
NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperationQueue实现多线程的具体步骤: (1)先将需要执行的操作封装到一个NSOperation对象中 (2)然后将NSOperation...
ios多线程开发的常用四种方式和基本使用,pthread、NSThread、NSOperation\NSOperationQueue、GCD
#iOS的三种多线程技术 和特性 1.NSThread 2.NSOperation/NSOperationQueue 3.GCD (大中心调度)
主要介绍了iOS多线程应用开发中自定义NSOperation类的实例解析,代码基于传统的Objective-C,需要的朋友可以参考下
iOS 面试题 1.关键字 retain 和 release 的 功能 retain 是对oc对象计数器+1 release是对oc对象计数器-1 减到0就自动调用oc对象的dealloc函数 2.请问关键字 alloc 和 init 的 区别 alloc是分配内存,对象...
leetcode 答案 iOS- 在网上找的一些iOS面试资料 1、2018 iOS面试题---UI相关:事件传递,...iOS面试题-----多线程相关之NSOperation、NSOperationQueue、NSThread+runloop实现常驻线程、加锁 10、2019 iOS面试题-----R
想在开发过程中,学习使用线程的朋友可以下来看看。里面涵盖了 几乎所有线程使用的类型。而且对这几种 类进行了很细致的解释。包括 定义,功能,和其他的比较。很不错的
在iOS开发中,实现多线程的的方式有很多种,常用的有pthread、NSThread、GCD与NSOperation。在实际应用中,多线程技术也有着非常多的使用场景,比如异步的网络请求、异步的图片加载、后台执行复杂任务等等。 在iOS...
在iOS开发中,多线程的实现方式主要有三种,NSThread、NSOperation和GCD,我前面博客中对NSOperation和GCD有了较为详细的实现,为了学习的完整性,今天我们主要从代码层面来实现NSThread的使用。案例代码上传至 ...
对iOS的多线程方式做的总结;Pthreads,NSThread,GCD,NSOperation/NSOperationQueue
iOS多线程编程,GCD的使用,NSOperation的使用,NSThread的使用,异步下载,同步下载,block的使用,ASIhttprequest类库的使用