目前情况:16届某野鸡大学本科生,实际接触Android年限一年半,工作年限一年半(注意,我说的是工作年限,不是工作经验),今年2月份裸辞后就来魔都找工作了,目前一周,5个面试邀请,只拿到一个并不是特满意的offer。
PS:之前的工作岗位是手机方案MMI(说好听是Android系统二次开发,我相信只有真正做过的人才会发现这个职业有多坑),所有的技术都是浅尝辄止,重复一些流水线模式的code工作。去年年末开始就在准备转型离职的事情,慢慢学习一些上层app常用开发技巧及框架。
首先我想明确地说在目前的大环境下,移动互联网确实已经属于寒冬。尤其是Android/IOS开发,虽然说不上夕阳行业,但也离热门IT职业差了十万八千里。从最近大量O2O创业公司倒闭破产,华为、乐视等大厂实施裁员的新闻其实也能略见一二了。至于那些还存活着的小公司,对于移动端开发人员的要求。。。好像跑题了~还是说求职面试吧。
来魔都面试给我的第一感觉就是人太多了,地铁上人多就算了,去公司面试Android开发也要排队是什么鬼!之前在知乎上看到过某培训机构的讲师说了这样一句话,“给我三个月,我能培训出一个连的Android初级开发工程师”。这一点也不假,听说现在很多培训机构都关闭了移动端开发的课程,但是前几年输出的程序员实在是太饱和了,这也就造成了一个岗位N百个人投简历,面试要排队的情况。尤其是对那些没有985、211文凭,没有三年以上软件工作经验的初级开发者(也就是我拉~)来说,会有很不好的面试体验。
唠叨下这周最差的一次面试体验,一个地理位置比较偏僻的A轮公司(步行+地铁 近2小时),去了之后前台让登记一个临时到访表,发现从上至下满满地Android/IOS/Java面试登记,之后给了一份个人信息表和面试题,重点是面试题足足有6张纸,27道题,先不说题目的质量,光看数量就有一种回到高考的感觉。拿到题目之后前台妹子看了下说没地方做了,客厅茶水间都坐满了面试的人,我当时就想竞争好大啊。总之就是站着等了半小时,有位置后试卷做了一小时(应该做的还是不错的,有详有略基本写满了),之后又是等了一小会,终于有一个貌似是技术人员的面试官把我带到了办公室内部,拿着我的简历看了5分钟,笔试题则直接放在了桌上没有看,然后问了下我在之前公司的职位以及工作流程就很随意地说:“嗯,我这了解得差不多了,今天就先这样吧,你可以先回去等通知了”。没有任何委婉的拒绝,没有任何技术上的讨论,连个最基本的自我介绍都没有。。。对于这次面试经历,我只能自认倒霉地投了简历,同时庆幸没有在该公司就职。连最基本的待人礼貌,处事原则都没有的公司,我想待着也只能是浪费自己的时间,消磨殆尽自己的耐心吧。
移动互联网行业的衰落导致很多小公司根本就不是急需开发人员(一般创业公司其实一个移动端开发人员压榨压榨完全够用了)。如果你申请得是初、中级工程师的职位,一般都会先给你一份涉及Java基础、算法、Android基础的笔试题做,等你好不容易做完了几张纸的试题,等了半小时、一小时甚至更多的时间轮到你进会议室面谈了,接下来等着你的很有可能不是赢取白富美,走上人生巅峰,而是HR或者技术人员简单看了下你的简历信息,随便问你2个无关技术的问题就把你打发走了等通知。而且大多数小公司都会这样对待应聘的初级工程师,甚至还会直接质疑你的简历信息,别问我为什么知道的!!!当然有资历的高级程序员还是很吃香的,想吃到香饽饽就得继续奋斗呀~一名3年工作经验的程序员应该具备的技能,
一个五年Android开发者百度、阿里、聚美、映客的面试心经
废话说太多了,虽然目前是移动互联网寒冬,但是生活还在继续,如果不是爹二代,我们还是得继续投简历、面试、寻offer。毕竟不可能每个人刚工作就有三年以上经验。那么如下就是个人的一些小tips:
1.首先要适当修改下我们的简历,可以稍微夸大一些(不是作假简历,只是包装一下项目经验、个人技能等),毕竟竞争对手太多了,项目经验思路可以写清晰简洁一些,突出你的能力,适当出现一些Retrofit、RXJava、ReactNative、Glide等专业术语,否则你会发现根本收不到面试邀请电话。但是如果你过分夸大,那么很有可能你的面试随后感就是以后再也不装逼了。。。
2.大多数公司都会考一些很基础、但易忘的纯java知识点。栗:数组、链表的数据结构及区别;String源码的思考(equal,hasCode等);基础算法(冒泡,递归);Array、List、Set、Map小结;多线程知识点(run()、start()区别,wait,sleep区别);设计模式(主要都是考单例模式)。。。。。。
3.常见的Android问题。Activity、Service、Fragment生命周期;ListView&&RecyclerView;Binder、Handler通信(即使不懂原理也要扯点出来,哈哈);自定义View知识点;MVP、MVC架构;图片三级缓存;内存泄漏解决方法;ANR分析;应用登陆注册界面及逻辑的设计。。。。。。
4.可以尝试在面试过程中占主导地位,比如通过提一些犀利的问题,如果一直是面试官问问题,那么你很可能就被pass掉了(说的就是我!)。
5.要向阐明公司为什么要录用你而不是其他人。工作经验>工作年限,个人发展培养前景好等隐藏属性一般都会被小公司直接忽视掉,所以需要简洁明了同时略自信地说明你需要多少时间适应,适应后是否有能力独自承担开发任务等强有力的优势。毕竟小公司肯定是把利益及费用放在第一位的,人才与技术也是服务于他们的产品而存在的。
6.最有效的办法就是暂时别辞职,或者别裸辞,慢慢沉淀下来学点干货,RN、架构、设计模式等等。等你觉得跳槽后完全可以超越成千上万的竞争者拿到一份满意的offe才离职,因为目前对于初级工程师来说,好工作实在是太难找了!实在是太难找了!难找了!