Android开发几年了你知道Android初级中级高级资深及专家怎么划分吗?

  • 掌握Android 四大组件知识,深入了解相关生命周期,对于Application、Fragment、Intent常见的开发知识也必须掌握。

  • 掌握Android 基本布局和控件的属性和使用,常用布局有LinearLayout、RelativeLayout、ConstraintLayout等,控件有TextView、ImageView、RecyclerView、ScrollView等。

  • 对Android的资源访问使用有基本了解,了解Android针对不同国家、语言、屏幕、API的适配原理。

  • 掌握android系统服务和工具类的使用,对网络访问和数据库操作有基本认知。

  • 熟练掌握研发工具,如IDE、模拟器、网络代理、日志等。

中级

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

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

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

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

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

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

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

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

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

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

高级

对于高级,就不仅限于功能和业务开发,还需要深入理解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等研发框架。
    系统的设计。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值