Java后端入行看这 做软件园最靓的仔

16k长文以失败学角度分享普通本科二线Java后端入行经历

    • 前言
    • 入行趣事
      • ■ 实习前
      • ■ 趣事分享1 —— 找实习
        • ■ 开启一周面试狂潮
        • 1、皮包单休公司
        • 2、养老级银行政务
        • 3、培训机构
        • 4、狼性外包公司
        • 5、教授带学生
        • 6、初创外包
        • 7、阿里旗下外包
        • 8、总结
        • 9、毕业后
      • ■ 趣事分享2 —— 给你加500,回来搞前端吧!
        • 给你加500,回来搞前端吧!
        • 我讲讲为什么我这么抵触我的旧东家,还有其它外包公司
      • ■ 趣事分享3 —— 古董级大哥!
    • 掌握这些东西,curd不用愁
      • ■ 1、IDEA以及其插件
        • ①Mybatis Log Plugin
        • ②JRebel
        • ③GsonFormat
        • ④RestfulToolkit
      • ■ 2、svn、git、maven
      • ■ 3、Postman
      • ■ 4、Wireshark
      • ■ 5、nginx
    • 最后

前言

选择了Java后端这条路,就要坚定不移地走下去。
——不像一线大佬一样二本面阿里,大专进腾讯,就是一个普普通通的二线Java后端码畜分享入行经历。

入行趣事

■ 实习前

有的人一路顺畅,有的人一直坎坷,不比较什么,走下去,对你而言一定会更好。
——bbq

先介绍18年大四上时,我的水平:
科班,普通公立二本,上机代码基本满分,但不重视理论课,天天打球,曾经oj也刷到过榜1,oj比赛不用准备随便前几,但是项目经验为0,回过头来才会发现大学期间走错的那些弯路。
期间半年多跑去写按键精灵脚本,然后在游戏里当了材料商,混的贼6,因为会脚本技术所以闻名,然后管理了区里第2第3的号(感触很深,每个号月充都是我现在月薪的好几倍。很多技术对于会的人一文不值,但是对于有需求的人,价值会飙升,提升我们的技术在机遇来临的时候才有争取的凭仗)。

学生党问题:对算法、计算机理论、项目经验所花费时间如何权衡/p>

算法是程序员进阶所需要的内功,搞算法绝对是个烧脑的东西,它不仅仅是刷刷oj题那么简单。像我一样虽然oj还行,但又只是靠逻辑思维利用数据结构、离散数学,这是远远不够的。要想走算法路,需研究透数据结构,离散数学,高数等理论基础,注:这些理论掌握程度是oj比赛不能体现出来的。如果你是在非双一流大学,我也是建议你提升项目经验为主,因为算法岗的招聘门槛极高,所谓的读书无用论,it有技术就行,学历不重要,都是假的,普通大学毕业找算法岗,有点呛,搞的半吊子算法还不如多看几个中间件来得实在,提升好项目经验,先就业再择业也不至于一毕业就失业。
结论:刚毕业的Java后端开发,算法能力,招聘不会怎么看重,大厂除外,大厂会先以算法刷掉一波人。当然算法能力对未来的提升很重要,只是对于毕业找Java开发而言有一定项目经验更为重要,企业甚至希望你作为应届生能有1年项目经验,算法和项目经验两手抓,温饱不用愁。

■ 趣事分享1 —— 找实习

以下经历是我作为普通本科毕业,坐标二线,所以经验不能用于犹豫去哪个一线大厂的大佬。

我当时做了个安卓小贴吧,后端用原生servlet处理请求,强行背了些Java面试题,然后随便看了看ssm,在18年11月份的时候,我草草投出第一份简历(面得是一个狼性文化外包,后面我会介绍一下刚毕业怎么看这些公司)——没有方向的准备,结局可想而知!。因为背了笔试题,所以笔试贼6,类似springmvc的生命周期,我将网上搜的的11点都写了下来,但是面试时各种尴尬,其中一段对话印象非常深刻:

“我看你写了这么多,那么springmvc不返回视图,要怎么做。
“额。。这个。。没太听懂。”
“就是你是先写一个控制层,对吧
“嗯。”
”然后我要返回一个字符串。”
“嗯
“用哪个注解
沉默几十秒。。。

