前言
许多 Android 开发者经常会问我,要学会哪些东西才能成为一个优秀的 Android 工程师?对于这个问题,他们的描述或多或少都有些差异,但是,总体来说,我们都需要学习一系列的技能,才能成为一个优秀的 Android 工程师。
在我看来,存在这样的困惑是正常的。Android 是一个巨大并且动态的生态系统,你可能需要花好几周时间去了解并学习它相关的一些工具和概念,但是最后你会发现,它们有好多都不是很重要,或者说并不是非常有用。因此,在本文中,我将分享我在 Android 开发中所使用到的重要技能,希望能够帮到你,让你把你的精力集中到重要的事情上。
所以,今天,我将献上一份《Android知识图谱》,以自身的经验 & 所见所闻,旨在告诉大家,学习Android,实际上需要学习什么内容,希望你们会喜欢。
1. 我们生活的每天都面临着很严重的挑战
虽然目前看起来我们都在做着自己的事情,一切在顺利的进行着,但是,实则不然,我们每个人的身边或是自身已充满着“危机”,这里说的危机是指你的自身价值可替代性。
不管你做什么,自己的不可替代性是最重要的。那么如何解释这点呢?细心想想,不难。
从技术方面来讲
你的个人技术深度在你的职业生涯前期是很占据优势的,如果你能在前3年做到技术出众,在深度上比同行的造诣更深一层的话,那么你是很有优势的,凭借这点可以给你带来很多优势和资源。
反之,如果你没有占据上位,那么你所面临的挑战就会大很多,这对你的后续发展空间就会造成很大的挑战。
从职业生涯技能方面来讲
如果你在工作 3~5 年这个关键期间内,没有在做好扎实的技术储备基础上去扩展第二生存技能,那么你的可替代性就会大打折扣。
我们的个人发展要随企业的需求来改变,这叫适应市场,也可以叫适者生存。可惜的是,不明白的人太多了,或者明白的太晚了;这个阶段注重的是你是否具有了第二生存技能,是否在技术的根基上走出自己的路线,具有这方面的技能才是企业对这个阶段的人才需求。
在踏出校门之前就给自己打造优势
合作,相互共利。合作的选择,双方平等的前提下,优选。
我们往往在一个固定的环境中最容易适应下去,这点本身就是对自己的发展不利的,你能否从这个固定的环境中脱颖而出,就决定了你是否占有优势。相比于职场,在这个环境里你需要同时打造前面提到的两个方面优势。
2. 技术拓展是必须的
前面说过,我们做技术如果深度不够,那你的可被替代性就很大,这个时候就需要你的第二技能上场了。
个人发展随着时间的推移和自己年龄的增长,利和弊都在增加。而处于这个时期的我们大都肩负着很大的责任,上有老下有小,可以说,一片小天就靠你在撑着。
这个阶段大多在你的职业生涯 5 年之后就会面临,所以这个时期的你拼的已经不再是年轻力盛,无更多顾虑了,而是你所掌握的是不是具有不可替代性,技术已经不是企业来衡量你的重点了,更多关注的是你还有什么可被企业挖掘的?你有什么还是“小鲜肉”不能替代的?
像现在的UI工程师,底层工程师,架构师,以及现在流行的Flutter技术。每时每刻技术或许都在更新,如果我们不跟着时代的脚步一起更新,迟早会被淘汰的
3. 我们的战略从一开始就是持久战
我们都从一个 “Hello World!” 开始了程序人生,却很少有人预料到这是一场看不到终点的游戏,在这场游戏里,如果你掌握了规则,那你的等级就会升的很快。
有人之前问我想进入大厂,作为一个资深架构师应该要具备哪些技能呢?
Android架构师专题
详细介绍各大互联网公司的内部架构,分享最新的架构经验
最后,面试前该准备哪些资源复习?
其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
这里再分享一下我面试期间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)
《Android开发七大模块核心知识笔记》
《960全网最全Android开发笔记》
《379页Android开发面试宝典》
历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图,戳这里免费领取