三月春招眼看就已经过半了,还没有找到自己心仪工作的iOS开发者小伙伴,这里给大家分享一下最近去某个大家都很想去的大厂的面试经历,希望对大家跳槽找工作有帮助~
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则更有优势
给大家推荐一个iOS进阶内推交流群679884541,不管你在地球哪个方位,不管你参加工作几年都欢迎你的入驻!(群内会免费提供一些群主收藏的免费学习书籍资料以及整理好的几百道面试题和答案文档!)