最近裸辞跳槽的人比较多,而我作为公司的Android 项目助长。在这段期间我也收到了不少的简历,面试了各种技术不一的人。许多候选人的工作年限都不少,基本都是在5年左右,但他们做的都是一些非常传统的项目,如果想通过简历直接判断一个人的能力是很难的,何况现在大环境越来越难做,大家找工作也越来越难。所以想知道一个人的真实实力,还是要通过见面面试才知道。
只有通过沟通才会发现他们的真实技术能力,在通过他们的年限和技术能力进行定位,看是否对应他们应聘岗位的等级。
面试时我打算聊点基础的,先打开一下话题,结果发现他们都对于开发中很基础的原理问题很不清楚,比如说:
- Activity 的启动流程?
- Handler通信原理?
-进程的优先级?
上面几个问题没有一个是“造火箭”的吧,结果发现,这些很基本的问题,他们普遍都答得很模糊,或者支支吾吾。其中,一个候选人的反问,令我印象特别深刻,他说:
上面的问题我虽然都不懂,但是我都工作五年了,如果我不能胜任工作,那你告诉我,我这5年经验是怎么来的?
再说了,做 Android 开发,说到底,还不是对着产品项目输出原型,然后CRUD吗?
遇到问题网上搜索一下,再不行就群里问一下,而且我又不找什么百万日活APP的Android开发,面试题不都是这样吗,还能有什么别的花样?
听完我沉思了很久,想着做为一个高级开发,如果连Activity的启动流程都说不清楚、Handler机制的原理都不理解,只会对着产品原型CRUD,测试不提bug,代码都不想复盘多看一眼的话,试问谁又愿意和这样的“Android高级大佬”一起干活?
作坊”,平时就两三个 Android 开发,大家都是“难兄难弟”的水平。让他认为,Android 开发,就是对着产品原型CRUD,年限上去了,就是高级开发。
思维一旦形成,就很难改变。但是,互联网是个瞬息万变的行业。
从BAT等各种大厂的应届生招聘薪水就可以看得出,现在应届生的水平越来越6,如果还以为大家都是一样的,都是对着原型CRUD,有问题就把报错信息网上一搜,群里一丢等回复这种方式,迟早给淘汰。即使不做framework开发,基本的原理、源码还是要了解的!
不制造任何焦虑,学习需要的也不是一腔热血,需要的是长期的规划,这里分享一个 Android 架构师成长学习路线,大家可以自行进行查漏补缺和规划:
下面我详细介绍成为架构师必须要学习的知识点:
一、数据结构与算法
数据结构和算法是计算机科学的基础,也是Android开发中必不可少的一部分,中高级Android开发者必备技能,掌握数据结构与算法可以大大提高程序开发效率、节省空间、解决复杂问题、提高代码质量和面试成功率。
二、Android架构师筑基必备技能
Java/Kotlin因丰富的语言特性、开发工具和类库支持,成为了Android开发者的首选编程语言之一,想要成为优秀的Android开发者其Java/Kotlin基础必须要牢固,至于选择哪个作为首选语言,可根据工作需求做出选择。
三、Android 高工UI专业技术体系
Android高级工程师UI必由之路:Jetpack架构组件、四大组件内核以及UI实战体系
四、Android 底层FrameWork内核解析
Binder、Handler、系统启动流程、AMS、WMS、PKMS核心源码解析,不仅仅停留在app应用层开发。
五、性能优化观点与编程规范
Android开发的彼岸:常见app性能优化和大厂性能优化实战,选对方向,努力爬坑吧!
六、设计思想解读开源框架
了解开源框架的设计思想,熟练掌握热修复,插件化,组件化等开源框架,搭建高质量应用程序,走上人生巅峰
七、NDK与音视频开发
音视频编解码全解析,图像识别,即构实时音视频SDK,掌握高薪秘诀
八、JETPACK COMPOSE
Android UI工具包,轻松地创建和维护复杂的 UI,满足特定设计要求,app UI界面设计必备组件。
九、Android车载应用系统开发
行业新星,Android领域另一个新风向,揭开Android车载应用的神秘面纱,选对方向,努力爬坑吧!
十、Flutter
Android程序员构建高性能和跨平台的移动应用程序,堪称最美的UI跨平台应用框架。Flutter 近年来因其易用性、速度以及创建具有视觉吸引力和吸引力的移动应用程序的能力而广受欢迎。
上面就是我为大家整理出来的一份Android程序员发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
最后:下方这份完整的【Android开发】视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
