iOS面试题分享——附BAT常见的iOS面试题
编者按: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面)
我是如何在天猫、蚂蚁金服、百度等大厂面试中被拒的
2018程序员跳槽最全攻略
- iOS11.3小心升级!后悔药没得吃
- 【今日分享】清明小假,我想去这些地方吃这些美食!
- 考研英语:考试常用俗语分享
- iPhone 7要不要升级iOS 11.3?看完轻松决定
- 苹果iOS12即将发布:这4款老iphone却无法升级
- 课程分享 | 阅读让儿童成为发光体
- 经验分享|高考学霸经验谈:如何消除自己的疑问?
- 爱上小古文,做文言小学霸-小升初冲刺一二九必考试题大突围
- 好书推荐 |《高考试题猜想》(理科)
- 《头文字D》的土嗨曲风了解一下 | 编辑分享