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的号(感触很深,每个号月充都是我现在月薪的好几倍。很多技术对于会的人一文不值,但是对于有需求的人,价值会飙升,提升我们的技术在机遇来临的时候才有争取的凭仗)。

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

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

■ 趣事分享1 —— 找实习

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

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

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

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

其实花个两天时间就能学会ssm的使用,但是对于企业而言——会就是会,不会就是不会,并不会因为你能学,就认为你以后会

■ 开启一周面试狂潮

然后我花了几个月时间,不断地改造我的贴吧,并将后端改造成了ssm框架,自己抠图,自己写原生xml,自己联调接口,(因为想着亮眼,字体颜色调的非常亮,眼睛因此瞎了好几天,所以一个公司,一定要有一个好UI),算是一段挺长时间的curd经验,这时候才对开发岗位需求的认知从oj题转移到项目(curd),并以不用框架,写原生代码感到自豪。
附上当年的作品界面:
图2
图2

图3

19年接近3月时学校逼着一周内要三方协议,不然各种后果,过来人都懂得,吓得立马出来找实习,我勉强带着小作品在一个陌生的城市漂泊了一周(晚上住在旅馆。有一个稳定的住所,就不会像我一样着急,找工作最忌着急)。
面的有——

一个办公桌围了几个程序员,和其它公司合在一起的单休公司。(特别吐槽,首页都炸了,皮包公司)
【实习2k 单休】

挑着投只有上面那家单休回复,回家后然后急了就海投,各种电话,实在太多了后面直接拒接,开启一波面试潮。

银行楼上,一楼大厅入门刷卡,每两三个程序员就有小房间,为政府办事的养老公司。
【正式4-6k 实习未知 朝九晚五 主动打招呼】

当然少不了面了大家最痛恨的隐秘的培训机构。。。
【负18k 海投】

过了前台,大厅密密麻麻全是码农的狼性外包公司。
【实习1-2k 实有3k 弹性工作 海投】

一个教授租了一个房间,带着二十来个学生模样的公司。
【正式4-8k 实习未知 朝8.5晚六 海投】

一个老板带着一个程序员租了一个办公桌的初创外包公司。(我的旧东家)
【正式2-4k 实为2k 朝九晚六 海投】

某鲸云,打着阿里旗下的名号,当时把我吓怂了,导致发挥失常。
【不高和其它差不多 加班出差严重 主动打招呼】

唯独没有产品公司,可见在二线城市找一个产品公司是相当的难

1、皮包单休公司

表现:
自我介绍我就讲了名字,哪毕业。面试的让我再讲讲,我腼腆地笑了笑,后面就是各种质疑,一直揪着什么是对象?什么是抽象?这种问题,我不可能背《Java从入门到放弃》这种概念吧,我认为这种东西是抽象的,理解就够了,去背作者的表述失去了本意,背?我就不。按自己的话来表述他不满意,就是要我背出来。。。丢他老X。
结果:
当场退回简历。说我基础不扎实,是不是内向不会表达,准备得不够充分,让我再准备准备。当场拒绝是诸多公司里唯一的优点,面得多了就会很讨厌等通知这句话。给腼腆的我上了一课,我主动友好的握手离去。
面试解析:
缺少自我介绍调节开场气氛,腼腆地表现让对方第一眼就否定了你,后面的质疑都只是走个过场。能说会道是前提。
公司解析:
招聘在软件园,真实地址却租在其他公司里的一张小桌子,皮包公司,套个壳子,赚其它钱。干些擦边球的事,首要淘汰老实人。
做出调整:
编了一套自我介绍。

2、养老级银行政务

表现:
有了上次的教训,面试前一晚我编了一段自我介绍,并且不断地模拟,有奇效。第二天,刷完笔试后对方还在开会,我等了非常很久,才过来,不过面试气氛很好,但是对方问起linux,权限前端等框架的理解,我都摇头。
结果:
等通知。由于电梯停太久了,偷听到跟女文员评价,简历很厉害(因为我的代码成绩基本都是99分)但是没经验。然后就是和女文员闲聊各种粗口。我的内心:衣冠禽兽。。。在这种高端大楼里的人看起来斯斯文文,内在不一定那么高素质。
面试解析:
典型的是hr为了面试指标而被叫去,需要有实际项目经验的,没有经验,特别对的上胃口,或许能通过吧。
公司解析:
给银行擦屁股的公司,活不重,福利一般,但是需要能立马上手,成长性低,靠拍马屁上位,等级分明,算是低配版铁饭碗,瓷饭碗,一辈子望到头。
做出调整:
后面恶补了linux。

