今晚来聊聊我在技术成长中的一些感悟,跟大家分享下。
BALABALA
在大学的时候,我一个计算机专业相关的证书都没考,自认为这些证书对我以后找工作没什么大的帮助。于是我把时间更多地花在研究八股文上,因为八股文在面试的时候是要用到的。
(利益化)
我会对我做的事情利益化,虽然听起来不太好,但我认为是没办法的,我的精力是有限的,我所花的时间就应该追求正向回报。
不过这是针对关于我们的饭碗层面的,如果纯碎是爱好和喜欢干某件事,那就无需关注利益回报了。就比如我喜欢看英雄联盟比赛直播,看B站划水摸鱼,看各种热血漫画动漫,这对我来说就是爱好,看了开心,这就足够了。
有不少的同学都去考软件设计师的证书,而我经常跑图书馆里复习着八股文写文章。至于跑图书馆并不是我喜欢,而我是认为人的惰性是一直存在的,我想整天躺床上刷一天B站看电影,但现实告诉我这样下去不行。所以我经常去图书馆接受读书氛围的熏陶,试图去打败这种惰性(这招对我是有效的)
(克服惰性)
搞八股文而不去考证,那时我认为自己做得很对,我就应该搞Java,Java才是正道。
我在网上看到大家都说Java基础很重要,于是我就去研究各种乱七八糟的八股文:继承+构造器+静态代码块的加载顺序、String各种+号运算符StringBuilder配合intern
各种姿势打印true
还是false
等等等各种Java基础相关的笔试刁钻题我都搞过一轮。
但后来经过一轮校招之后,我懵了:这个是啥玩意啊,都不考Java基础啊,我前段时间学了个der啊。计算机网络/操作系统/算法才是永远滴神!
很多公司在校招的时都不介意你在学校时用的是什么语言,只要他们认为你基础扎实、头脑清醒灵活,很可能就要你了。校招时的基础扎实并不是针对于Java的,只要你的简历没有过度夸张吹嘘自己很懂Java,可能他们压根就不问你Java相关的内容(当然了,一个应届生在他们的眼里,你又能有多懂Java)。
为了找工作,放弃考证转而去学习基础这个抉择我觉得是对的,但方向没找准。
我也不没看人家以往校招面试考察的是什么内容,自以为基础很重要,就去一根筋去搞各种Java的语法。将自己很多的时间花在在偏门的题里,咋一看好像懂了很多基础的知识,但对找工作这件事情上和后续的职场开发没有啥帮助。
我之前跟我一个同事聊过,他跟我是同一届的。他说他在大二的时候跟学长聊过,知道校招重点考察什么内容。然后他就专盯这些内容去搞了整个大学生涯,在校招就是乱杀的。
看到这里,有的人可能就不信了。咋人家搞了一个大学,校招乱杀了。你走了这么多弯路,你还跟人家一个公司。其实很简单,因为我是白菜,人家是SP。
(奋斗的方向要找对)
在找实习之前,我想动手做一个项目以便简历上能有些实质的内容。那时候知道有Elasticsearch这么一个搜索引擎框架,当时我不懂Linux,但我想要用它来做检索。那时我还没折腾过虚拟机,也没买过云服务器。
要上Elasticsearch肯定要部署嘛,那部署在哪呢?我一想,肯定是Windows啊,我的本地开发环境。我那时候就真这样干了,依稀记得当年的Elasticsearch版本还是2.3
吧,我花了我很长的时间才安装上,踩了很多坑,还有一大堆的问题…
其实我在踩坑的那时是知道Elasticsearch这种软件应该是要在Linux部署的,但就是硬着在Windows上搞,现在看来就是纯浪费时间。
(及时调整:我们没办法判断每一次抉择都是对的)
why
写下这篇文章主要是最近在群里看到有小伙伴在研究些偏门的八股文(类加载顺序/内部类/ture/false),我赞成也钦佩这种折腾行为,当解开答案时,是有趣的,在这个过程中也肯定能学会很多骚操作。
但如果是以找工作的标准去衡量这些偏门基础题目,我是不建议去花时间折腾的。
现在面试充斥着各种系统架构千万流量高并发高可用这种话题,其中有不少确实是八股文。但这至少对工作中还是有些许帮助的,我们可以借鉴这些八股文去衡量自己所负责的系统应该是如何设计,有什么样的功能,达到什么标准等等。
可能你入职以后,发现公司的系统很烂,发现招你进来的人也早已经知道你负责的系统确实很烂。但有没有一种可能,招你进来的人是觉得你能够知道它烂在哪里,跟业界相比有多大的差距,这或许就是你被录取的理由
如果想学Java项目的,强烈推荐我的项目消息推送平台Austin(8K stars),可以用作毕业设计,可以用作校招,可以看看生产环境是怎么推送消息的。消息推送平台🔥推送下发【邮件】【短信】【微信服务号】【微信小程序】【企业微信】【钉钉】等消息类型。
- https://gitee.com/zhongfucheng/austin/
- https://github.com/ZhongFuCheng3y/austin