类似这样的对话很多,然后自然而然就等通知了。面试结束站起来收拾东西,破烂的书包拉链还坏了,面试官等了我一会儿,我羞得恨不得钻进地下,果断直接提了包起来,灰溜溜地出门。在这朋友们可能就要吐槽我了不就是@ResponseBody,这你都不知道,还敢出去面试,O(∩_∩)O哈哈~,当时就是这么莽,原因就是对社招的需求一无所知,很巧的是当时排我前面是隔壁班的一个哥们,平时不敲代码的那种面了整整1个小时,而我面了5分钟,然后下楼的时候他还没走,打了个招呼,“不愧是大佬啊,这么快就拿下office了。” 我。。。。。。

Java后端入行看这 做软件园最靓的仔
图2
Java后端入行看这 做软件园最靓的仔
。一个面了两家都通过的舍友得知我发了这么一段话,批评了我讲话不靠谱。不过饱汉不知饿汉饥,人急了,哪管什么严谨,出牌都会不按套路的,没多久这个老板回了电话,确认了下我的学校,问了下我的导师,看他认不认识,再询问了我框架的使用情况。然后交谈一番,就让我周六直接上班吧,并安排我和另外两个员工合租。据我推断这两人和他是一个村的。因为两人和教授同姓,网上搜索教授来自XX城市,而这两人经常用XX话讲暗语,我大学舍友就有两个XX人,他们聊我其实能听个大概的,贼tm坏坏。。。为了打好关系,入职前一天晚上尴尬地陪他们看完“大”人物,印象十分深刻。
结果:
通过。听到是后端,第二天开心得回家搬了行李。
面试解析:
哭惨被身为人师的教授怜悯了br> 公司解析:
入职后才知道,这是一个很有名气的教授,复旦计工博士,百度搜到老牛逼了,但是公司不怎么样,二十来个员工全是学生模样,工资4-8k,没有更高薪,员工都叫他老师,而不是老板,这个很腻歪,让人感觉还没出社会,做的东西都是学校产品,什么oj,学校管理系统,学校教育网,自吹一波,像我这种喜欢挑战的人,熬个两周就会索然无味,这种还不如其它外包公司。不要被计科博士的名头唬住了,上了年纪的老廉颇还不如软件园里三十多岁的程序员更懂潮流技术,也别想着幻想从他那蹭到什么科研成果,他有那么多的硕士学生,估计都能凑一个班哪会轮到你。
做出调整:
看到除了两个老人是教授的暗钉,其它全是刚毕业没多久的学生,我认定这里前景不大,有点后悔没有当场面试看看公司就把行李都搬了过来,最能唬住人的教授不指导现场的,项目也不知道谁是老大,都是学生谁服谁,因为我电话里也不要钱,估摸着也无所谓,指了一个人,让分配事给我搞,极不靠谱,白白搞了一天测试,我向教授提出了什么时候签三方(我这么急得面试就是因为学校催着要三方,各种吓你,后来才知道不管学校,啥事没有),教授不像之前电话里那么和蔼仿佛变了一个人一样开启嘲讽了:“你这很搞笑啊,你得先展示展示你的能力,我才能给你签,什么都没有,我哪敢给你签。”
沃日,之前电话里,你老可不是这么说的,讲的是放心,这些都没问题的。
还是太年轻了,别看他是老师,为人师表或许是别人的恩师,但和你不熟,出了社会,利字当头,或许在他看来,给了你一个穷学生机会就已经很不错了。然后安排了一个学生头找我面聊,我才知道这才是真正的面试,然而被忽悠得把行李带到了另一个城市,
让我跑一下自己带来的项目,公司各种断电,没跑成,然后只问了一个问题:“你这点赞怎么做的”
有点气,回:“联表查数据库。”
“你这不行,人一多怎么办。”
我那时候也知道redis这种东西,他要我回答的估计也是缓存这个玩意,我屮艸芔茻,几十几百个人用的东西,你想那么多干嘛。尤其是他们的产品我刚查出bug没多久(在这家公司白干了一天测试),点赞特殊操作可以连赞刷赞,我恨恨得估摸着就是这个家伙刚研究完redis搞的成果,然后就拿点赞功能来虐我。(他们前后端应该都用了缓存,但这连赞bug绝对是后端的问题),我很想说:“请把你产品的这个功能搞好,再来虐我,我才服气”。没多久他就跟教授报道,我没什么东西,没项目经验,教授让他给我安排个活试试我,再看看。(题外话——为什么我老是会窃听到别人讨论我。)有种被玩的感觉,好家伙,先让住下来,不行再赶走,当然我虽然没什么项目经验,但对自己解决问题的能力有绝对的自信。第二天周日,公司加班,让我跑项目马上搞个功能,试试我,用eclipse的坏处,跑项目各种坑,提示不友好,搞了一上午,他过来帮忙看了半天提示也不会解决,中午不吃饭继续研究maven配置,才搞通,然后接到了我下一个东家的电话让我下午面试。省略中午一串qq交流。。。
学生头吃完饭回来,我再次找他要需求
“你说你很急是什么意思
“嗯。你提需求,我马上解决,如果不行我走,因为下午还有一个面试。”
“嗷。那你走吧!”
“嗯,愣了一下,不过刚跑通项目的我豪横,看完项目,觉得这里的开发也不过如此,此处不留爷自有留爷处。我五感交集了一会儿,走到他的位置,握了下手,说了声感谢,然后抱着我的大号imac走了,别看我回过头讲的风轻云淡,当时下楼的时候眼泪是真的忍不住了,因为一想到家里人,就有各种对不住的感觉。在学校同学都抬举你一声大佬,出了校门没有经验的你就是个p。然后左右手各提三个包,身前身后挂一个,投奔舍友,身体累不要紧,心累是我很多同学刚出校门的感触。

