IOS培训
美国上市IOS培训机构

400-111-8989

热门课程

iOS面试题分享——附BAT常见的iOS面试题

  • 时间:2018-05-23 09:39
  • 发布: Cocoa开发者社区
  • 来源:原来是泽镜啊

编者按:4月将至各大公司的春招即将结束~~~赶着春招的尾巴看了很多公司的面试题,其中转自“@原来是泽镜啊” 总结的BAT大公司IOS面试题分享给大家,附参考答案,若有不准确的地方,欢迎评论指出。同时若是有好的题目或者文章也希望大家可以再评论区分享讨论,小编会时刻关注大家的评论及时精选和顶置的哦~共同学习,互相勉励!同时也欢迎各位看官来我们CocoaChina社区论坛踊跃发言~

1、说出你印象最深刻的项目?

从你担任的角色,以及你在项目中遇到的问题,如何解决,还有就是项目有哪些比较特色的闪光点!

2、你觉得90后身上具备什么素质和能力? 

①:交际能力、适应环境能力、技术能力、自省能力、自控能力、意志力

②:自尊、自立、不要好高骛远

③:我们要想成就一件事情,如果没有较坚强的意志力是什么也干不成的。即使是你有过人的本领,如果你缺乏意志力、缺乏恒心,你是不会有大作为的,因为馅饼不会让你轻而易举地拿到,需要你付出比常人更多的汗水,付出比常人更多的心血才能得到。在其间如果你缺少意志力,缺少恒心和决心,见到因难就会害怕。要知道困难是你越害怕它,它却越喜欢你,所以你困难就更多。如果你意志力坚定,那么困难也会害怕你,离你越远,从而你的生活里困难就越少,所以说,意志力与困难是冤家对头,如果你意志力强,那么你的困难就弱,反之,你的困难就强,它使你寸步难行,使你身陷泥滩,无法自拔。我们要有所作为,就要抛弃那些困难的因素,把意志力增强,让它发挥应有的作用。

3、简单的谈谈你的工作经历?

范例:我从大学毕业以后一直从事iOS,到今天已经有X年多了。在这X年中,我只信奉一句话:“项目的成败,取决于你对细节的掌控和礼节,尤其是一些较大项目,往往被一些微小细节所左右。”我自己通过不断的工作磨砺也有了很大提高。一是做事情的目的性更强了,比如现在我无论做什么事都会问自己的目的是什么;二是社交时,比以前更从容了,无论什么场合,商务谈判也好,各类宴会也罢,选择都能够从容应对。自己也越来越喜欢iOS这个职业了。<没有标准答案>

4、最有成就感的一件事是什么?

注意:不一定要从iOS开发说起,比如:尽我所能,去帮助身边每一位需要帮助的人,是我人生中最快乐的事,也是觉得最有成就感的事情。

5、遇到的最大的挫折是什么?怎么解决的?学到最有价值的东西是什么?

没有标准答案,主要是考察你遇到困难,你会怎么办,考察你学习能力和解决能力!

<就像把你扔进大染缸,你会纯洁的走出来吗?>

6、你的缺点是什么?

不要回答自己执着,做事太过于追求完美,烂大街了......

技术面:

1、你们项目中为什么多线程用GCD而不用NSOperation呢? 你有没有发现国外的大牛他们多线程都是用NSOperation? 你能告诉我他们这样做的理由吗?

关系:①:先搞清两者的关系,NSOpertaionQueue用GCD构建封装的,是GCD的高级抽象!

②:GCD仅仅支持FIFO队列,而NSOperationQueue中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整。GCD不支持异步操作之间的依赖关系设置。如果某个操作的依赖另一个操作的数据(生产者-消费者模型是其中之一),使用NSOperationQueue能够按照正确的顺序执行操作。GCD则没有内建的依赖关系支持。

③:NSOperationQueue支持KVO,意味着我们可以观察任务的执行状态。

了解以上不同,我们可以从以下角度来回答

性能:①:GCD更接近底层,而NSOperationQueue则更高级抽象,所以GCD在追求性能的底层操作来说,是速度最快的。这取决于使用Instruments进行代码性能分析,如有必要的话

②:从异步操作之间的事务性,顺序行,依赖关系。GCD需要自己写更多的代码来实现,而NSOperationQueue已经内建了这些支持

③:如果异步操作的过程需要更多的被交互和UI呈现出来,NSOperationQueue会是一个更好的选择。底层代码中,任务之间不太互相依赖,而需要更高的并发能力,GCD则更有优势

上一篇:2018 头条 火山抖音 iOS实习面试分享(1/2面)
下一篇:iOS开发3年只用5分钟搞定面试官

实用快捷iOS开发经验,36条iOS开发经验总结

互联网上市公司ios开发岗位的面试需求

iOS面试题分享——附BAT常见的iOS面试题

选择城市和中心
贵州省

广西省

海南省