写点什么

面试加分项!零基础如何成为高级 Android 开发,先收藏了

发布于: 2021 年 02 月 04 日

一、引言


现在已经是十月份的月末了,金九银十,这个找工作和面试的热潮已经渐渐退隐。


潮涨潮退,有的人从里面收获了心仪的 offer;有的人走了一趟,一无所获,或者收获寥寥,无甚满意;还有的人在观望,等待下一个良机。


这里分析一波现在的面试行情,带大家了解一下自己所处的位置,另外,分享一下有用的资料,帮助大家提升自己的战斗力。



初级


我对初级研发攻城狮的定义是掌握基础的 android 知识,能够独立完成一个功能。这个层级大部分人通过看一些资料书籍再经过项目练习很快可以达到。


需要的技能有:


  1. 掌握 android 四大组件知识,深入了解相关生命周期;对于 Application、Fragment、Intent 也必须掌握。

  2. 掌握 android 基本布局和控件的属性和使用,常用布局有 LinearLayout\RelativeLayout\ConstraintLayout 等,控件有 TextView\ImageView\RecyclerView\ScrollView 等。

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

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

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


中级


而到达中级就需要付出一些努力了,需要了解更多知识,可以仿照开源库去造轮子练习。中级工程师要能够熟练完成功能研发。


需要的技能有:


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

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

  3. 对 android 架构有基础了解,对 apk 结构和打包原理有深入了解。

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

  5. 熟练掌握各种研发调试工具,如 git、gradle、mat、layout inspector 等。6. 掌握 Handler\AsyncTask 原理,熟悉多线程开发。

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

  7. 能够熟练掌握开源库的使用,如图片库(Glide\Fresco)、网络库(Volley\okhttp\Retrofit)、工具(Dagger\RxJava\EventBus)等。

  8. 熟悉图片优化常用方法,避免编写内存泄漏的代码。



高级


如果到达中级,那么恭喜你已经可以应付大部分情况了。但要能更进一步,就需要深入理解 android 系统的运行原理,达到融会贯通,可以作为 android 端上的架构师。


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

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

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

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

  5. 深入理解 android 绘制原理,理解 VSYNC 和 surface 机制和窗口原理。

  6. 深入理解 android 动画原理,包括补间动画和属性动画。

  7. 对于 android 安全机制有基本认知,理解 android 安全原理。

  8. 深入理解端上设计范式思想,如 mvc\mvp\mvvm\clean-arch 等。

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

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


至此,android 端研发你已经炉火纯青,能够面对各种情况,达到泰山崩于前而色不变的境界。如果还想继续前进,就需要突破技术栈,从更高架构层次考虑问题。


资深


而到了资深层次,技术栈已经不再是阻碍。能够从更高层面看待问题,理解整个系统的设计,作为系统架构师的角色存在。


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

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

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


总结


算法知识点繁多,企业考察的题目千变万化,面对越来越近的“金九银十”,我给大家准备好了一套比较完善的学习方法,希望能帮助大家在有限的时间里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。


这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。


部分资料展示:






有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂 Offer 的距离更加近。


资料获取方法:点赞+关注+转发,然后进入我的【GitHub】,里面有免费获取途径


用户头像

VX公众号:编程进阶路 2020.11.28 加入

还未添加个人简介

评论

发布
暂无评论
面试加分项!零基础如何成为高级Android开发,先收藏了