6、初创外包

表现:
笔试随便就写完了,面谈很轻松。问下薪资要求,直接讲2k,因为行李带到了这个陌生的城市,只想尽快安定下来。
结果:
离开时握手,会尽快给答复,就在这两天。我是第二天主动打电话确认。
面试解析:
我面试前有一个培训出来的在面试,是个中专老实人,听着他的表现我差点笑出声来,这不就是我第一次找工作的表现吗是当局者迷旁观者清,唯唯诺诺,跟个软柿子一样,谁看见了都想捏一捏,这个家伙挺实在的,都是实话实说,什么刚培训完都说出来,项目是照着视频做的,还讲会springcloud,这我就乐了,果不其然老板拿基础知识虐他,被各种质疑,(原因很简单,老板都不会springcloud,你这么吹,老板当然看不下去,拿点基础整整你,非常正常),薪资期望4.5k,老板说他不值,只能先实习做起,大概是2k。轮到我面试的时候,有了对比,自然轻轻松松,最大的杀手锏是我只要2k。
公司解析:
公司很小,后来才得知,是租用一个装修公司的一张办公桌,除了老板只有另一个程序员(我叫他老詹),当时面试我以为其它老人都是员工,好几个30出头的人物,虽然公司小,但不简单啊,可以施展才华,谁想有点坑,一进去就是公司的顶梁柱,因为招了我也就两个开发。
做出调整:
第二天没通知,主动打电话要结果,招聘是双向的,急的话可以催一催,面试表现可以的话,一催对方也会尽快考虑,因为对方也怕你不来。

7、阿里旗下外包

