1.笔者介绍
笔者2013年通过校招统招到阿里巴巴实习,14年在某985院校毕业后转正,15年转战滴滴出行,在滴滴出行做了近3年后于18年回到阿里,目前一直在阿里巴巴淘宝特价版,且一直从事iOS开发;电子书《iOS监控编程》和开源库GodEye(star 3600+)作者。
期间作为应聘者去过很多公司面试,更多的是作为面试官和很多面试同学一对一交流。下面主要分享下面试过程中大家主要需要准备哪些东西,面试中需要注意的内容,以及实习转正和后续工作中的一些建议,帮助大家少走弯路,成功入职大厂,并快速落地和成长。
祝大家拿到自己心仪的Offer!(把心仪的Offer写在评论区许愿吧,期待你来还愿哦~)
另外,为了避免软文带货的嫌疑,文中推荐的图书都不会带连接,感兴趣的同学可自行去相关平台搜索。
2.面试准备
基础
- Objective-C基础:这边推荐《Objective-C基础教程》和 《编写高质量代码:改善Objective-C程序的61个建议》;这两本书可以帮你全面系统的了解OC语言的特性并写出高质量的代码。那么为什么Swift出来这么久了还要继续学OC呢?因为咱们的目标是大厂呀,大厂的App很多都是iPhone4时代就有的App,绝大部分源码都还是OC。所以如果目标是大厂的话,大家在平时准备的时候对OC的重视程度甚至要高于Swift。
- Swift基础:这边不推荐书,推荐网站: https://www.cnswift.org。这个网站非常不错,一旦Apple官方文档更新,这里会最短时间内立即进行同步,swift的官方文档非常不错,而且大家也可以当做后续开发中查询文档用。
- 设计模式:推荐《大话设计模式》和《设计模式之禅》,这两本都不错,时间不够的读者可以二者选其一,然后结合自己的项目找几个模式实践下,这样更能对模式本身理解深刻,且能明白咱们学设计模式的目的是为了更好的开发迭代,而不是去套用模式。
- 计算机基础:这些无非是操作系统和计算机网络等,如果是科班出身的同学,建议直接看课堂上的教材,教材上基本涵盖了面试的内容,而且上课的时候老师也是根据教材授课,更有印象也更好理解;如果是非科班出身的同学,推荐《现代操作系统》,《图解TCP/IP》和《图解HTTP》。应届生这块一定要重视哦,因为其他地方可能大家都差不多,最能体现差距的就是这里和数据结构了。
算法
不管读者是科班出身还是非科班出身,面对算法笔者都建议“实战”。先刷《剑指offer》,刷两遍以上,边刷边学,算法里用到了树就去学树,用到了图再去学图,无论效果还是效率都更好。然后就是刷leetcode,这边建议不要管难易程度,按照热门程度刷。刚开始很难没关系,可以先看答案,争取后面不看答案也能够写出来就行;推荐安装VSCode的Leetcode插件,非常方便;
深度
- Objective-C进阶:这边推荐《Effective Objective-C 2.0》和 《Objective-C高级编程》,这两本书可以有效提高你对OC这门语言的认知深度;还有一本iOS极限编程,不过我找了几个平台目前好像不卖了,可以去搜一下英文原版 《iOS Programming Pushing The Limits》
- Swift进阶:推荐《Swifter - Swift 开发者必备 Tips》,喵神的作品,质量不用咱多说了。喵神其他作品也可以按照自己口味选择;
- iOS底层原理:推荐 https://github.com/SunshineBrother/JHBlog 作者很有心,收录了很多iOS的底层原理,建议都通读一遍基本可以回答大部分底层原理的问题,然后每篇文章讲的原理内容都自己去试一下,会有更多收获的;其次推荐各大大厂技术团队的微信公众号(如淘系技术,咸鱼技术,字节跳动技术团队),以及iOS周报的公众号(如:老司机技术周报)。
- 架构:推荐电子书《App架构》,喵神也是该书的作者之一,看完这本书你对App的架构会有非常深刻的理解,不再只能回答MVC和MVVM。
- 源码:建议对热门的基础能力开源库的设计和架构都能了然于胸,像OC的“AFNetworking”,“SDWebImage”,Swift的“Alamofire”,并且对源码也能有比较深入的研究,这边建议将源码引入自己工程调试,一定要通过调试去阅读源码,事半功倍。并且将你的发现记录下来,这些都是能够和面试官深度交流的亮点。
项目
- 实验室项目:一般都是专业课老师的项目,复杂度类似外包级项目。建议可以体现自己在项目中学到的内容,学到的内容不要停留在使用上而要网更深入的去探索学习,比如用了FMDB来做数据存储,你学到了FMDB的架构和原理看了它的源码也是非常有亮点的,以及体现解决问题的思路和在上面应用一些最新的iOS版本的特性等。
- 实习项目:实习项目一般都是同学在实习期间公司的商业项目,建议多注重实战和深度上,实战上比如学到的敏捷开发等项目流程,深度上比如性能优化,线上Crash追查等;
- 开源项目:不管是App还是组件的开源库都是非常不错的项目,要多注重开源代码的代码质量以及文档等的丰富度;当然,这个不能强求,如果开源库质量很差反而适得其反;
简历
- 杜绝花哨:简历不要做的很花哨,各种背景图和花哨的设计,可能这些对其他行业有帮助,对程序员这个行业真的啥也不是。都是搞技术的,花里胡哨的会适得其反。
- 信息要全:电话,姓名,邮箱,学校,专业这些信息一定要全,千万不能出错。如果是985,211等名校也可以重点突出下。
- 亮点突出:项目中的亮点,个人能力的亮点等重点突出,这些都是加分的地方。
- 中文简历:对于海外同学,一定要有一份中文简历,面试官可能英文没你那么好。
- 一页足以:针对应届生这边建议简历一页就可以了,把亮点重点突出,避免无关紧要的内容在简历上罗里吧嗦影响自己能力的体现。待后续工作经验多了,履历丰富了可以慢慢调整成两页。
其他
- 面试相关书籍:推荐《iOS程序员面试笔试宝典》里面的内容虽然非常基础,但是涉及的面挺广,主要可以用来做知识点扫盲。然后推荐唐巧的《iOS开发进阶》,内容有一定的深度,也涉及到很多面试的方方面面;
面试注意点
- 不要瞎猜:强烈建议如果不知道答案千万不要瞎猜,候选人是否在猜在蒙面试官是一眼就能看出来的。如果不知道答案的话可以和面试官说请给我几分钟思考下,实在不知道就实事求是的告诉面试官。这样反而会给自己创造更多和面试官交流其他问题的时间。
- 不要紧张:部分候选人面试的时候会出现紧张的情况导致自身发挥不好,提前做好心理建设,其实面试就和两个人聊天一样,两个技术人聊聊技术。
- 直面问题:面试官问出一个问题的时候部分候选人会选择绕过问题本身而言他,甚至部分营销号也在这么误导,其实这会适得其反。建议直面问题本身如实回答就行。
- 记得收:控制好和面试官的互动节奏,有些候选人非常善于表达,面试官一个问题问了后可以滔滔不绝聊好几分钟,其实可能面试官已经听到了他想要的答案,也可能半路跑偏了讲了这么多都不是面试官想要的答案。建议控制好和面试官互动的节奏,这样才可以“套”面试官的提示,对吧。
实习注意点
- 入职:入职前最好把住的地方找好,以免影响入职后的工作,笔者目前的公司(阿里巴巴)针对异地入职的同学有2周的免费酒店福利相对还好点,可以不用这么着急;入职流程根据HR指示来做就好。
- 适应:入职后一般会有一段时间的适应期,比如环境搭建,各种OA系统的了解,研发平台的注册,具体业务的了解,学习所在团队用到的技术和框架等。笔者所在的公司(阿里巴巴)会为每一位同学安排一位师兄,他会带着你度过适应期,以及后续你工作的每一天,对,师兄是终生制的~
- 参与:当熟悉适应后,一般团队Leader或者师兄会安排一些实际业务性或者技术性的工作并进行节奏排期,比如让你在半个月内完成某某功能的开发提测并上线,这一部分是咱们实习的关键,也是你未来写在简历上的实战项目,所以做的项目最好是比较系统和完整的,比如从项目需求、项目开发、项目测试和项目上线,这样对后续的实习转正和秋招面试都有很大的帮助;
- 转正:转正一般会有一次答辩,阿里一般会在实习结束前的半个月内完成,答辩建议重点汇报自己实习期间所做的项目成果和自身在实习期间获得的成长,其次加入一些自己这段时间对技术和业务上的思考。答辩不要紧张,多花点时间准备一下,自信的答辩者最美丽。
笔者部门正在招聘2022界实习生中
我在这里等你,期待能和你一起共事,一起成长。。。
全部评论
(5) 回帖