《iOS面试之道》是作者将多年的工作经验和积累,结合具体面试内容总结而成的。
《iOS面试之道》共分为3部分。第1部分为面试准备,详细介绍求职中遇到的基本问题,作者根据其多年的经验,在面试流程、简历投递、复习准备方面给出了完善的参考意见和建议。第2部分为算法知识。算法几乎是各种水平的程序员都要面对的考查内容。该部分采用Swift语言重新审视了多种数据结构和算法原理,可以说是为iOS开发者量身打造的算法解答。第3部分为iOS专业问答,分为语言工具、系统框架和经验之谈,采用问答的形式来详细介绍。
如果你是一名iOS开发者,并且正准备跳槽,那么本书是一本不错的复习参考书;如果你没有面试计划,那么本书也可以帮助你对iOS知识进行提纲挈领的整理;如果你是面试官,那么希望本书能为你提供考查应聘者的依据和源泉;对于具有其他背景的软件工程师,若想一窥iOS世界的知识框架,本书也是不错的切入点。
117+面试题融入作者对问题本质的深刻理解和多年工作经验的沉淀,助你顺利通过面试
不仅可以作为面试指南,也可以构建iOS知识体系的基本框架
推荐序
“你会反转二叉树吗?不会?那么对不起……”
当闻名遐迩,编写了几乎是业界标准的Homebrew的作者Max Howell在面试时被 Google 以算法题拒绝后,我不禁开始重新思考,面试为什么这么重要,在面试中有没有什么能帮助我们遂愿的必杀技或者小窍门。Max Howell是幸运的,因为他有着社区内无与伦比的声望和漂亮的项目履历,Google将这扇门关上后,Apple 又为他开了一扇窗。但是,对可能资质平平,似乎也没有什么闪光点的我们来说,要怎么做才能求到一个自己心仪已久的职位,其实是一件非常值得细细琢磨一番的事情。
面试几乎是每个社会人一生必然会经历几次的社会活动,但是,由于它发生的频率不高,很容易被人忽视。我在面试别人时,最大的感受就是有不少应聘者其实并没有做好万全的准备。很多时候,应聘者虽然可能十分优秀,但在面试时总感觉就差临门一脚:要么是因为面试礼仪不足,让人觉得无法合作;要么是因为交流时过于紧张,导致理解偏差;要么是在做面试题时因为缺乏经验,无法很快抓住问题本质。这些往往都是准备不足,如果由于这样的原因导致面试失败,就非常可惜了。
本书的两位作者分别是中美两国知名“大厂”的高级从业人员,有丰富的面试(或面试别人)经验。他们合作编写了本书,想要解决的就是上面提到的问题。书中内容涵盖广泛:从面试前的职位调研、简历准备,到具体的算法设计、iOS开发中的常见问题,再到最后的面试总结、工作的挑选,都有所涉及。在保证覆盖面的前提下,本书对一些重点进行了深入讲解:比如,对常见算法给出了具体的参考实现,对常见的知识点误用和考点进行了深入的原理分析。另外,本书中很多问题都带有关键字,通过查询书中的关键字,读者可以概览相关知识,并迅速建立关于这个关键字的知识网络。作者结合自己的行业经验和对行业现状的分析,不仅向应聘者提出了问题,更一一详尽地给出了解决的方式和建议,可谓字字珠玑,让人相见恨晚。
通过阅读本书,你不仅可以准备面试时的技巧和问题,还可以更多地了解iOS“大厂”的技术人员所关注和重视的技术点。即使你在短期内不参加面试,也可以通过阅读本书开阔视野,并对自己的知识体系查缺补漏。这不仅对你的下一次面试有所助力,也可以帮助你精进实力,在现在的工作中更加游刃有余。
好了,现在是时候来看一看两位作者会带给我们怎样的“思维碰撞”了。
王 巍
前言
智能手机经过十多年的发展,其销量增长趋于平稳,技术逐渐成熟,iOS应用程序也已经融入我们生活的方方面面。作为相关技术的开发者,唐巧老师和我怀着忐忑的心情,将多年的经验和积累,结合具体面试内容,总结成这本《iOS面试之道》,呈现在各位读者面前。
《iOS面试之道》分为3部分,其中面试准备部分由唐巧老师创作,算法知识和iOS专业问答部分则由我完成。
第1部分为面试准备。这部分详谈了求职中遇到的基本问题,唐巧老师根据其多年的经验现身说法,在面试流程、简历投递、复习准备方面给出了完善的参考意见和建议。
第2部分为算法知识。作为对程序员基本功的考查,算法几乎是各种水平的程序员都要面对的必考内容。该部分采用Swift语言重新审视了多种数据结构和算法原理,可以说是为iOS开发者量身打造的算法解答。
第3部分为iOS专业问答,分为语言工具、系统框架和经验之谈,采用问答的形式来详细介绍。其中,第3章语言工具主要针对iOS的主流开发语言Objective-C和Swift进行分析和对比,同时也整理了 Xcode编辑器的使用技巧和经验。正所谓,工欲善其事,必先利其器,本章主要考查的是开发者对工具和语言特性的掌握。第4章系统框架则是从视图、网络、设计模式等方面考查开发者的开发水准,这是任何一名合格的iOS开发者都应该具备的基本素养。第5章是经验之谈,主要包括一些进阶内容的提问和解答,考查的是iOS开发者的功力。
本书收录和参考了大量的真实面试题,每章的面试题按照从易到难的顺序进行编写。如果你是一名iOS开发者,并且正准备跳槽,那么本书是一本不错的复习参考书;如果你没有面试计划,那么本书可以帮助你对iOS知识进行提纲挈领的整理;如果你是iOS面试官,那么我们也希望本书能够为你提供考查应聘者的依据和源泉;对于具有其他背景的软件工程师,若想一窥iOS世界的知识框架,本书也是不错的切入点。
感谢电子工业出版社的编辑王静对我们提出大量宝贵的意见。感谢唐巧老师在该书创作上的尽心尽力和对我的不吝指教。感谢喵神王巍的作序和诸位同仁的推荐,他们的帮助使得这本书的价值能更为充分地展现给读者朋友。最后,我要感谢我的父母,感谢他们对我的支持和理解。
故胤道长
2018年6月1日于硅谷
156页第四行,应该是保证2在4之前吧,打印错了