3、培训机构

表现:
进门登记,表单上中专,高中都有,相信我,it招聘门槛没这么低,一进门我就懊恼自己海投也得先稍微筛选一番,既然来都来了就体验一下同学们说的培训机构喷人模式,然后一堆人在一起填表,接着慢慢等,好几个隔间,一间一个小姑娘,一个一个进去,简历都不问你要,直接开喷,这是一个模式。我遇到的面试小姐姐应该是个新手,it专业名词都没背好,不怎么会忽悠,让我调侃了一波。精挑几个问题,
1、你的同学好找工作吗?
“大多数都找到了,都是大公司,比较好进,小公司需要立马能上手,不怎么好进。”
小姐姐:“啊?对对”。
————
2、代码量有30w行吗?
内心:试问哪个敲代码的会注意自己究竟码了多少代码。
“项目可能没有吧,我就只搞过十几来个,也没去算,不过我刷了几千道oj题”。
小姐姐:“嗯?”。
————
3、假如要做个图书馆系统,你会吗?两周能做完吗? 回答,
“如果只是简单管理系统,那太简单了,小几天就行,不过要和硬件对接,考虑并发量等等,我暂时没那个经验。”
小姐姐:“啊?”。
然后吹了一些框架,对方一脸呆萌。
结果:
唬住了,被排除出学员游说行列。
面试解析:
如果你不幸让培训机构招了过去,来了就放松放松,请大胆吹(终于有一个让你占上风的机会),他们是靠海量游说,然后缩小目标,所以都是业务员,不会有真的程序员面你,如果你连业务员都吹不过,拿什么跟搞技术的程序员面试官对的上话。
公司解析:
招聘低门槛、高薪,不用任何经验,然后再上搜索引擎一搜基本就知道了。
做出调整:
为了不浪费时间,排查了一下面试行程,果然发现了约了好几个培训机构,有苦难言啊,拒了真公司,约了假公司,导致我可以面的没几个,而且因为海投,把整个城市都投完了。

4、狼性外包公司

表现:
两面。一面、中年男子,面谈一下背景、性格、谈吐,然后打分。第四场的我应该是最有味道的状态,住了两天旅馆没洗澡,日行步数好多里,带着被面试折腾的沧桑感,谈吐不再唯唯诺诺小家子气,而是谦逊而又不失大气,没有之前的得失心,据实回答,中年男子点了点头,然后跟我讲了是boss直拒约的吗?后台开发满了,和boss没沟通好,可以的话先和技术面一下。进入二面,来的是一位大概30左右的高阶程序员,说实在,这位老哥很对我的胃口,属于不摆架子的大佬,不造航母问理论,就针对项目随便聊了聊,然后主动表述了它们公司,有自己研发的前端框架(估摸着就是一套UI框架),当然也许是因为外包前端岗本来就很好进的原因。问下薪资要求,讲了自己不在乎,能学到东西就行。
结果:
半小时多过后通知下周1上班。
面试解析:
面完上家培训机构后,状态更好了些,表现没有唯唯诺诺,谈吐谦逊大方,不要表现比对方低一等,反而能得到对方的尊重,外包office就很好拿。
公司解析:
同样是狼性外包,比我年前面的那家实力要强得多。首先看招聘,它有招其它岗1万2万的程序员,而差的公司就只招小几千。第二点,公司环境好,非常清新,而另一家乱哄哄的。后话,得到同学的确认,前端岗有3k,这恐怕是福建实习岗里为数不多的高薪。
做出调整:
收到人生第一个office,但我却失魂落魄,公司算是最满意的,规模最大,环境最好,这种公司即使累,但他福利不会少你,涨薪制度明确,可以安稳的沉淀一年多作为跳板,可又不想就此搞前端去,又怕拒绝了找不到下一份工作,那天下着大雨,因此还上错了反方向的公交。不过本来就是大海里的浮萍,去哪又有什么关系,车上想了很多,下车后蹲在陌生的街角躲雨,忍不住哭了出来,此时已经不在乎任何人的眼光,蹲了一会儿,我给boss发了:由于实在喜欢后端,想继续找后端,boss也回了祝福。给自己断了后路后,不再犹豫,即使身心疲惫,但精神好多了,转好几路公交去下一个面试点。

