最后
感谢您的阅读,在文末给大家准备一个福利。本人从事Android开发已经有十余年,算是一名资深的移动开发架构师了吧。根据我的观察发现,对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
所以在此将我十年载,从萌新小白一步步成长为Android移动开发架构师的学习笔记,从Android四大组件到手写实现一个架构设计,我都有一一的对应笔记为你讲解。
当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。
最后,赠与大家一句诗,共勉!
不驰于空想,不骛于虚声。不忘初心,方得始终。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2015年正是IT行业大火的时候,各大教育机构快速的培养了一大批初级的Android开发者进入市场,使得火热的市场供大于求。最后导致Android 初级市场开始慢慢的进入饱和阶段,也是这个原因招聘的门槛开始不断高。
再也不像从前,会写几个简单的页面,功能的实现。而不去考虑性能的优化和是否卡顿等问出现,放到现在肯定是不行的。因为用户的体验感和永远感在不停的改变,所以得考虑到多方便因素,而这些因素要怎么去解决,就需要通过我们这些开发者来实现,正是这样所以招聘需求门槛也在不断的提升。
我们来看看现在市场招聘的要求:
任职要求:
1、本科以上学历,计算机、信息技术相关专业
2、4年以上Android开发工作经验
3、有一定的架构设计能力,对设计模式、MVVM、组件化/模块化等有深刻理解
4、熟悉 Android下网络通信机制,对HTTP有较深刻的理解和经验,有网络编程经验
5、熟悉kotlin开发、熟练使用Android IPC通信,熟悉文件操作、SQLite、UI组件、Socket、多线程、自定义组件等技术
6、熟悉Git代码管理、Android打包发布流程、自动化集成等
7、做事严谨踏实,有责任感及上进心,能够承受工作压力,善于学习总结,具备很强的自学能力
8、强烈的责任感和良好的团队合作精神和沟通协调能力
而我们再来看一线城市中的Android开发薪资/年限如下:
一个应届毕业生月薪可以拿到7K;有两三年开发经验的月薪可以拿到15K;三五年的月薪可以30K;五年以上的架构师月薪可以拿到40K+。
为了对比这组数据的真实性,我们可以通过招聘网上的薪资和任职要求做个简单的对比:
上图是三到五年的一个薪资范围,不是说你在这一行做的越久工资就越高,而是你的技术水平要到达一定的水平,技术水平越高的话就拿得越多。如果想着我做的越久拿得越多,没有过硬的技术,那公司还不如请一个新人重新培养,成本可能比你的工资还有低。所以上图只是针对你的开发年限要需要达到的一个标准。
评判一个开发到底处于初中高级的哪个阶段绝对不是光凭年限!
大家要搞清楚,我们Android开发作为一个技术岗位,最最最核心的竞争力在于哪里?
不还是技术吗?
在这个互联网发展迅速的时代,技术在手才是最最最关键。随着时代的发展与科技的更新,市场用户的体验感更新,而我们的技术也要不断的更新。不能只看眼下技术够用了就可以,而需要有长远的目光去看待,只要不断的更新自己的技术去学习,时刻抱有危机感,这样自己才会在这个行业待的长久。
前面说了那么多,说到底我们还是得看看市场行情这个大环境怎么样?如果市场行情大环境不行,那就说明这个行业真的凉了。
下面是我从Boss直聘上抓捕的一组Android 开发招聘薪资图:
从上图可以看出薪资基本都是 15K+ 起步,所以Android 开发行业的发展还是很客观。并没有像网上那些传言一样 Android 行业凉了,凉了的而是那些 一个技术用十几年的人群,从未有去想过提升自己的技能,等到最后就被一些后浪给狠狠的拍在地上了。
如果你是老板,一个新员工和一个老人员工干事的结果和效率是一样的,但薪资水平不同,只能留一个人你会怎么选?
相信大家会和我是一样选择 “新员工”。因为他必定还有产出的提升,而老员工基本定型了,只要他自己不去想着提升自己,别人也拿他们没有办法。
当坐上资本家的位置,看事的角度就会不同,人家只会去看你的产出比了。从中决定是否将其淘汰?
身处在 Android 开发行业的我,曾经也有过和大家一样的纠结,主要去往那些方向去深耕? 找准方向是很重要的,如果开始不给自己找准好方向,中间就会走许多弯路浪费时间。
而我们找准方向最好的方法是去调查市场,了解市场需求,在综合市场的需求从中给自己定准好方向去深耕。技术有了一定的提升,工作经验摆在眼前,还怕自己没有稳定的高薪工作找嘛?
按目前形式来看,企业招聘初级人才可以说轻松随意的可以招到,但对于中高级以上的人才很难招,有很多公司花费了大把的时间都很难招聘到几个,别人还要进行对比不同公司的待遇和薪资等方面进行决定是否去。
这也说明了行业中高端人才的稀缺,想要拿到高薪,首先自己还是要有真才实学,只有自身达到了一定的高度,薪资薪酬自然也就上去了。
换个角度,当你技术有一定深度的时候,对于一些其他技术,或多或少都会有所涉及的。这个时候技术的广度也有了,大家还会觉得薪资会低吗?
1.首先给大家推荐的是一份《Android 开发高工技能成长路线》,里面整理的技术点是针对的一线大厂内所需求的技术制定,可以有针对性的系统提升大家的技术,也可以对你自身的技术进行查漏补缺。
注:腾讯新职级T11等于之前的T3.3
由于图内记录的技术点过多,导致原图过大,需要参考原图可以直接去我 CodeChina地址:https://codechina.csdn.net/u012165769/Android-T3 访问查阅。
2.大家可以多去看一些博客和技术讲解视频,增强自己的知识面。比如有:掘金、简书、知乎、B站、腾讯课堂等……
总结
最后对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
相信它会给大家带来很多收获:
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!