上面讲到: 我通过降低招聘要求,吸引来了一大波求职者!下面是我的招聘要求:
熟练组件化架构,MVP,MVVM,MVC,ROUTER有较强的理解; 熟练掌握Objective-C语言,理解面向对象编程思想,具有较强的设计能力; 熟练掌握APNS、UI布局、数据库、网络等开发技术; 深入理解Objective-C Runtime、RunLoop等基础原理; 对App提高用户体验、性能调优、防崩溃、节省流量等的方法有深入了解; 良好的编程习惯,逻辑清晰,认真细致,良好的沟通能力,主动的沟通意识; 较强的自学能力、自我驱动力、强烈的探索欲。
我也年轻过,我首先非常尊重每一个不远前来面试的每一个准小伙伴.我代码或者项目上的任何问题,都不会带进面试间!
招聘需求一出,马上来了面试者,当天就有一位求职者: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年,这些不应该是必备功能!平时不应该随手可见?
后面也发生类似的情况,一个4年多(近5年)的iOS高级开发,期望薪资:28K 我觉得很合理,没问题!他来面试我就想把他往我们项目SDK封装位置上放,于是就问他关于框架你的认识!举几个你熟悉框架例子.他非常快速的回答:AFNetworking,SDWebImage.正好我也比较熟(我参与过分支版本)他回答都是我不想要的!!!!AFNetworking是他网络请求依赖库,对AFNetworking封装了一个request方法(无论get,post都用)
,我听到这里我就知道肯定有问题,对于复杂功能网络封装肯定不行,我封装地都是尽可能精简,复用也得在封装网络层和网络业务层!初步定位没有深入研究,果不其然SDWebImage的图片缓存机制都没有回答出来!
我选择果断放弃!
后面来了一个专注iOS开发,6年的小伙伴!他的要求有点低:25K 我虽然有点怀疑,但是我还是很认真面试,讨论他这些年的开发!然后讨论行情,后面我落地技术问到:OC是动态语言,你怎么理解!他回答了一些关于多态,还有运行时的东西!感觉还不错,我兴奋了起来,问进objc源码比如消息发送,动态解析,消息转发的过程
他貌似也完全不知道.有点扫兴,我就换了多线程,他貌似比较了解GCD,我就跟他讨论GCD源码-dispatch
,他貌似也完全不知道,没进来看过,只知道GCD的函数和队列的使用
,我出了一个执行打印顺序的一个题目,感觉他理解不够我只能也选择放弃,不能因为你要的少就可以放宽门槛!!!毕竟我要对公司负责,对我的项目负责!!!!
后面来了很多面试者,我都是保持一颗初心面试他们---因为他们都是我的准小伙伴.发现绝大多数开发3-6年开发经验的iOS开发,技术太过于便面了,底层深入不了,还有多线程网络简直就是面试杀手!还有很多口口声声说对架构,对框架很了解,很熟练!发现有点过于虚假.讨论平时都是怎么学习的,很少有人会回答!(其中有一位我非常喜欢的3年经验的开发者,不是计算机的,培训iOS出来,期初我不太满意培训,但是后面回答是真心不错,无论底层进阶,还有网络还是多线程还有架构,都是比较OK,当然我录用了,后面工作也挺不错)
后面跟朋友讨论:觉得iOS开发者太顺利了!一入行就是高薪(的确比其他IT行业入门薪资高)但是学习能力普遍低,并且没有学习的习惯(非常致命)iOS现在的市场还是比较稳定的,个人认为中高级市场iOS很缺乏,但是绝大多数都是应用层开发,很少会写文章,很少讨论,很少能够坚持学习的!也有很多人质疑说:
面试造航母,入职拧螺丝!
我觉得你还不够,至少我们的项目,都是非常有需要的!
通过这段时间的面试给出几点建议:
架构模式,编程思想,设计模式 底层进阶,深层理解 三方框架要知其然,而知其所以然 多线程与网络 内存管理,性能优化 数据结构和算法 音视频方向 逆向方向
中间有很多位面试者,当然里面有优秀的佼佼者,我是很诚心的交流了公司,发展以及未来!还有他如果来公司,也给他的职业发展稍微分析了,有很多非常不错,我也很中意,挑选了三位做了储备,这个招聘,面试还有挺有意思的额!这篇文章也是做记录,同时中心希望iOS开发人群,加油,加油,加油!!!踏实的技术,认真的学习能力!!!!
小编给大家推荐一个iOS技术交流群:551346706!群内提供数据结构与算法、底层进阶、swift、逆向、底层面试题整合文档等免费资料!