喜欢的朋友可以关注下专栏: Java 架构技术进阶. 里面有大量 batj 面试题集锦, 还有各种技术分享, 如有好文章也欢迎投稿哦.
一, 认清自己
1) 认清自己最关键的一点是 [要知道自己到底想要什么]
这是第一步, 也是最重要的一步. 因为这关系到你能够够选对学习方向, 能否沉下心来去学习.
我们都知道, 做自己感兴趣的事情的时候, 是可以事半功倍的, 因为你愿意去做它, 而不是出于某种原因不得不去做.
经常会有人问我, 现在前端找工作好找么? java 找工作好找么? 我要不要学 Android 呢? 这些问题的答案其实大家心里都明白: 只要你足够优秀, 学什么都能够找到一份好的工作.
所以说, 不要因为某一个方向火, 而盲目的去追; 也不要因为某一个方向可能不容易找工作而不去学.
记得我有一次这么回答一个朋友的时候, 他和我说: 很多时候, 选择远比努力重要, 我选一个我不喜欢但是火的方向也许比我选一个我喜欢但是不火的方向赚的更多. 这种想法很多人应该都有, 但是我觉得, 选择远比努力重要的前提是你这个选择得正确, 但是能够做出正确的选择的人, 他本身就已经是一个优秀的人了. 抛开这点不谈, 在一个自己不喜欢的领域你能走的多深入呢?
对一个搞技术的人来说, 年龄的增长其实不是那么可怕, 可怕的是你没有匹配自己年龄的技术深度. 当你的工作换一个刚毕业的学生都能做的时候, 你很快就会被淘汰了. 所以, 选方向一定要选自己感兴趣的方向, 因为只有这样, 你才有兴趣去往深入了学, 你才不会在未来被年轻人挤下去.
2) 认清自己的第二点是 [认识到人外有人]
自满, 自大, 自欺欺人是影响自己进步的绊脚石. 如果你觉得, 你现在已经很了不起了, 你能做到这个程度已经很不错了, 你就会停滞不前, 然后浪费大把的时间.
这是我自己的亲身经历. 我的学校是一个双非大学, 计算机也不是学校很好的专业, 消息也比较闭塞. 在我的圈子里, 我觉得自己已经很不错了, 我之前也一直这样认为. 但是, 当我今年开始准备春招准备校招的时候, 我发现我错了, 和真正优秀的人比起来, 我什么都不是. 以前觉得自己会的东西, 出去一看, 大家其实都会; 以前觉得很多知识等工作了再去学也不迟, 出去一看, 发现早就有人学会了. 但是, 现在认识到这些已经有点晚了, 因为已经开始找工作了, 没有时间再去让你从头开始学了.
所以说, 永远不要自满, 要知道人外有人. 如果有一天, 你觉得周围没有人比你更厉害了, 一定要记得, 不是你走到巅峰了, 而是你的圈子, 应该扩大了. 只有你的周围, 有很多更厉害的人, 你才能意识到自己的不足. 这也是我常挂在嘴边的: 你想变成什么样的人, 你就要去认识什么样的人, 你的周围是什么样的人, 你就会变成什么样的人. 要知道, 物以类聚人以群分.
二, 学习的目的
为什么要学习呢? 学习的目的, 根本上是为了获取竞争优势, 增加选择机会. 你比别人懂得多, 比别人学的深, 你就更有竞争力. 对于程序员来说, 不懂得学习是没有办法在这个行业混下去的. 技术的更新换代, 技术的深入掌握都需要去不断的学习, 如果你不学, 很快就会被淘汰了.
找工作的时候, 有其他专业的朋友会羡慕的和我说: 你这个专业真好, 一毕业月薪就上万, 我才 3,4 千. 其实我想说的是, 如果不好好学习技术, 搞技术的也会失业. 大部分的人都只看到一部分计算机的应届生工资很高很羡慕, 却忽略了他们这四年是怎么度过的. 天上是不会掉馅饼的, 计算机专业的每天看剧打游戏, 毕业一样找不到工作. 希望以后你不会是那群天天打游戏看剧最后抱怨自己工资低的那群人中的一个.
三, 时间管理
知道了自己的方向, 知道了为什么要学, 那么我们接下来谈一谈, 怎么安排自己的时间, 或者说, 怎么制定一个计划.
很多人应该都有过这样的经历: 我现在很无聊, 不知道做什么好, 学习吧, 不知道学什么, 打开电脑也不知道做什么, 打开手机也不知道做什么, 然后只能选择看个直播, 看个电视或者打个游戏来打发时间. 当一天过去以后, 突然后悔, 觉得自己当时要是学习就好了.
为什么会这样呢? 是因为你自己没有一个计划, 如果你每天都有一个按时间段安排的计划的话, 你就不会迷茫了, 你就会知道这个时间点自己应该做什么, 而不是用看剧打游戏来打发时间.
关于时间的管理. 首先, 要有一个大一点的计划, 比如年计划, 月计划, 周计划. 这一年大体上要打到什么目标, 这个月要学习哪些知识. 然后是精确到小时的日计划. 每一天, 哪个时间段做什么都详细的列出来.
其次, 不要太盲目自信. 很多人其实从来没有完成过自己的计划. 如果你真的能够完成你制定的每一个计划, 那现在的你一定已经很了不起了. 如果你几乎没有完成过自己的计划, 那么你一开始制定日计划的时候, 不要给自己太多的任务. 因为如果你一旦完不成, 就会影响自己的信心. 最好的方式是, 一开始制定一些简单的计划, 然后每天很容易就能做到, 然后慢慢的去增加自己每天的任务量. 最后找到一个最适合自己的节奏. 这个过程可能需要很长的时间, 因为你要不断的去尝试, 去改进. 找到最适合自己的作息时间去休息, 找到自己工作状态最好的时间去工作等等.
关于时间管理以及计划的制定, 每个人都应该有一套自己的计划, 因为每个人的情况不同.
最后, 不要把你的计划当摆设. 虽然我上面说过, 很多人其实从来没有完成过自己的计划. 但是我还是希望你能够认真的去对待它, 因为受益的有且只有你自己.
四, 学习方法
盲目的学习效果并不好. 以前看书的时候, 看完一遍再从头看, 感觉就像是在看一本新书, 完全没有印象. 看似自己学了不少, 其实真正掌握到的并不多. 学习不是你看得书越多, 读过的文章越多你就学的越好, 而是看你究竟掌握了多了. 那么, 怎么才能有效的去学习一门新的技术呢? 我总结了以下几个步骤.
1) 学习的步骤
确认学习目标
首先, 你需要确认你要学什么, 切记不要三心二意. 学习最好一个时间段专一的去研究一个知识点, 不要今天学 python 明天又想学 java 了. 做什么事都有有一个目标, 不然容易成为无头苍蝇. 目标往大了说, 可以是成为某一个领域的大牛, 往小了说可以是今天的一个学习计划.
hr 面的时候, 一个常见的问题是: 你的职业规划是什么. 一个优秀的人, 必然会有一个属于自己的职业规划, 知道自己在什么时期要做什么, 知道自己每个时期要完成什么样的目标. 学习也一样, 当你有了一个清晰的目标的时候, 你才不会迷茫, 才不会不知道做什么好.
制定学习计划
上面也提到了这点, 计划可能赶不上变化, 也许今天正好有别的事情导致今天的计划没有完成, 但是至少大方向是有的, 你不会不知所措, 不知道最近应该做什么, 这才是计划的根本价值. 所以, 不要担心计划完不成, 这是给你自己学, 一天的计划完不成又能怎样呢?
自己找资料开始学习
请记住, 不要当一个彻头彻尾的伸手党. 因为轻易得到的东西你是不会珍惜的. 并且, 你不要祈祷你这一辈子所有学习需要的资料都有人会提供给你, 自己找资料本身就是自学能力的一部分. 当然, 我并不是说不让大家去群里问, 毕竟能问到也是一种本事, 但是你一定要有自己的资料来源, 无论是博客还是书或者是官方资料.
脑图与流程图
比如这个就是一份不错的知识点脑图
学习从来都不是只看看书就能学会的, 自己构建相关知识脑图和相关步骤的流程图是非常有必要并且非常有效果的. 比如你要学习 java, 你可以先从网上找一找别人画的脑图, 对 java 有一个大致的了解, 每学一个小的知识点, 就自己绘制一个该知识点的脑图, 学完之后, 自己再画一个整个 java 体系的脑图, 这样你会对 java 非常的熟悉. 比如你学 GC, 光看书或者博客是很难记住那些流程的, 这个时候, 你自己画一个流程图, 我保证你对这个过程会很清晰. 记住: 就算是有现成的图, 你也应该自己画一个, 自己画和看别人的是完全不同的两个层次.
编码
上面的那些, 都是掌握理论知识的步骤, 是骡子是马还得拉出来溜溜. 编码才是重中之重, 就算你能把一个知识点吹得天花乱坠, 但是一句代码不会写依然没有什么用.
笔记
好记性不如烂笔头, 学完的知识, 然后记录下来, 自己总结一遍, 收获有多大你们试试就知道了.
回顾
如果你学的东西, 很久都没用, 突然有一天你又要捡起它, 你会发现, 你之前做的努力, 太特么值了, 你有资料! 有脑图! 有流程图! 还有笔记! 分分钟就记起来了.
自己写一个有实际应用的 demo
如果有必要, 可以写一个有趣的应用, 不是简单的范例.
这个过程, 其实是很耗时的, 学生建议按照这个流程来, 因为学生的时间大把大把的, 时间很少的就根据自身情况取舍吧. 脑图和流程图我觉得收益很高. 上面说到, 有的时候看完一本书再从头看, 感觉像是在看一本新书. 所以我后面看书的时候, 也会做相应的笔记, 看的时候会在书上勾勾画画, 给一些重要的地方打上标记, 看完之后, 合上书, 用记事本把自己刚刚学的的东西写一下 (大纲就行), 然后再和书上比对一下做一些修改. 当我看完一本书以后, 对应的, 我还会有一个笔记, 以后我甚至完全可以看自己的笔记而不需要再看书了. 看 + 回忆 + 记录, 可以让你充分的掌握一本书的核心.
步骤大体上是这样, 但是也千万别死板的都按照这个过程来, 毕竟还是很耗时的. 下面分享一些获取资料的途径.
2) 获取资料的途径
百度 / google: 先看看他都能干嘛
官网: 官网的文档一般足够了
相关书籍: 京东和当当经常有活动的.
社区: 社区也会有人做教程的, 还会有一些个人项目可以参考
GitHub: 可以在 GitHub 看看某个知识点的 awesome.
各大博客以及知名博主的个人博客: 看看一些高质量博客也不错
微信公众号: 试着找一下相关的微信, 当然, 微信上的文章很多都来自于博客, 但是微信的好处就是, 你不用自己找, 别人已经帮你找好了, 缺点就是, 量太少.
知乎专栏: 和博客差不多.
一些视频或者 wiki 教程: 我这里也收集了一些视频教程和一些面试资料现在分享给大家申请加入 Qqun,Java 进阶之路 (进群备注简书慕容千语即可通过)908676731, 点击加入加入后直接找群主获取.
喜欢的朋友可以关注下专栏: Java 架构技术进阶. 里面有大量 batj 面试题集锦, 还有各种技术分享, 如有好文章也欢迎投稿哦.
如果觉得可以欢迎转发.
来源: http://www.jianshu.com/p/ad962dbab860