确定一周后入职,终于放松下来了,修养期间这家公司主动要打招呼,看到阿里两字,心动了就蛮试试。
表现:
笔试是遇到过最难的,导致后面面试没有信心,再加上阿里的名头,感觉低人一等,回答问题没有争取的欲望,一幅想走的表现。开始时面试官一直低着头敲代码,在我自我介绍提到大学搞按键精灵时才抬起头,有了些许兴趣。我简历写的都不问,因为也没什么东西。问了
“onload作用
“我只记得Windows.onload,这个吗
“安卓Activity生命周期
“onCreate、onStart、onStop、onDestory得不太清楚”
安卓网络http请求实现/strong>”
“我是知道有个okhttp请求框架,没用过,我用的原生,好像是HttpConnection
对方不讲话,静静地看着我,我还以为我说错了(一直不自信)。
忘了吗不是做一个东西百度一下,做一个东西百度一下
结果:
握手离去跟我语重心长地讲理论很重要,你看那些培训出来的就很重视,让我也要多背背概念,只用做,不会原理会给未来其它同事挖坑。
面试解析:
被阿里的名头吓到了,再加上笔试打压,面试毫无自信,心态不对,讲话就不利索了,回答其实答案大概都出来了,自信点吹一吹没问题。结束时,他讲等通知,我就知道结果,然后我笑着说,不用客套,淘气得问下我笔试是不是很差,助手和面试官讲“还可以,之前一个福大的,也才50,差不多,你是不是题刷多了,做题还行”(我面试时讲的大学刷oj。其实压根没关系,他们笔试都是计算机历史,一些加密、网络协议概念、智商题、课外知识题,而其中的算法题是非常简单的,毫无难度)。有点懊恼,心态不能崩,不然后续就是送人头。
公司解析:
当时觉得很牛逼,后面才知道其实是打着阿里的名号,干的也是外包活,技术含量不高,外派严重,待遇差。
做出调整:
有一段时间把Java语言书和安卓拿出来背概念,生命周期之类,后面上班了就放弃了。不能因为面试官的否定而走弯路了,还有好多东西用都不会用,你去背会用的东西的概念,不能本末倒置。

8、总结

表现:
不管你会还是不会,面试回答得怎么样,行为举止一定要大方,千万不要唯唯诺诺,小家子气,这样基本凉,不要过度张扬,也不宜妄自菲薄,不卑不亢、不骄不躁,倾听的时候点点头,回答的时候口齿流利,把面试官当成平等的人来看,不要把他看高,把自己看低,你要是入职了他也就是你的同事。不要太看重笔试,小公司的笔试其实没那么重要,做的好做的坏都不要影响到后面的面试,最重要的还是取决于你的面试表现。有一段吸引人的自我介绍很重要,我每次讲到大学搞按键精灵刷宝藏,技术员都精神一抖,后面交谈气氛就会好很多,哈哈,这恐怕是大多数程序员最早时候的小梦想——搞辅助,做外挂,当黑客。最后记住,你是有价值的,不要还用学生思维说出我不要钱,越是不要钱,对方越是怀疑你,就像你把你的电脑拿到大街上卖,然后告诉路人,这是个好东西,它不要钱,拿走吧,你说路人怀不怀疑人生,也别想着你不讲期望工资,对方会给你更高的薪水,他肯定按最低的给咯,大胆喊出你的期望工资
结果:
失败特征:等通知,尤其是小公司,2天可能是真的,一周不用考虑了,这是客套话。
成功特征:主动给你介绍公司还有他们做什么;和你谈薪资。我遇到成功的面试,基本都是刚面完没过多久就通知,哭晕,因为我是实在人,面试聊得愉快,心情爽,就不敢喊高,都是直接讲出自己的底线价。
面试解析:
尽量做到主动引导方向,千万不要突然安静给面试官提问的机会,it这东西真的要学的太多了,一个人拿自己擅长的考倒另一个实在太简单了,所以主动把方向引向自己会的。例如现在要是有面试官问我,索引的概念,我有优化经验,我就会主动扩展开来谈谈我的这个优化,扯开来,估计聊一个小时也聊不完,面试官也是人,要是正好他有兴趣,这事就成了,接下来不会再让你造航母,唯恐把你难倒了,只会聊聊家常。
公司解析:
二线产品公司稀有,基本都是外包,不过外包也是有区别的。
创业外包:无福利,坑,刚开始什么都能学学,后面毫无成长,1个月就差不多了。
小型外包公司:老板有钱的话,还不错,有加班也不会太严重,成长低。
大型1类外包公司:福利什么都一般般,也没啥活,较为轻松,比小型外包还轻松,成长中等,因为时间多可以自学些东西。
大型2类外包公司:近乎朝九晚十,指标恐怖,福利给力,加班免费餐,工资给力,涨薪制度分明。外包中我推荐这种,刚毕业可以选择这种,熬个一年,curd贼溜,积蓄也是最多的。
看一个公司的招聘就只招几千的新人的能不去就不去,因为有很大的几率,你涨不了,然后就是看公司开发的年龄程度,都很青涩,大多数都是学生样的也是慎重考虑,因为找那么多刚出社会的说明开发的活不难,你进去后很难得到提升。

