开头
最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自己都已经跑路了。**最近他表示很苦恼,换工作看机会,几乎没几个公司给面试机会。很多HR问的他最多就是咋从大厂跑到外包去了。。。这个情况,我说实话,也不知道怎么建议(看看各位有啥建议没有?可以留言下),这对我是个难题。因为频繁换工作是大忌,尤其是越换越差时。。
中高级Android需要的知识技能
技能:
1.了解android的签名机制(实现原理,具体操作等等),打包机制(多渠道打包,打包流程等等) 2.了解apk安装文件压缩(压缩图片,代码压缩,.so文件压缩等等) 3.事件分发,View绘制流程,webview相关知识点(与Native的交互,性能优化等) 4.熟悉数据库的使用(基本API,第三方ORM框架,ORM框架的实现原理等等) 5.java反射原理与简单实践等,activity的启动模式 6.activity,service,fragment,broadcastreceiver广播生命周期 7.屏幕适配,AIDL与messager的简单实用,自定义组件(自定义View与自定义ViewGroup) 8.动画(补间动画,帧动画,属性动画),通知栏消息,版本新特性等等等等; 9.手动编写框架,设计模式,代码规范,项目进度,时间估算 10.启动流程,性能优化,OOM,没存溢出与泄露,JNI 11.脚本开发,activity启动流程,android中的IPC机制(Binder原理) 12.对iOS等其他移动开发现学现用等等;
要求:
开始阅读android方面的而源码,不但能看懂别人的代码还需要能够修改别人源码,对android的体系结构,组成方式,常见开源社区,技术要点能够了然于胸。能够造轮子,比如写一个网络框架,事件总线控件,特效View等,重点是能够为产品造轮子。
知识点总结
大厂百万年薪必备—技能总结路线已到手(仅展示框架体系架构篇)
说明:以下全部所说的架构师必备技能之框架体系架构学习路线及相关笔记:面向Android中的一切实体(高级UI/Framework)+实体间的通信方案+实体中数据存储专题等,篇幅有限,很多都是截图展示,但是图片都是很高清的,可以清晰的看见其中的内容。
Activity与View相关实体知识体系
- Task启动原理与调用栈内核
- ViewGroup源码解析
- View源码分析与高级自定义View项目实战
- 事件分发的核心机制
- Handler通信原理与框架手写
- Hook Resource源码实现 theme项目实战
FrameWork源码
- Service 内核原理
- Fragment 内核
- XMS生命周期与内核管理原理
- Intent数据传递原理和内核
实体间的通信方案
- 各实体之间通信原理与方法
- Apk之间通信方案原理总结
实体中数据存储专题
- 应用的Data目录
- SDcard文件存储的原理与局限
- Shared Preference
- 微信MMKV架构方案手写实现
面试题解析篇
一、Handler 相关知识
十二、Android 高级必备 : AMS,WMS,PMS
十五、Android 屏幕适配
十八、Android MVC、MVP、MVVM
二十三、Android 组件化与插件化
总结
最后对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司20年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
相信它会给大家带来很多收获:
上述【高清技术脑图】以及【配套的面试真题PDF】可以点击我的腾讯文档免费获取
本文在开源项目中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。