Ali IOS采访质疑多线程选择NSOperation或GCD

1个回答

写回答

qwert12345a

2024-10-26 18:55

+ 关注

杭州
杭州

今天早上我从杭州接受了阿里巴巴的电话采访。尽管我最近采访了一些大中型互联网公司,但我仍然很不敢与被称为“IT黄埔军事学院”的阿里巴巴测试官联系。采访持续了三十或四十分钟。大多数问题基于简历上的项目经验。我个人觉得这不是很难问,但它很深入。

显然,不可能记住一些面试问题。是。每个问题基本上都与优化设计和性能有关。其中之一是询问“您通常会去一些外国网站吗?那些网站呢?”我通常将大部分时间都花在stackoverflow上。以及cocoscontroLGithub和Apple的开发论坛。

“您为什么在项目中使用GCD而不是NSOperation进行多线程?您是否曾经发现外国大牛使用NSOperation进行多线程?您能告诉我他们这样做的原因吗?”我突然感到困惑。我使用GCD的原因是因为GCD使用起来相对简单。该代码不需要分散并且集中度相对较高。

阿里巴巴
阿里巴巴

代码的执行效率也比NSOperation快。但是对于外国人,我真的不知道为什么丹尼尔斯会那样做。后来,挂断电话后,搜狐的嘉明碰巧打电话给我,我问了他。嘉明告诉我,他(包括他在内)在新浪上进行项目时也可以使用它。使用GCD的地方使用GCD由于GCD在多核CPU上具有较短的线程切换时间,并且效率相对较高,因此尽可能减少NSOperation的使用。

至于阿里为什么会这样,每个公司对某种技术可能会有不同的理解。我和明戈挂断了电话IOS多线程面试IOS多线程面试题,我给对方打了电话。为什么?对方笑了笑,问我:“为什么使用GCD封装ASI上的网络请求层?为什么创建自己的队列来维护这些请求NSOperation建立在GCD之上。

尽管使用起来更复杂,它程并发管理优先级方有无与伦比的优势。”但是对于我来说,我仍然更喜欢使用GCD,正如贾明所说,每个公司对同一技术都有不同的理解。

举报有用(10分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号