9、毕业后

Java后端入行看这 做软件园最靓的仔
我是一个专注于后端的码畜,对话的是我实习时候的老东家,加500让我有种被侮辱的感觉,我是一个实习放弃3k前端选择“不要钱看着给”的后端^ _ ^,其实实习最后入职了基本还是搞前端的活。之前离职就是因为工作毫无难度,都是在感受前端组件的恶意,并且比我早毕业一年的另外一个同事勤勤恳恳,为人谦逊,讲话从没有大声过,我的debug习惯,东西不写死这些好习惯都来自他的影响,而我每次有新东西展示时他也非常愿意尝试,问题基本都能解决他只拿2.5k,这个社会就是打压这种实在人,老板不愿给老人涨薪,所以我毕业就选择离去。
我现在就职于一家永远也等不到融资的硬件集成解决方案公司,没有福利,甚至拖欠工资,更别谈涨工资了,不过只专心搞一个产品,公司再差劲,活也比外包有趣的多,每天都有新挑战,这是我没有跑路的最大原因,半年前就5.5的产品公司后端怎么可能因为只多500的就去搞创业外包前端。或许在我去年提离职时,老板提出6k,我会非常高兴,违背自己的初心,转搞前端,不过时间转逝,现在就是8k的外包我也不可能考虑,我变了,而老板还是那个老板。

我讲讲为什么我这么抵触我的旧东家,还有其它外包公司

创业型外包接的一般都是小项目,为了节约成本搞的都是低代码开发,还有就是代码生成工具,有一个可视化界面,点一点生成代码,按照模板生成curd。低代码开发被吹很多年了,很多人动不动就说低代码开发淘汰了程序员,这都是内行看笑话,这种代码开发工具只能生成最简单一层的curd,帮你架起一个架子,复杂的业务逻辑还是得靠你自己实现。不过它用来搞普通的管理系统还真是神器,而正好我前老板接的都是这种管理系统,所以有时候我可以自吹是全栈,前后端测试运维一起干,但这后端真没含金量,平时基本上都是在搞前端页面的改造,控件问题和兼容问题。
成长性也就前几周,第一周部署好几个项目,让git、svn,maven,跑项目等等玩的得心应手,第二周大概搞通熟悉这个架构后,成长性就非常低了。
再者就是做这种项目的经验在换公司时对方不承认你的项目经验,在我毕业后第一次找工作的时候讲出实习独立开发项目,面试官来了点兴趣,可以一提出开发的是猪肉管理系统,还是用了代码生成工具,对方就嗤笑起来。所以好的项目能提升你未来跳槽的价值,就算你啥都没干。

好吧,这确实没水平,那你凭什么抵触大点的外包公司呢/strong>
外包的前端开发相对产品公司的而言,其实差别没那么大,但是Java后端开发不同,真的是区别非常大。它有三种模式,
①、前后端分离,真招Java后端
活就是curd,非常简单,业务逻辑不复杂
②、项目前后端分离,但是人不分离
逃不掉啥都干,所以后端的活难度不会高
③、不分离,啥都干
外包的后端,含金量很低,最难的估计就是让你在后端做格式整理吧,很多外包公司招Java,其实就是干前端的活。有时候全栈的名头会让你陶醉其中,但是认真想想是不是基本都是在搞前端,后端的活就算有是不是几乎都是纯粹的curd,而且还是业务不复杂的那种。我的同学反对我的说法,说:“外包也是有含金量高的产品的,然后列了一大堆例子”,不一棍子打死,但是这种有意思的产品,外包是不会让你刚入门的人碰的,它是招你来拼命curd,你的curd对它而言才是最有价值的。

