Android开发初级中级高级怎么划分

移动研发在最近两年能够说愈来愈趋于稳定,由于愈来愈多人开始学习Android开发,形成市场良莠不齐。正所谓入门容易成长很难,对将来比较迷茫,不知道本身技能该怎么提高,而且对于初级中级高级须要怎么进行成才,不少人都比较迷惑。
为了方便你们成才,我把初级、中级、高级和资深四个常见的岗位须要掌握的一些知识进行以下整理。前端

初级

初级研发工程师的定义是掌握基础的Android知识,可以独立完成一个功能,工做年限大概在1-2年,这个层级大部分人经过看一些资料书籍再通过项目练习很快能够达到。这个级别的人每每须要掌握以下一些技能:
掌握Android 四大组件知识,深刻了解相关生命周期,对于Application、Fragment、Intent常见的开发知识也必须掌握。
掌握Android 基本布局和控件的属性和使用,经常使用布局有LinearLayout、RelativeLayout、ConstraintLayout等,控件有TextView、ImageView、RecyclerView、ScrollView等。
对Android的资源访问使用有基本了解,了解Android针对不一样国家、语言、屏幕、API的适配原理。
掌握android系统服务和工具类的使用,对网络访问和数据库操做有基本认知。
熟练掌握研发工具,如IDE、模拟器、网络代理、日志等。vue

中级

我对中级工程师的定义是可以熟练完成功能研发外,还须要掌握常见开源库的一些原理,并仿照开源库去造轮子练习。这个阶段的人大多工做3-5年,业务开发能力熟练,碰到任何一个问题都可以获得解决,这个级别的人每每须要具有以下技能:
熟悉SOLID基础设计原则,掌握23种设计模式。
对于研发语言特性java/kotlin有深刻理解,如反射、动态代理、apt等。
对Android架构有基础了解,对apk结构和打包原理有深刻了解。
对于Android各个版本特性有基本了解,如MD设计、权限管理、doze模式等。
熟练掌握各类研发调试工具,如git、gradle、mat、layout inspector等。
掌握HandlerAsyncTask原理,熟悉多线程开发。
对绘页面制原理有初步理解,可以实现一个复杂自定义控件。
可以熟练掌握开源库的使用,如图片库(GlideFresco)、网络库(VolleyokhttpRetrofit)、工具(DaggerRxJavaEventBus)等,可以对这些经常使用的库进行二次封装。
熟悉应用常见的优化方法,避免编写内存泄漏的代码。java

高级

对于高级,就不只限于功能和业务开发,还须要深刻理解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的一些核心原理外,还须要具备架构设计能力,可以从更高层面看待问题,理解整个系统的设计。react

专家

做为开发专家,那么除了理解Android的一些核心原理外,还须要具备架构设计能力,可以从更高层面看待问题,理解整个系统的设计。
理解微服务、SOA思想,对于后端开发有必定涉猎。
了解前端研发工具和思想,知道vue react等研发框架。
深刻理解跨端技术,如phonegap、weex/RN flutter、小程序快应用等。android

相关文章
相关标签/搜索