面试持续了三四十分钟吧,大部分问题都是简历上的项目经验而来的,个人感觉问的不算太难但是却很深入,很明显不是能够背几道面试题能够搞定的.而且每个题基本上都跟优化设计和性能相关.
其中有一道是关于是问“你平时上国外的一些网站吗?上那些网站呢?”
我平时大部分时间就是上stackoverflow.和cocoscontrol github 还有apple 的dev论坛.
“你们项目中为什么多线程用GCD 而不用NSOperation呢? 你有没有发现国外的大牛他们多线程都是用NSOperation? 你能告诉我他们这样做的理由吗?”
一下子把我问懵了.我之所以用GCD 是因为GCD用起来比较简单.代码不用分散 比较集中维护度比较高.而且代码的执行效率也要比NSOperation快些. 但是至于国外的大牛们为什么那样做 我还真的不清楚. 后来挂完电话 正好搜狐的家明哥打电话过来 我问了下他.家明哥跟我说他包括他之前在新浪做项目时也是能用GCD的地方就用GCD 尽量减少NSOperation的使用,因为GCD在多核CPU上线程切换的时间比较短 效率相对高些,至于阿里为什么那样,可能每个公司对某个技术有着不同的理解吧.
跟明哥挂了电话 我给对方回过去,到底为什么? 对方笑着问我:“你用GCD在ASI上封装的那层网络请求 为什么后来有创建了自己的一个队列对维护这些请求?NSOperation是建立在GCD之上的 虽然使用起来比较复杂 但是在线程并发管理 优先级 上有着GCD 无法比拟的优势.”
但是对我来说 我还是倾向于用GCD,正如家明说的 每个公司对相同的技术有着不同的理解吧.
相关推荐
根据提供的信息,我们可以总结出这份文档是关于iOS面试题的一部分,特别强调了与阿里巴巴相关的面试题目。虽然原文中包含大量非可读字符,但通过整理和解析,我们能够提炼出以下关键知识点: ### dSYM 文件 1. **...
根据给定的信息,我们可以整理出一系列与iOS开发相关的知识点,特别是针对阿里巴巴的iOS面试题。以下是对这些知识点的详细解析: ### dSYM 文件 #### dSYM 文件简介 dSYM 文件是一种特殊的文件格式,用于存储 iOS ...
这份"2018最新iOS面试题全集"无疑是iOS开发者提升自我、准备面试的关键参考资料。以下将根据标题、描述以及标签,深入探讨其中可能包含的重要知识点。 一、iOS基础 这份资料可能会涵盖iOS开发的基础知识,包括...
3. **多线程**:iOS中的多线程通常涉及GCD(Grand Central Dispatch)、NSOperationQueue和NSOperation,理解它们之间的区别和应用场景是必要的。 4. **内存管理**:了解iOS内存管理模型,包括引用计数(strong/...
对于多线程编程,了解GCD(Grand Central Dispatch)和NSOperation等多线程编程模型,以及如何使用它们来优化应用性能、处理异步任务等是面试的重点。同时,对于线程同步机制如互斥锁(mutex)和信号量(semaphore...
5. **多线程(Multithreading)**:面试中可能包含GCD、NSOperationQueue、NSOperation等多线程技术的使用,以及如何处理线程安全问题。 6. **UI设计与布局(User Interface & Layout)**:可能会考察AutoLayout、...
- NSOperation和NSInvocation:理解它们在多线程中的应用。 4. **UI框架**: - Auto Layout和Size Classes:掌握界面布局的规则,处理不同屏幕尺寸。 - MVC、MVVM和VIPER架构模式:理解各自的优势和应用场景。 ...
3. **多线程与并发**:包括GCD(Grand Central Dispatch)、NSOperation和NSOperationQueue、线程同步与安全。 4. **网络编程**:如URLSession的使用,HTTP/HTTPS请求,JSON解析,以及错误处理机制。 5. **Core Data...
iOS开发高级程序员面试题-答案.pdf 这份文件涵盖了iOS开发中的一些高级问题,包括判断题、填空题、简述题和问答题。下面是从这份文件中生成的相关知识点: 判断题 1. UITableView能够绑定多个数据源。(错) ...
在iOS开发领域,面试题是评估候选人技能的关键工具。这些题目通常涵盖Objective-C或Swift语言的基础,UIKit框架的使用,内存管理,多线程,网络编程,数据持久化,设计模式等多个方面。以下是一些iOS面试中常见的...
这份文件标题为“iOS面试题总结”,是对iOS面试中常见的问题及其解答的一个总结。虽然文件内容仅适合初学者,但它涉及了iOS开发中的多个重要知识点。以下是对文档中提及知识点的详细解读: 1. Objective-C的内存...
7. **多线程**:包括NSThread、NSOperation和NSOperationQueue、GCD(Grand Central Dispatch)的理解与应用,以及线程间通信和同步。 8. **Core Data**:Apple提供的持久化框架,面试中会涉及实体关系、...
#### 一、多线程与并发技术 - **NSOperation与GCD的基础原理**: - **NSOperation**是苹果官方提供的面向对象的并发框架,支持依赖关系、优先级和取消操作等功能。它可以作为NSOperationQueue中的任务执行,通过将...
多线程方面,GCD(Grand Central Dispatch)、NSOperation和NSOperationQueue、线程安全(Thread Safety)及性能优化策略是常见考点。面试中还可能讨论异步操作、后台任务处理以及网络请求的线程分离。 网络编程...
【iOS面试题1.pdf】 这份PDF文件显然包含了iOS面试中可能会遇到的重要问题和知识点,对于求职者准备面试具有很高的参考价值。iOS开发是Apple平台上的应用程序开发,涉及到Swift编程语言、UIKit框架、Objective-C...
以下是一些常见的iOS面试题,适合初学者和有经验的开发者,这些知识点对于准备面试或巩固基础至关重要。 1. **Objective-C与Swift的区别** - Objective-C是苹果的老牌编程语言,基于C语言,支持面向对象编程,语法...
### iOS多线程面试知识点 #### 一、进程与线程 ##### 1. 进程概念 - **定义与功能**:进程是具有一定独立功能的程序关于某次数据集合的一次运行活动,是操作系统分配资源的基本单元。它代表了一个程序的执行过程,...
### iOS面试题详解 #### 一、Objective-C内存管理机制 **引用计数机制:**Objective-C中的内存管理主要依赖于引用计数机制。每个对象都有一个引用计数,记录了有多少其他对象引用它。当对象被创建时,它的引用计数...
iOS 面试题 1.关键字 retain 和 release 的 功能 retain 是对oc对象计数器+1 release是对oc对象计数器-1 减到0就自动调用oc对象的dealloc函数 2.请问关键字 alloc 和 init 的 区别 alloc是分配内存,对象...
在iOS面试过程中,基础知识的掌握至关重要,这不仅包括编程语言Swift或Objective-C的基本语法,还涉及到iOS开发框架、设计模式、内存管理等多个方面。以下是一些可能会被问到的iOS面试知识点,这些内容将帮助初学者...