5、教授带学生

表现:
这是在大学城1k来米外,非常偏僻,下公交后,还下着小雨,没有伞,顶着帽子在荒野的泥泞路上步行,都是施工的场地,风夹着雨水吹得冻得直打哆嗦,走了很久才到目的地,点了碗死贵死贵的海鲜面,实在难吃(越偏僻的地方越都是这种黑心店),不过饿昏的我硬是吃完,就差把碗拿起来嗦一遍。地形复杂,找了很久各种问路才知道是在哪一栋(注意门面都没有的公司慎重考虑)。
然后再走了小千米找到了一个挺大的宾馆,休养准备第二天的面试。环境可以,一百软妹出头,郊区就是比市区实惠。
进门后被塞了小卡片,在这大学城周边还能这么无法无天???不过那阵心痒痒啊。。。咳。咳。。。从小到大还没牵过女生的手,这波躁动啊,拯救少女行动??要不整个?整个。。放松放松。。整。去去,人家温饱思淫欲,你都要饿死了脑袋里还装粪。不过这么下来,心情愉悦不少。(友情提示,嫖娼违法,遇到小卡片请立即和店方联系)
我为什么讲了这么多题外话呢,因为这个情况实在特殊,在我研究一个萌新如何装老手打小电话的时候,这个老板打来电话,由于停电,改周六上班,面试改为周六。这一听我急了,得知晚上还在加班,回了短信
Java后端入行看这 做软件园最靓的仔_第2张图片
。一个面了两家都通过的舍友得知我发了这么一段话,批评了我讲话不靠谱。不过饱汉不知饿汉饥,人急了,哪管什么严谨,出牌都会不按套路的,没多久这个老板回了电话,确认了下我的学校,问了下我的导师,看他认不认识,再询问了我框架的使用情况。然后交谈一番,就让我周六直接上班吧,并安排我和另外两个员工合租。据我推断这两人和他是一个村的。因为两人和教授同姓,网上搜索教授来自XX城市,而这两人经常用XX话讲暗语,我大学舍友就有两个XX人,他们聊我其实能听个大概的,贼tm坏坏。。。为了打好关系,入职前一天晚上尴尬地陪他们看完“大”人物,印象十分深刻。
结果:
通过。听到是后端,第二天开心得回家搬了行李。
面试解析:
哭惨被身为人师的教授怜悯了???
公司解析:
入职后才知道,这是一个很有名气的教授,复旦计工博士,百度搜到老牛逼了,但是公司不怎么样,二十来个员工全是学生模样,工资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请求实现?
“我是知道有个okhttp请求框架,没用过,我用的原生,好像是HttpConnection?”
对方不讲话,静静地看着我,我还以为我说错了(一直不自信)。
忘了吗?是不是做一个东西百度一下,做一个东西百度一下
结果:
握手离去跟我语重心长地讲理论很重要,你看那些培训出来的就很重视,让我也要多背背概念,只用做,不会原理会给未来其它同事挖坑。
面试解析:
被阿里的名头吓到了,再加上笔试打压,面试毫无自信,心态不对,讲话就不利索了,回答其实答案大概都出来了,自信点吹一吹没问题。结束时,他讲等通知,我就知道结果,然后我笑着说,不用客套,淘气得问下我笔试是不是很差,助手和面试官讲“还可以,之前一个福大的,也才50,差不多,你是不是题刷多了,做题还行”(我面试时讲的大学刷oj。其实压根没关系,他们笔试都是计算机历史,一些加密、网络协议概念、智商题、课外知识题,而其中的算法题是非常简单的,毫无难度)。有点懊恼,心态不能崩,不然后续就是送人头。
公司解析:
当时觉得很牛逼,后面才知道其实是打着阿里的名号,干的也是外包活,技术含量不高,外派严重,待遇差。
做出调整:
有一段时间把Java语言书和安卓拿出来背概念,生命周期之类,后面上班了就放弃了。不能因为面试官的否定而走弯路了,还有好多东西用都不会用,你去背会用的东西的概念,不能本末倒置。