要么选择前端,要么选择后端
全栈的名头容易让人陶醉,但是自己心里都有底。前端的东西更新非常快一年一小变,两年一大变,而后端又深又广,总有人要拿少数的特例来说明前后端一起搞不冲突,我们大多数人要选择好一个方向,才能走的更深,学可以都学,但是工作一定要只干一个,你说你每天花半天时间在搞前端控件,你还能在Java后端上花多少时间呢。选择一个方向,并不意味着放弃另一个方向,而是说要把大多数精力拿来专攻一端,才能有深度。

■ 趣事分享3 —— 古董级大哥!

你们身边有没有这样的人物,旧的工具耍的贼6,但是不喜欢用新的东西,我身边就有这样一个老大哥,给他推荐更方便的操作觉得不错,但就是不愿意改变,例如懒得整个热部署,改一下代码重启一下项目,虽然觉得不好,但日子还能过的去。不过大哥curd贼6也不好说什么。我慢慢明白每个人的追求是不一样的,有的人只希望顺顺利利,所以不愿做出改变,而我不一样,我喜欢挑战。现在的我不能证明哪种习惯更好,但我还是希望大家能够去尝试新鲜的东西,觉得可以就用,赚了,不好用就抛离,不损失什么。

掌握这些东西,curd不用愁

快速掌握这些工具最基础的用法,让你curd贼6,更深的用法可以慢慢研究。

■ 1、IDEA以及其插件

你非要说用vim写Java是大佬我没话说,ide工具这么强大,你却选择大炮换鸟枪。现在Java开发ide主要被分流为IntelliJ IDEA 和 eclipse以及它的变异版本。在此,我力荐IntelliJ IDEA,曾经的我死守eclipse,因为idea只是稍微会用,而且eclipse用了很多年,后面狠下心来转用idea后,发现真香。只要内存够大,idea会比eclipse流畅很多,因为idea相对eclipse用内存换取了速度,它的全项目字符搜索也会比eclipse快上很多,最重要的是出了社会你会碰到各种奇奇葩葩的版本项目,eclipse需要各种调整,各种坑,我实习入职跑了3天项目(其中第二天老板看不下去坐在我座位上结果也没跑出来),各种报错串在一起然后爆出第三种错误,怎么查都无从下手,这很容易让刚入职的你得不到信任,而idea部署项目就没那么多问题。
推荐一下几款idea插件:

Java后端入行看这 做软件园最靓的仔

②JRebel

讲一下热部署插件和debug的区别——我以前一直认为debug模式就是热部署了,已经是最完美的方式了,后面才明白debug只能算半个热部署,一旦改动bean,接口名,注解等,它都不会实时生效,还是得需要重启,它只能生效方法内的变动,而真正的热部署需要重启的情况就不多了,一天都没重启过几次省下非常多的开发时间。

③GsonFormat

非常强大,丢入一个json,几秒钟帮你生成一个类以及类中类。说个不好意思的事,我曾经做对接的时候,按照json的格式一个一个建类,建了十几个类,忙了一下午,看似非常努力,其实啥都没干出来,而别人用插件一键生成就几十来秒的事。

Java后端入行看这 做软件园最靓的仔
当然也可以从接口的方法名复制出url
Java后端入行看这 做软件园最靓的仔

■ 4、Wireshark

有发包就有抓包,Wireshark是一个网络封包分析软件

Java后端入行看这 做软件园最靓的仔

仿这这句正则写写,应该就够你用了。

■ 5、nginx

作为后端开发,前后端分离后一般都不去碰前端了,所以刚开始我都是用postman去模拟请求,渐渐发现效率低下,例如一些复杂的请求,各种参数你得模拟出来浪费很多时间,还有扫描二维码测试websocket等等,所以postman的操作哪有直接用前端操作来的爽呢推荐nginx,将前端项目的打包文件丢在nginx配置的目录下,然后配置完反向代理后,就能将接口请求代理到我们自己开发电脑的端口。
配置可以网上搜,我列出重要的几个配置。

最后

全副武装后,保证你的curd产出效率,才能有时间研究更深的东西,也才能给你安排有趣的活,才能获得进步。我是码畜,一个在二线垂死挣扎的码畜。望大伙早日拜托curd;

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91537 人正在系统学习中

来源:bbq烤鸡

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月6日
下一篇 2022年2月6日

相关推荐