为什么要不断学习

问题

无论是博客园也好、公众号也好还是微信里的聊天,总有朋友问起诸如此类的问题:

  • 某某技术XXX框架都帮我们封装好了,我们去学习了有什么用?

  • 感觉你的知识面好广,实际工作中应当用不到这么多知识吧,那学习了有什么用?

  • 某某技术工作中根本用不到,有什么好学习的?

我认为这是一个值得思考的好问题,就这个问题,基于我平时的学习和一些个人的思考,分享一下想法。

 

更快速有效地开发代码、处理问题

记得我刚刚工作那会儿,知识储备不是很足,这种时候工作中难免遇到一些问题:

  • 需求开发时碰到有些不会的地方频繁百度、写Demo,碰到报错的时候,一些不认识的又得百度,造成需求开发比别人慢

  • 测试环境还好,有时候在线上碰到了一些技术性的问题,例如死循环、内存溢出这些,手忙脚乱,没有方向

也就是一次一次这样的情况之后,让我有了个人的思考,核心归纳起来就是两个字:储备

储备,换言之就是以工作中可能碰到的一些问题不断地去学习、不断充实自己,当自己掌握地越多,当知识储备越充分,你会慢慢发现自己:

  • 开发需求的速度比别人快

  • 能主动去优化自己以前写的代码、他人写的不好的代码

  • 处理问题的效率比别人高

最后就是领导觉得你优秀、出去面试对方觉得你优秀,承担的职位越来越重要、干的活越来越有技术含量,拿的薪资越来越高。说白了怎么衡量一个程序员比其他程序员好?我认为就两点:

  • 别人做不了的事情你能做

  • 你做的事情比别人做的又快又好

可以分享的经验是,现在工作中遇到的问题,我基本解决时间没有超过1小时的。

举个实际点的例子,工作中在某个场景下需要一个LRU算法的实现,当别人都在百度的时候,你上来就来一个new LinkedHashMap(16, 0.75f, true),或者直接new LRUCache(),是不是特别完美?

 

让自己更聪明、更勤于思考

虽然起了这个大标题,但是我本人并不认为我很聪明,这个要声明在前面- -@

尽管如此,但是所谓"活到老学到老",通过学习,我认为还是可以让自己不断提高,并不仅仅是学习到的那些知识,更多的还有:

  • 不断举一反三的能力,XX知识这么做,那么换一种方式做可不可以,XX知识写法是这样,换种写法可不可以,有什么问题

  • 不断质疑的能力,质疑别人写的每一个细节是否正确,从质疑中反向让自己成长

脑子越用越灵、越用越活,这些都是学习、思考带来的。

 

面试有用

这个理由功利性很强,但是很实际,因为对我来说这个不是我平时去学习的理由,就放在最后讲了。

现在出去任何一家公司,指望面试官仅仅问你如下问题:

  • if...else...、while、for的作用,怎么用

  • 你的项目有哪些东西,你负责了什么,做了什么

  • 项目中用到了哪些框架

坦白说,那是不可能的,即使仅仅问到了这些且你100分通过,也不建议去,无他,面试层次太低。

但凡像样点的面试,问稍微进阶点的用法、细节性的问题、底层性的原理都是再正常不过的了,就比如Spring吧,进阶的会问:

  • <bean>标签中id是否可以重复

  • <bean>标签中如果id不定义,Spring默认给什么名字

  • BeanPostProcessor做什么的

  • aop有几种实现方式,实现方式有什么区别

很多东西,平时没有一点积累是答不上来的,答不上来的东西越多,自然面试成功的概率也越低。

 

结语

就这个写了一些个人思考,希望对大家有益,最后总结一下:

  • 学习这个东西,不是为了当前,而是将来,至于学什么,看个人

  • 好好学习,天天向上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值