java 5年浅谈

mac2024-02-21  64

    已经有将近2年没有发表过文章了,明天将要入职一家不错的互联网公司,今天有点失眠,巧的是旁边舍友是一个部门的同事,聊的些微开心,略微亢奋就睡不着了,所以重拾csdn,一方面是给需要的朋友打打鸡血,一方面也是给自己一个简单的总结,希望对大家有帮助。

    看过前面文章的同学应该了解一些,我是在传统企业做了3年以后,从传统it转职互联网,首先,要对上一家公司表示感谢,当时我的水平真的不太好,当时老大要我,虽说对我来说算是降薪,不过对我的帮助是真的大,在这两年的生活里,我熟悉了互联网公司的995制度,了解了分布式项目,对rpc协议,例如dubbo(阿里系都用这玩玩,哦,我前面没说清楚,我们老大算是阿里高p,用的都是阿里技术),rocketmq,netty,相关juc包等相关知识有了深入了解,关键是工作过程中可能用上,从开始到熟悉,到最后的“改造”(利用其自身属性增加自己定制化配置),源码分析,相关博客学习,以及各种大厂小厂面试的摧残,也算是对上一份工作的一个总结,哦对了,还有就是设计模式,在上家公司工作的时候没办法,因为条件原因,宿舍没网,就没再发过csdn,都是自己写的小文档,到后来的工作笔记,不过也没坚持多久,就都jj了,前段时候浏览博客的时候,听到有人说,程序员对技术的研究是用不停息的,不过各个阶段有不同侧重点,5年的时候,应该提高自身影响力,个人对这个观点不置可否,不过觉得写一些相关技术文章对自己的提升还是有的,算是对自己学习内容的一个总结与输出,在写文章的过程中首先会自己理清思路,而后锻炼自己的表达能力,可以让别人听得懂,在这方面我觉得白居易做的不错,诗词通俗易懂。差不多是在今年8月份从杭州回来,玩了一个多月,十一前后开始面试,现在快11月了,入职,虽然最开始收到offer的时候感觉很兴奋,后来发现自己水平确实到这个层次了,接下来面试几乎无往不利,面试的是北京的高级开发,虽然说职级不是很高,不过对我来说还是一个很大的提升。

    先给大家打个鸡血,现在拿到的offer是第四家公司,第一份工作的工资是2500,然后每次换工作的工资都是double,当然我说的是base工资,bonus不算,其实也没有很厉害,也没头悬梁锥刺股这样,就是运气加上平时对技术的了解。

    记住在公司抱大腿,和技术大神多沟通,平时工作过程中不只是了解自己的一亩三分地,可以多干活就多干点,以后都是你面试的资本,有时候挺烦技术面试官问问题的时候说什么你对xxx技术有什么理解,因为各个方面东西有点多,每个面试官关注点不一样,那肯定不能保证面试官会的你会,这里给大家介绍一点面试技巧,就是面试时候,开放性问题要主动说,最好结合自己项目说,有一些自己理解,引导话题,就像说dubbo的时候,里面那么多filter,每个的作用都不一样,谁能保证面试官知道的你肯定会,这时候你掌握主动权,其实就是和他表明,你是有过类似经验的,只不过关注点不一样,而不是对整个机制都不了解,我在最开始有很多时候,被面试官问到的知识点是会的,不过侧重方向不一样,就没答出来,这时候要主动把相关联的会的说出来,而不是直接和面试官说我不会,容易被pass,知识点要结合项目来分析,平时多思考,一个问题多个方案,没有最好的,只有最合适的。

    当初顶着几乎所有人的压力去杭州工作,为的就是提高自己技术,也付出一定努力,没办法,身边都是小孩,比我小很多,比你能努力,说没有压力是不可能的,你比他们多得就是经验,换句话说就是业务转换为技术的能力,分析需求的能力,不过技术上老被打脸,人家说啥技术你不懂,只能自己背后去看、去学。

    前几天来北京看房,前同事,好几个当时技术比我好,后来一直在传统企业发展的有点废了,技术有点out,在我面试阶段经常会要我面经,他也会把他在北京的面试被问到的问题拿来考我,看到我拿的offer,眼馋,不过也没办法,这技术方面的提升不是那么几天能搞定的,说有点后悔。其实我也羡慕他,因为他找到对象了,你不要吃惊,现在困扰我的就是个人问题,家里催的我也是没有办法,现在开始走上相亲之旅,哦对了,这边除了技术上的提升,还有就是身材,现在可以一次10个引体向上,感觉人生已经达到了巅峰,就差个媳妇,不过现在的公司规模贼大,希望可以找到个漂亮测试或者前端,哈哈。

    以前同事问我,想学互联网技术,然后就可以拿来面试了,是不是能自己在服务器上搭建起来,然后知道各个功能怎么用才行。我想说这和我2年前的想法一摸一样,太青涩了,骚年。当初我自己搭建dubbo,zk的rpc,从入门到搭建差不多就3天吧,浏览到各个网站,自己做镜像模拟服务器环境什么的,然后就被洗礼了。记得当时面试我的是阿里基金部门的,几个问题就把我问明白了,原来搭建服务,照猫画虎,没用,尤其是这种自学的,只能说你对技术有兴趣,然而这只是java开发最基本的。。。  

    言归正传,这边说下我看源码的经验,大多数人,包括我在内,对源码触头,因为根本无从看起,这边就体现出前人种树后人乘凉的重要性了,请自觉分类自己对技术的了解处于哪个位置。

    第一类,完全不懂这个技术:百度搜索相关技术介绍,看最火的前5篇文章,对技术的应用场景,解决问题有个简单的了解。

    第二类,了解相关技术,不过不了解技术主要功能:百度搜索技术源码分析,看最火的3篇就可以,同时打开,对比着看,都会简单介绍下技术架构,分层,以及各个层级作用,先简单了解,不急着看源码,对大概结构有个了解就好。

    第三类,了解功能以及层级,不过不了解具体原理,这时候就得翻出博客,对代码细节分析,一般博客里会提到哪里重要,你在心里给自己打个小星星。为了加深记忆,这里光看博客是不够的,需要自行下载技术源码,模拟线上环境,看看信息传递过程。不必一开始就打断点跟,源码一般写的都很强,看相关注解就好,理解思路以及流程。

    第四类,了解原理,不过可能抓不住重点,细节看多了,纠结于细节,不容易在大局观上有所理解,这边就得网上找xxx技术相关面试题,记住,能经常被面试官问到的,一般都是技术核心点,也就是面试官经常会问的技术亮点,什么技术解决什么问题,从大局观上在反刍细节,从而了解关键点上的技术实现。

    第五类,你已经脱离了低级趣味,想更深层次发觉学习。找一本源码方面的知名图书,看个3、5遍,自己再写一系列博客,并讲的通俗易懂,能被大多数技术菜菜看懂,说明这个技术对你已经完全没有障碍了。

    这是源码从入门到精通的过程,其实应付面试的话,到第四类就够了,在面试官问你源码的时候,把关键点说说,再在细节上说说,就没啥问题,如果工作不太忙的话,2个礼拜就差不多,而且是相当长一段时间不用再看相关技术,虽然互联网技术很多,但是坚持下去的话,不过多久就可以脱贫致富。

    项目经验的话,这边我倒是没有什么特别好的方法,实打实的东西,因为你们系统这么设计,肯定会遇到各方面的挑战,这时候你可以一定程度上的夸张,毕竟他没你了解你们项目,不过你要兜住了,别到时候露怯,对自己的项目,你要说被问住了,就不太好了,尤其是面试官会问你,你是负责哪个模块的,整体上允许1、2个问题不懂,不过自己的模块都不懂,就可以回家洗洗睡了。或者像我说的,抱紧大腿,问问他们的面试经验,他们是怎么介绍项目的,要是能吹过去,也算运气,这就看你口才了。

  哈哈,今天分享到此为止,后续不定期更新技术或感想。不为其他,只为记录不断努力的自己。

 

最新回复(0)