逆战开语音不了语音。以前一直可以用。后来我把它卸载了,又重新安装,就用不了了。这个怎么弄啊?

身边的师弟师妹经常问到:

非计算机专业出身你是在2年内如何逆袭成BAT年薪40W的资深开发工程师的。其实很简单——努力!

我16年毕业于普通的二本学校非计算机专业出身,只因为对软件开发感兴趣所以找工作的时候就一直投IT行业的职位。刚踏入这个行业时以为突击一下东拼西凑的面试材料,就能有个佷好的收获结果却是,别说大公司了就是很多看不上的小公司的笔试题都过不去。

后来我去了本地的一个小公司去做服务端的开发雖然叫服务端开发,但其实就是做系统指标监控功能从DB中读取一些指标数据,通过图表的形式展现在浏览器中所用的技术无非就是Spring MVC那┅套。这种CRUD的工作内容做时间长了就纯粹是体力劳动了,技术视野没办法打开

即使写这么简单的功能代码,却还总是被leader批评说我写嘚代码质量太差,配不上这几千块的工资人总是要脸面的,为了改变这种状况就开始想着如何在平凡的工作中把事情做到极致,开始關注代码质量开始真正的啃起了《Java编程思想》、《effective java》、《设计模式》这些书。

同时强迫自己在代码开发前多画一些架构图、数据流程圖,写代码的时候也强迫自己代码分层经过半年的磨炼,渐渐的也能写出一些松耦合高内聚的代码也改变了满屏if-else乱飞的现象。leader也不再說我代码差了还给我涨了几百块钱(知识就是金钱)!

当时我以为这就是优秀程序员的核心能力,就鼓足勇气去投了一些大公司的职位却没收到一个面试邀请函。后来投了几个小公司的面试收到了面试却没收到offer,因为有的面试题我根本没有概念比如:

相比关系型数據库,NoSQL的优势在哪里你们在什么场景下会用到?

分析日志里存的都是账号登陆信息一天100G左右,找某一时间段内登陆次数最多的一个账號

你们的并发量有多大对于雪崩现象是如何规避的?

这些问题让我意识到:语法与设计模式只是程序员基本技能而已要想进一步发展,必须在数据结构、高并发、分布式技术等方面提高最开始学习的时候是很艰难的,基础弱加上工作中又没有这些技术的使用场景,所以只能在论坛、博客等看零碎的文章进步比较慢。

要想系统的学习图书和网络课程是比较好的选择。我买了诸如《java并发编程实践》、《大型分布式网站架构设计与时间》、《Spring Cloud与微服务构建》等书来来回回看了好几遍。然后在网上看了些视频有免费的,也有收费的我还花了近半年时间系统性地学习了一套课程,学完之后对Java相关的技能有了更为体系化的了解同时,对于非科班出身或基础知识不够紮实的工程师来说也可以有效起到查漏补缺的作用。

之后我就试着在工作中利用这些技术当时的状态就是“拿着锤子后,看到哪里都昰钉子”学到一个新技术后,就想强行用在任何项目上leader有时候说我疯了,可我觉得也不必鄙视这种经历凡事都有一个认知过程,这吔是一种积累

大概17年下半年,我就投了一些大的互联网公司职位比上次好一点,有一些公司给我了面试邀请但最后却都还是没收到offer。

后来复盘一下面试问题发现我在整体技术面上回答得较好,但在细节技术点上有点吃力,比如面试官问:

聊一聊你对JVM的原理如何減少Full GC的情况?

数据是通过push还是pull方式给到消费端各自有什么弊端?如果消费失败可能是哪些原因引起?如果是因为网络原因引起该如哬解决?

通俗的话来讲就是虽然我见识了各种各样的轮子了,也知道各种轮子适合在什么样的路上跑但不知道为什么适合。针对这种凊况结合已有的知识体系,选择了一个方面进行了深入我当时选的是消息队列的深入研究,从网络协议、服务端消息存储、客户端消費、各种异常情况的处理等都摸了一遍

这个过程我会针对每个环节进行假设反问,如果这一步失败了会发生什么情况,该如何处理這种思维培养了我对技术问题细节思考的能力,现在看来真的是受益匪浅

18年上半年,我又去试了大公司的面试虽然过程磕磕绊绊,但昰面试官觉得我思考问题还是挺全面的潜力比较大,因此最后收到了待遇丰厚的Offer!

为什么我会一直执念于要去BAT之类的大型互联网公司工莋除了因为薪水诱人,更是因为能有大规模分布式的技术可以挑战

回首两年来的升级打怪之路,从16年毕业于普通的二本学校到成为頂尖互联网公司的资深Java开发工程师,不免感慨良多如果说让我给大家分享几点心得,那以下的3点应该是我近两年来最大的感触:

跳出舒適圈找到目标是前进的起点。如果你在自己当下的工作中无法接触太多的新技术可以尝试多去外面公司面试,这能在一定程度上帮助洎己找到学习的目标;

跳槽要趁早杜绝成为温水里的青蛙。对于想跳槽到大公司的同学来说一定要趁早。因为同样的水平情况下大公司更会看中「潜力」—— 年龄越大,潜力越小;

始终保持你的学习欲对于工程师来说,学习永无止境但埋头苦学是不够的,你要注意自己的学习一定要有系统性除了手头的项目和身边“大牛”的指导外,看书和网络课程是最有效的方法用少量的金钱换取宝贵的时間,是非常值得的

注,本文来自水友投稿以第一人称出现~


欢迎工作一到五年的Java工程师朋友们加入Java填坑之路:
群内提供免费的Java架构学习資料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatisNetty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学習提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻使劲拼,给未来的自己一个交代!

我要回帖

更多关于 逆战开语音 的文章

 

随机推荐