度日如年,光阴似箭,工夫真的过得飞快。
加上实习,从事 Android 开发,差不多有 5 年了,在这里,我分享一下我的教训,在 Android 的学习路上,我是站在伟人的肩膀上成长起来的。
大略分为三个局部:
一、Android 职业规划
二、Android 学习路线
三、如何进入大厂
Android 成长生涯
1-3 年
前 3 年,我感觉是咱们成长最快的时候。
尤其是刚开始工作的一年,刚开始接触我的项目,咱们会接触到很多新常识,比拟网络框架的封装,Android 架构 MVVM,MVC,MVP 等。
这段期间是咱们提高最快的时候,因为很多货色咱们都不会,咱们会逼着本人去学习。
第二到第三年,也是咱们成长的关键时期。这时候,在我的项目中,咱们根本会本人独立负责需要。这时候的咱们,大多数基本功能都能够本人独立实现。须要留神的是代码格调和 代码思维的造就。
代码格调,指的是编码习惯。比方办法命名,办法的正当拆分,适当增加注解,正文。听起来可能会很虚,然而千万别小看这些细节。反正我在组里见过一些工作五六年的,代码一坨一坨的,像 si 一样。
代码思维,有点相似于人的视线和思考形式吧。很多时候,实现某个成果,有很多种计划。咱们为了应酬需要,可能会轻易抉择一种,没有去理解其余计划。而这恰好错过了咱们成长的最佳时期。
记住,永远别给本人设限,或者在编程的路上会遇到很多问题,然而总会有解决办法的,而这取决你的态度。
3-5 年
这个期间,不出意外,咱们根本都是高级工程师了。这时候大多数人会遇到瓶颈,不晓得学些什么好。如同什么都会,然而不够深刻。我也遇到这样的状况,当初正在深挖。
这方面我临时也给不了太多意见,只能说,抉择一个方向,静下心来,去学习,置信能播种到咱们想要的。
学习方向有很多,比方 Android 性能优化(启动,卡顿,Crash 治理),JNI C++,gradle 打包,编译速度,音视频等等,这些都是大的方向。
5 年之后
大多数技术人,个别会有以下方向。
- 第一:成为技术大神,比方架构师,及技术专家等。
- 第二:技术治理,比方技术总监等。
- 第三:技术转型,如转项目管理,产品等,你牛逼的话,说不定下一个张小龙就是你(哥们,想多了,那有这么容易)。
- 第四:自主守业,做自媒体等
我目前来说,可能会抉择第一条路吧,成为一名技术专家。
在技术的路上,或者会很累,很难,可那又怎么呢
35 岁中年职业危机,很多职业都有,不仅仅局限于程序员。
从实质下面说,本身竞争力降落占很大起因。毕竟,优良的人才从来不短少机会。
既然抉择了,便只顾风雨兼程。
为了将来有更多的抉择,从当初开始,朝着本人的指标努力奋斗吧,书写属于本人的人生。
Android 学习路线
上面,说一下 Android 的学习路线,不会很具体,次要是从大的方面来说,感兴趣的能够看一下。
搭建根本的开发环境,敲下 Hello world
首先你配置好电脑开发环境。首先须要配置 Java,AndroidStudio 的开发环境。
当初的 IDE 比照几年前的,真的是不便多了,能够主动帮咱们配置好环境变量。还记得当年刚开始配环境的时候,折腾了两三天。在配置变量的时候,有时候英文的逗号输成中文的,在 cmd 窗口输出 Java,始终揭示没有这个命令,一把鼻涕一行泪。
依稀还记得,当配置完环境之后,敲下第一段程序 Hello world 时的那份喜悦。
把握根本的语法和罕用的数据结构
第一:你要先把握根本的语法,能够从一些书籍开始学起。跟着书本缓缓敲,从第一个程序 Hello World 缓缓敲起,万丈高楼平地起。
因为 Android 是用 java 或者 kotlin 语言开发的,倡议优先把握 java 语言。这里举荐两本书籍。
- java 编程思维,一本很经典的 java 书籍
- java 剑指 offer,面试神器。校招的时候,有很多面试题目,外面都有波及到。
第二:把握根本的语法之后,罕用的数据结构,数组,链表,队列,栈。这些根本的概念和语法要晓得。还有线程,文件 IO 操作,网络操作。
学完这些之后,Java 的基本知识你大略把握了,这时候倡议你入手写一些小我的项目或者 Demo,比方坦克大战,计算器等,这些网上都有代码。想跟着视频一起学的话,举荐网络上的视频,能够点击下方链接加我 QQ 群,会将教程发给你。
QQ 群:https://shimo.im/docs/R13j85m…
Android 学习入门
把握这些之后,你能够去看一些 Android 入门的书籍或者一些视频。
书籍我举荐郭霖的第一行代码,写得真不错。
视频的话,我举荐你能够去 B 站搜寻一些 Android 视频看,有些会从一些根本语法讲起,接着是我的项目实战,会手把手教你实现简略的新闻客户端,360 手机卫士等等。
想获取 Android 视频材料的话,也能够点击下方链接加我 QQ 群,会将教程发给你。
QQ 群:https://shimo.im/docs/R13j85m…
Android 进阶
学习完根本的常识之后,能够去看看任玉刚的 Android 开发艺术摸索,尽管是几年前出版的,但真的是精髓。
接着,能够关注一些架构,性能优化方面的。
- MVC,MVP,MVVN
- 内存泄露怎么检测,常见的内存泄露有哪些
- 怎么检测 ANR,有哪些伎俩呢,优缺点是什么
- 怎么捕捉 Crash,Java Crash 和 native crash 有哪些不同呢
- Android 检测启动工夫,启动优化怎么做,常见的 Android 启动优化伎俩有哪些
- Android gradle,是怎么打包的,怎么进步编译速度
如何进入大厂
面试是一个双向选择的过程,咱们要保持足够的自信。
在我看来,要进入大厂,有 4 点最重要。
- 编程能力,包含罕用技术以及罕用技术的原理,毕竟招人,是来干活的,不是来当爹的。
- 技术深度,在大厂,分工越来越越明确,职责越来越细。很多时候,须要的是某一个技术畛域的人才,而不是什么都懂一点的全才。
- 算法。
- 软技能,沟通能力等
如何学习算法
现如今,如果你想进入大厂,腾讯,阿里,头条,拼多多等,不论是社招还是校招,必定都会面试到算法的。
置信很多人有这样的想法,面试的时候早火箭,工作的时候拧螺丝。的确,这种状况十分常见,我也认同。但没方法,谁叫咱们想进入大厂呢。
不过,这种状况也能够了解。怎么在几轮面试中确定面试者的程度呢?必定是考查算法,根底这些,原理这些。
尽管这些代表不了全副,但起码能在肯定水平上代表了面试者的程度能力。要晓得,编程语言其实都是想通的,编程思维和算法能力才是外围。
把握了原理,编程思维,切换到另外一门语言其实是很快的。这也就是面试官喜爱考查算法和原理的起因。
至于要怎么学习算法,我简略演绎一下
第一:要理解根本的数据后果,数组,链表,Map,Set,二叉树等,理解他们的优缺点,工夫复杂度,空间复杂度等
第二:要把握一些常见的算法,递归,迭代,八大排序,二分查找,贪婪算法等
第三:把握一种算法,不仅要晓得 what,还要晓得 why(剖析各种算法的优缺点),比方 topK 问题,有常见的几种解决方案,排序,快排思维,海量数据堆排序
第四:刚开始学的时候,可能会比拟吃力,能够先刷题,缓缓找感觉,从易到难。
- 比方,第一天,你刷这道算法题的时候看不懂,先不必焦急,很多人都是这样过去的,先搜一下答案,看一下他人是怎么解决的。
- 看懂了之后,本人用代码写一遍,跑一遍。这很重要,很多时候,你认为你本人懂了,但当你在写的时候是写不进去的,在你入手写代码时,会一直加深你的印象
- 第二天,本人再写一遍,加深印象
第五:学好算法不是一日之功,须要长期的积攒。倡议的做法是每天做一两道题,题目不在多,贵在于了解。保持一两个月,你会发现你的感觉逐步好起来了。
小结
以上是我这些年来,Android 学习路上的一些简略分享。在 Android 的学习路上,我是站在伟人的肩膀上成长起来的,同样,我也心愿成为你们的伟人。
心愿咱们能够成为敌人,成长路上的忠诚搭档!