写点什么

从事这么久的 Android 开发工作,知道自己处于什么段位嘛?

用户头像
Android架构
关注
发布于: 2 小时前

[](

)中级


我对中级工程师的定义是能够熟练完成功能研发外,还需要掌握常见开源库的一些原理,并仿照开源库去造轮子练习。这个阶段的人大多工作 3-5 年,业务开发能力熟练,碰到任何一个问题都能够得到解决,这个级别的人往往需要具备如下技能:


  • 熟悉 SOLID 基础设计原则,掌握 23 种设计模式。

  • 对于研发语言特性 java/kotlin 有深入理解,如反射、动态代理、apt 等。

  • 对 Android 架构有基础了解,对 apk 结构和打包原理有深入了解。

  • 对于 Android 各个版本特性有基本了解,如 MD 设计、权限管理、doze 模式等。

  • 熟练掌握各种研发调试工具,如 git、gradle、mat、layout inspector 等。

  • 掌握 HandlerAsyncTask 原理,熟悉多线程开发。

  • 对绘页面制原理有初步理解,能够实现一个复杂自定义控件。

  • 能够熟练掌握开源库的使用,如图片库(GlideFresco)、网络库(VolleyokhttpRetrofit)、工具(DaggerRxJavaEventBus)等,能够对这些常用的库进行二次封装。

  • 熟悉应用常见的优化方法,避免编写内存泄漏的代码。


[](

)高级


对于高级,


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


就不仅限于功能和业务开发,还需要深入理解 Android 系统的运行原理,达到融会贯通,部分可够作为 Android 端架构师。这一阶段的人大多工作 5-8 年,具备开源库设计能力,同时对于 Android 系统的运行原理也比较了解。


  • 掌握 java 高级特性,如 JUC、线程池、NIOBIO 等;掌握 jvm 虚拟机知识,如内存模型、GC 原理、类加载机制、线程模型等。

  • 对 Android 运行环境有深入理解,理解 Android 沙盒机制,掌握 AIDL 原理及 Binder 通信原理,了解 app 和 activity 启动原理。

  • 掌握热修复原理,各大厂商方案的优缺点。

  • 对于 Android 事件分发有深入理解,重点掌握触摸事件机制。

  • 深入理解 Android 绘制原理,理解 VSYNC 和 surface 机制和窗口原理。

  • 深入理解 Android 动画原理,包括补间动画和属性动画。

  • 对于 Android 安全机制有基本认知,理解 Android 安全原理。

  • 深入理解端上设计范式思想,如 mvcmvpmvvmclean-arch 等。

  • 理解架构演进,有良好的分层和拆分思路,掌握模块化、插件化、动态部署等。

  • 对新技术敏感(,理解掌握下一代架构 dynamic feature 等。


如果达到这一水平,恭喜你,你已经超过 70%左右的人,但是如果要再进一步,比如架构中/开发专家,那么除了理解 Android 的一些核心原理外,还需要具有架构设计能力,能够从更高层面看待问题,理解整个系统的设计。


[](

)专家


作为开发专家,那么除了理解 Android 的一些核心原理外,还需要具有架构设计能力,能够从更高层面看待问题,理解整个系统的设计。


  • 理解微服务、SOA 思想,对于后端开发有一定涉猎。

  • 了解前端研发工具和思想,知道 vue react 等研发框架。

  • 深入理解跨端技术,如 phonegap、weex/RN flutter、小程序快应用等。


[](

)最后


不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。


如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
从事这么久的Android 开发工作,知道自己处于什么段位嘛?