写点什么

讲的真透彻!Android 开发了解这些自然无惧面试,成功入职阿里

发布于: 2020 年 12 月 27 日

前言


前几年移动互联网创业的风口,如今渐渐消失,移动互联网被巨头公司瓜分,一些创业公司倒闭了,Android 开发需求慢慢趋近于饱和。而当初移动互联网处于风口时,自学、转行以及培训机构出来了大量 Android 开发从业者,导致目前看起来市场供大于求。


那么 Android 开发工程师们应该如何面对当下的局面呢?


其实当下的供需关系不平衡不代表没有需求,市场上过多的是只会写 xml 和 Activity、只会用代码堆需求的初级 Android 程序员,而高级 Android 开发工程师仍然紧缺,并且薪资很可观。


那么接下来,问题就变成了“如何提升自己在 Android 市场上的竞争力”。


入门学习阶段


首先,官方文档肯定是最好的教科书,网上一些大神分享的案例也可以多看看,一边学习一边练手。假设英语还不错,而且还有 Java 和 XML 的基础,那照着官方的 Training 慢慢学习下来其实就算是入门了。如果英语不太好,也要把基本功打扎实,把编程语言练熟。也要多找资料多做练习,至少要掌握基本的 Android 开发知识,比如四大组件的使用、创建 Service、进行布局、简单的自定义 View 等等是最基本的要求。



也许前期看什么都觉得很吃力,但是不必急躁,慢慢来,下层基础决定上层建筑。初期学得稳,后期才能走得远。这里给大家推荐几本新手入门的必备书籍,《第一行代码》、《android 开发艺术探索》、《android 编程权威指南》。


学习方法


  • 多练多思考


对于刚刚踏入这个行业的新人,我觉得最好的学习方法就是多练习、多思考,在学习中突破自己,积累经验。对于新手来说,Android 开发的前期阶段就是不断地在踩坑,所以最快速的成长方式就是去和各式各样的 bug 展开殊死搏斗,不断打磨自己的技术。理论和实践的融合技巧是需要你自己去摸索的。


  • 写日志


前期学习的犯错次数肯定很多,记录、总结有助于我们快速地解决问题。写日志是我们日常学习的一种记录方式,写日志其实是对知识体系的回顾与总结。与其说写日志有助于我们学习,不如说记录问题有助于我们学习。


总的来说,初级 Android 开发者需要学习的东西还是比较多,所以大家要保持良好的心态,做好长期作战的准备,一步一步地去充实自己。


中阶学习阶段


这个时候的 Android 开发者已经具备了一些从技术看本质的能力,对学习 Android 开发也有了一定的理解。这个时候就可以把眼光放向其他尖钻、热门的技术,扩充自己的知识面。想要尝试但是又不熟悉的领域也可以接触起来。



在中阶学习阶段,没有必要再去重复过于简单的工作,我们更需要提升的是解决问题的能力。形成一个自己的思维方法和知识体系是当前最重要的任务,这也是我们成为 Android 高阶工程师的必要条件。


学习方法


  • 参与开源项目


开启开源项目或者贡献开源项目能极大地提升我们的技术水平。很多人都有这样的感受,那就是关键的脑洞往往是一种启发,想通它的那一瞬间就像打通了任督二脉,一下子就练成了九阳神功。这种灵感的获得在 Android 开发学习中是很难得的。我自己也在开源社区参与过不少项目,得到过不少好用的组件,是开源项目的获益者,所以我推荐大家多去开源社区活动,相信你们也会有不少收获。比如 GitHub 就是一个不错的开源社区,在项目中 GitHub 聚集了全球各个领域的程序员,可以直接阅读 Google、Facebook 顶级公司的开源项目,不管是阅读别人的源码还是自己贡献代码都很方便。


  • 阅读 Android 源码


Android 源码的理解可以帮助我们进一步地学习,给我们以后能力的提升打下坚实的基础。多看优秀的源码,有可能的话重复造一遍也挺好的。不能一直停留在基本 api 的使用上,应该往更深层次的方向去研究,例如 activity、view 的内部运行机制、Android 的内存优化、JNI 等,除了能灵活运用,更应该能通过阅读源码而理解其实现原理。


高阶学习阶段


高阶学习阶段的最重要内容是“更好”。某种程度上来说,一个项目不论完成得有多优秀,它总是会有更优质的设计方案。到了高阶学习的阶段,无论这个项目完成得多好,我们都可以再问一句,还有没有更加完美的设计思路。虽然有着丰富开发经验的工程师在项目开始之前,就已经知道瓶颈在哪里,需要注意哪些地方,但创造更优的解决方案一直都是高阶工程师追逐的目标。


学习方式


  • 系统学习


理解系统,学会用系统思维才更有利于解决问题。比如 FB 的 Buck 构建,国内多少技术团队基于此做了构建优化(也得到了晋升)。学习技术需要结合项目进行训练,在 Android 里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,就不是一件这么简单的事情了,我们需要学习更多的 Android 开发知识才能知道其中蕴含的深理。


要如何成为 Android 架构师?


搭建自己的知识框架,全面提升自己的技术体系,并且往底层源码方向深入钻研。大多数技术人喜欢用思维脑图来构建自己的知识体系,一目了然。这里给大家分享一份大厂主流的 Android 架构师技术体系,可以用来搭建自己的知识框架,或者查漏补缺;


对应这份技术大纲,我也整理了一套 Android 高级架构师完整系列的视频教程,主要针对 3-5 年 Android 开发经验以上,需要往高级架构师层次学习提升的同学,在这里点击GitHub免费分享,希望能帮你突破瓶颈,跳槽进大厂;


最后我必须强调几点:


1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要! 最后你达到什么水平取决你消化了多少知识 3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。


你只需要按照在这个大的框架去填充自己,年薪 40W 一定不是终点,技术无止境


用户头像

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

还未添加个人简介

评论

发布
暂无评论
讲的真透彻!Android开发了解这些自然无惧面试,成功入职阿里