8、总结

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

9、毕业后


毕业后我就离职了,然后又沉淀了三个月,应了上图。真不是不想找工作,而是接触过商业项目后,我才相对的有了一个方向,才明白了之前的自信是多么的不知天高地厚,开始尝试的接触各种中间件,才发现时间多少都不够用。以下为我对商业开发的一个思维转变——
黑框框算法 -> curd(原生) -> curd(框架) -> 高阶curd(借助各种中间件让curd高可用和高并发性) ,我还处于对中间件于项目结合的摸索阶段。

■ 趣事分享2 —— 给你加500,回来搞前端吧!

给你加500,回来搞前端吧!

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

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

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

好吧,这确实没水平,那你凭什么抵触大点的外包公司呢?
外包的前端开发相对产品公司的而言,其实差别没那么大,但是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后端入行看这 做软件园最靓的仔_第4张图片
重磅推荐

①Mybatis Log Plugin

你还一个一个复制参数粘贴替换问号吗?这个插件帮你把最后执行的sql拼接出来,非常方便测试排错。
Java后端入行看这 做软件园最靓的仔_第5张图片

②JRebel

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

③GsonFormat

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

④RestfulToolkit

可以通过url直接跳转到接口方法,提高和前端对接效率
Java后端入行看这 做软件园最靓的仔_第7张图片
当然也可以从接口的方法名复制出url
Java后端入行看这 做软件园最靓的仔_第8张图片
就介绍这几个,还有很多好用的插件可以慢慢鼓捣。把利用插件比喻成坐火车,而别人不用插件就像骑着自行车拼命追火车,看似勤奋努力,然而效率不高,好就要用,快速的curd,省出来的时间研究更高深的东西不香吗。

■ 2、svn、git、maven

强调一下,一定要在实习前把这三个主流的东西整的明明白白的,因为一入职肯定是要跑项目,团队开发版本工具是必须的,jar管理倒是不一定,古董项目就不用。这三个东西不明白,项目跑不起来,如何获得信任。在我的第一天上班,搞了eclipse很久的svn插件,最后报错,截图问对桌的,svn怎么搞,结果被笑了,然后发了个svn的百度百科过来。其实就是没给我开权限所以报错,但是看不懂,搞不通,人家觉得你是真的菜,然后敷衍敷衍你。没接触过团队开发,不会用git、svn非常正常,再加上第一天上班容易差个什么玩意导致环境不齐全,临时上csdn搜索,发现都是药不对症,忙个几小时是随随便便的事。所以在迈入商业开发前,svn、git插件版,软件版都试试,命令行模式自己斟酌,不强求,自己多拉几个跑跑为以后做准备。然后就是maven这个东西一个要配好镜像jar才能下得动,也别忘了给你ide工具设置好maven仓库路径和配置文件路径。

■ 3、Postman

postman是一个模仿请求的工具,相当强大,配上环境变量,可以把接口整成随时可以用的接口文档,千万不要用一个打开一个,每个标签相当于开一个浏览器标签开多了非常卡。
Java后端入行看这 做软件园最靓的仔_第9张图片

■ 4、Wireshark

有发包就有抓包,Wireshark是一个网络封包分析软件
Java后端入行看这 做软件园最靓的仔_第10张图片

http and not tcp.port==8080 and not tcp.port==8001 and not tcp.port==8089
 and not tcp.port==80 and not http.request.uri matches "query"

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

■ 5、nginx

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

upstream  doman  { 
        #ip_hash; # 指定支持的调度算法
        # upstream 的负载均衡,weight 是权重,可以根据机器配置定义权重。weigth 参数表示权值,权值越高被分配到的几率越大。
        server   192.168.6.96:8080 max_fails=2 fail_timeout=30s ;  
        // 可以列一堆server进行负载均衡
    }
    
server {
        listen       8001;//监听前端项目请求的端口
        server_name  localhost;
        location / {
            root E:\vue\dist;//前端项目打包文件的路径
            index  index.html index.htm;
        }
		
		location /proxyApi/{//url带这一段的拦截 代理 可以用正则
			proxy_pass   http://doman/; //不写死 doman为上面的upstream
		}
    }

最后

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

你可能感兴趣的:(Java后端入行看这 做软件园最靓的仔)