这段时间通过降低招聘要求,吸引来了一大波求职者!下面是我的招聘要求:
- 熟练组件化架构,MVP,MVVM,MVC,ROUTER有较强的理解;
- 熟练掌握Objective-C语言,理解面向对象编程思想,具有较强的设计能力;
- 熟练掌握APNS、UI布局、数据库、网络等开发技术;
- 深入理解Objective-C Runtime、RunLoop等基础原理;
- 对App提高用户体验、性能调优、防崩溃、节省流量等的方法有深入了解;
- 良好的编程习惯,逻辑清晰,认真细致,良好的沟通能力,主动的沟通意识;
- 较强的自学能力、自我驱动力、强烈的探索欲。
推荐阅读:iOS底层原理之性能优化
推荐阅读:iOS 如何优化项目
推荐阅读:iOS底层原理总结 - RunLoop
推荐阅读: 面试了10名开发者后,总结了50道iOS面试题
我也年轻过,我首先非常尊重每一个不远前来面试的每一个准小伙伴.我代码或者项目上的任何问题,都不会带进面试间!
招聘需求一出,马上来了面试者,当天就有一位求职者:3年iOS开发经验,计算机与科学专业,之前做的就是平台类项目:玩过即时通讯,对底层有一定的了解! 于是我非常欣喜约他面试,定在第二天上午10:30.
我十点上班 9点多来到公司准备面试(因为我想给面试者感觉我们的认真).眼看10:30到了,10:28分他打来电话说要晚点来(我个人是非常注重时间观念的,因为一个人连时间的都管理不好,怎么能管理好自己的未来,乃至公司未来)我还是跟HR说:没事咯,晚点就晚点,不要着急,路上小心!但是吧,这家伙有点....10:50左右,又打电话来说:公司有事不能来了!!! 我的天啊,我感觉我收到了挑战:你不能管理好你的时间也就算了,结果你没处理好你的事务(估计还没请假,偷偷跑出来了)就跑出来面试! 后面他也没联系这边了,这位面试者也就不了了之!我个人是非常生气的,虽然此人在表达上也算比较诚恳,但是我觉得此人不可重用!!!
下一位求职者是一位在职研究生,非计算机专业(这个专业我还是没有硬性要求,因为我看到太多非科班出身的iOS开发者牛逼了,包括本人)我欣然约面试,过完HR 我就直接面试他,没有要求iOS开发组长面试了,因为我想快速找到小伙伴! 面试开始,典型程序员:格子衫,双肩包,头发自来卷(蓬松有点乱).我对形象也没有太多要求,然后我开始面试:
- 首先我要求自我介绍一下(不超过3分钟),结果我呆了,直接10秒钟给我结束,他叫什么,然后来自哪!,没了,自我介绍非常简短,并且能看出他是非常的紧张,我稍微调侃一下氛围,开始讨论技术!
- 因为项目需要我比较关系面试者的学习能力,我为他平时是怎么安排他的空余时间的!他俨然很诚实:开黑!!!
- 我从侧面问他喜欢烹饪? 看他对生活的感觉,他还是很诚实:宅家一般都是店外面.
- 后面技术点我和他分享了一些,没有过多交流,因为整体我不太满意!没有自信,表达能力不够,对生活都没有激情,对工作估计也够呛!我很平和地跟他说:不好意思,你有些方面不太符合我们的要求(我不喜欢明明不喜欢,不想要,还要他等消息).我跟他说了一下他的问题,就送他离开了公司!
过了几天又来了一个让我印象特别深刻的求职者!iOS开发5年,在即时通讯,音视频都有较深的研究我非常高兴,他来之前我跟他的简历然后了解了一下他的公司还有产品(没有获得我想要的,安慰自己,这些都不能代表什么).他如约来面试,表达非常流利,我在自我介绍这块给他满分,非常高兴!!!!然后我开始和他分享技术,讨论架构模式,组件化项目的分层,他回答有点吞吐.我怀疑他对组件化不太了解!后面我转向MVVM,发现有点失望,对于这样一个双向绑定架构,也没说出来!回答什么View ViewModel Model!好像就只定格在这上面.后面我跟他讨论双向绑定,他怎么看,他貌似不太理解!我后面的RAC面试就吞进肚子里面!我后面就从架构转向网络编程这块.我先从最简单的: socket这个理解! 他来了句socket在网络层!我后面就没什么兴趣了........天啊!你开发5年,我瞬间懵逼,我很无语,因为后面的问题,真心回答不给力!最后直接跟他说了:不太符合,谢谢你来面试!
我傻了: 开发5年,这些不应该是必备功能!平时不应该随手可见?
后面来了很多面试者,我都是保持一颗初心面试他们---因为他们都是我的准小伙伴.发现绝大多数开发3-6年开发经验的iOS开发,技术太过于便面了,底层深入不了,还有多线程网络简直就是面试杀手!还有很多口口声声说对架构,对框架很了解,很熟练!发现有点过于虚假.讨论平时都是怎么学习的,很少有人会回答!(其中有一位我非常喜欢的3年经验的开发者,不是计算机的,培训iOS出来,期初我不太满意培训,但是后面回答是真心不错,无论底层进阶,还有网络还是多线程还有架构,都是比较OK,当然我录用了,后面工作也挺不错)
后面跟朋友讨论:觉得iOS开发者太顺利了!前几年一入行就是高薪(的确比其他IT行业入门薪资高)但是学习能力普遍低,并且没有学习的习惯(非常致命)iOS现在的市场还是比较稳定的,个人认为中高级市场iOS很缺乏,但是绝大多数都是应用层开发,很少会写文章,很少讨论,很少能够坚持学习的!也有很多人质疑说:面试造航母,入职拧螺丝!我觉得你还不够,至少我们的项目,都是非常有需要的!
通过这段时间的面试给出几点建议:
- 架构模式,编程思想,设计模式
- 底层进阶,深层理解
- 三方框架要知其然,而知其所以然
- 多线程与网络
- 内存管理,性能优化
- 数据结构和算法
- 音视频方向
- 逆向方向
最后希望iOS开发人群,加油,加油,加油!!!踏实的技术,认真的学习能力!!!!
喜欢的话可以点个赞:+1:或关注。
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:761407670 进群密码000,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!