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了。” 我。。。。。。

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、毕业后

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

创业型外包接的一般都是小项目,为了节约成本搞的都是低代码开发,还有就是代码生成工具,有一个可视化界面,点一点生成代码,按照模板生成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插件:

②JRebel

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

③GsonFormat

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

■ 4、Wireshark

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

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

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

■ 5、nginx

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

最后

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

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

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

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

相关推荐