土木工程专业转JAVA的经历总结

1.转行背景

本人于2017年毕业于东北大学的土木工程专业,大学不学无术,浑浑噩噩过了四年,毕业后来到中建八局钢结构工程公司,成为了真正的土狗。入职第一天,我被安排来到了佛山的一个工地,住的地方是工地周边的一个民宿,刚到民宿的时候,心里其实还是挺失落的,感觉工作的地方很没有格调。当晚项目上为表示欢迎我们,我们和工地的前辈们一起喝了酒,喝完酒回去休息的间隙,有一个入职3年的前辈和我说,想好自己喜欢什么,如果不喜欢工地的话,趁早去找喜欢的工作。这一句话我现在回想起来,他说的一点都没错,如果不喜欢工地,一定要趁早打算。这是一个大项目,项目上有很多的人,同时到项目上的新生也还有另外三个新生,大家平时有很多的话说,也都聊的来。由于是新生,在项目上没有太多的任务,然后每天就是按时上下班,虽然没有周末,但是工作也不至于繁琐,就这样在工地上过了半年。2018年初,工地上差不多干完了,到了各自分开的日子了,我被安排到了南宁的项目上,从2018年3月26号,我离开佛山,在广州南搭动车,在当天下午就赶到了南宁的工地,这一路上,心里有些小期待,想着南宁的项目到底是一个怎么的项目,我会在那边遇到什么样的同事,同时也有些彷徨,不知道我在南宁会遇到什么样的困难,我要如何解决这些困难。我现在依然清楚的记得,从到南宁开始的第二天我就开始不停的干活,一直干到8月份,这几个月没有休息过一天,内心煎熬的程度到了最高点。在8月份的某个日子无意间和之前的同事聊天,发现他自学转行it成功,我心里蠢蠢欲动了,又经过多方了解后,在2018年8月26号那一天,我开始了我的自学java之路。

2.java学习之路

选择java的一个原因就是java开源免费的东西特别多,并且有特别的前辈在网络上分享自己所遇到的困难,在自学过程中你遇到的99.9%的问题别人都已经遇到过,并且都给出了解决的方案。
首先我刚开始根本不知道从哪里开始学起好,还好我当时认识一个初中同学是是学习java的,他给我发了创智播客的刘意讲解的基础知识视频,从此就入了创智播客的坑,以后的每一个知识点的内容我都是选择该培训机构的视频,不是打广告,我也没有实力打广告,我认为这个培训机构的视频是真的良心,讲的不错,不过讲的内容都是很基本的东西,如果想学的更好,建议每看完一个知识点的内容后多看看网络上的文章,深入了解知识点,这是我在后来找工作意识到的我所欠缺的东西。花了27天 学习完java基础知识后,我在淘宝上花了三块钱买了传智播客49期javaweb的学习视频。在49期里面的教程里,主要学的框架还是ssh和ssm,我都学了,不过我没选择做ssh的项目,反而做了ssm的电商系统,然后再从网上找资源学习了springboot和springcloud知识,毕竟这两块内容现在特别火。

3面试之路

我原来打算在年前就去面试去试一试水,但是那时候我感觉自己都没有复习好,只是把很多知识看过一遍而已,然后我就选择了年后面试。我在初七之前就开始投简历,由于互联网行业那时候还都没有上班,所以基本都没有收到回应,在一个晚上的11点30分,突然收到佛山鲲大网络公司的面试通知,面试时间是初九,正是因为这个通知,坚定了我初七就出发到广州区找工作的决心。
初七,我顺利到了广州,第二天早上,在boss直聘上突然收到奈尘科技公司的回复,说可以下午去面试,当时收到这个通知很高心,感觉没有经验的我还是有很多面试机会的。下午我去了奈尘科技的面试,面试官问我的第一个问题就是你有没有通过mysql的视图,当时我就蒙蔽了,我只学过oracle数据库的视图,当时我自己又不敢撒谎说学过,我就老实回答说没学过,面试官差异的看了我一眼,现在回想起来,这一眼以后我已经没有机会了。面试官又问了我第二个问题,说mysql数据库复杂查询的结果怎么接受,可能当时太紧张了,我都没反应过来,面试官看我回答不出来,就给了我答案:新建一个实体接受。面试出来以后,感觉自己好蠢,java本来就是面向对象的思想,看到数据封装就行,这都想不出来,好愚蠢昂。所以现在回想起来我的第一场面试,总结就是:太紧张了。
第二场面试就是我收到的第一个面试通知,面试地点在佛山南海万达广场,所以在初八下午第一场面试完以后,我就乘坐地铁去佛山了,准备在万达广场那边住一晚,然后第二天就直接去面试。当晚在佛山的宾馆住的时候还有点小插曲,就是明明自己白天走了一天路,双脚很累了,然后躺着的时候,居然感觉肚子涨涨的,甚至有点想吐,当时感觉很不舒服,但是起来又吐不出来,还好这个状态并没有持续很久。
到了早上去面试的时候,我到的时候公司还没开门呢,我就站在门口等了几分钟就看到了负责人来了,第一次看到负责人给我的感觉很亲切,还关心我有没有吃早饭,有没有带水来。然后就让我填了一张面试者信息记录表,我认真填写了,然后技术的负责人还没上班,负责人就问了我两个问题,都是校园招聘里面出现概率很高的问题:你觉得自己最辉煌的一件事情?(这个问题在后来的面试再次被问到),还有你觉得你最吃亏的事情是什么?由于这两个问题我在面试前已经做好了准备,感觉回答得还可以。所以建议刚开始找工作的朋友们在面试前把基本的面试问题复习好,准备好符合自己的答案。我回答完这两个问题后技术负责人刚好来到,他一上来就问了我两个基本问题,基础知识我都复习过了,我对他的两个问题回答得很流畅。后来还问了mysql数据库中日志记录去重还有mybatis的sql语句<问题如何处理问题,我都没有回答出来,面试也随之结束了。这次面试我的总结就是:自己学的不够扎实,接触到实际开发问题太少,这也是在网上跟着教程敲代码的弊端。
在佛山面试完,我离开佛山,赶去体育西路附近面试一家游戏公司,这家公司和之前的两个公司不同,所有的面试问题都是还照着我的简历上所写内容而提出来的,所以这一场面试我口若悬河,对面试官大谈各种框架,整个过程下来差不多话了一个小时,在最后面试官说如果找我进来,就把我安排到游戏后台管理的岗位上,问我有没有信心做好这份工作,我当然自信的说有,然后他说并没有马上录取我,而是留着备用,如果后面没有更合适的人,就通知我来上班。这家公司给了我一些希望,也让我有所期待,是我继续投简历的动力。
初十,我去面试了两家,一家是外包,另外一家小公司。都是租房子办公的公司,外包给了我offer,小公司没给,在此不多赘述面试过程,没有太大意义。
接下来的初十一,我还是有两家面试,而且今天是星期五,面试完今天,就要静静等待结果了,自己心里也很焦急,因为都跑了几天了都还没有收到复试的通知。所以此时的我内心开始有些焦急了。早上的面试在天河区,下午的面试在黄浦区。早上到面试公司的时候,自己还有点点胆怯,害怕接下来又是一场徒劳。一进去hr就让我做题,我做题的时候有些感觉很基础的题,但就是不确定,紧张!紧张!紧张!不过我把所有的题目都做完了!做完了!做完了!做完的时候都中午12点了,我感觉自己做了都有一个小时。当时做完交给面试官的时候,面试官原来打算让我吃完饭在回来面试,我在等电梯的时候,面试官走出来又把我叫回去了!叫回去了!叫回去了!我感觉游戏!,然后面试官进来第一句就是:想转行。我回答是。后面交谈中,面试官说我距离上班的水平有点远,进来公司要先带我两三个月,当时听到这句话的时候,我内心是失落的,担心后面更加不好找工作了。最后面试官说要问一下有没有人愿意带我,如果有就找招我进来,我问了什么时候会有结果通知,面试官说这周(当时已经周五了),如果没有通知就是不录取了。
面试结束后,我跟我的朋友大吐苦水,担心找不到工作了,真的挺焦急的,被面试官说没达到上班水平后,在去黄浦区公司面试之前更加没有信心了。一来到公司还是先做题和填写基本信息,基础题目我都做出来了,但是后面的springcloud的题目都没写出来,不过还是得到了第一轮面试机会。就在我填写基本信息的时候,我收到了两个复试的通知(其实就是谈薪资),当时心里可高兴了!可高兴了!可高兴了!第一轮面试就是和hr聊聊天,第二轮才是技术面试,技术面试我发挥的不错,面试官说我框架问题的回答不错,不过一眼就能看出来我是初学者。第三轮是个老大来面试我,其实并不算是面试,而是谈心,更多是教导我面试过程中应该注意到的问题。
最后,我离开这家面试公司的后,hr打电话让我周一去复试,所以总的下来我这个没有经验的新人面试7家,收到了三个offer。最后总结一下面试中遇到的问题

1.java创建对象的时候 String s =new String(“hello”) s 和new 出来的东西是怎么储存的。

我回答:s是对象引用,储存在栈区,真实对象储存在堆区。

2.变量作为参数传递的时候,是值传递还是引用传递?

我回答:是值传递。

3.说说你对mysql视图的理解?

这个答案建议百度搜索,特别多答案。

4.mysql复杂查询结果如何接收?

答案:创建新的实体

5.谈谈你对拦截器的理解?

答案:请百度,有更多的详细解答,防止篇幅过于累赘,不多赘述。

6.mysql有一张日志记录表,有id,日志时间,日志内容三个字段,然后表里面的记录有些是重复打印的,如何去重?

答案:思路:按日志内容分组,然后分组内找出时间最大或者最小的一条记录,然后把其他的删除即可

7.mybatis里的sql语句编写的时候如何处理<(小于号)?

答案:将小于号进行转义

8.谈谈你对浏览器,jsp,html三者之间的关系?

答案:说出自己的理解即可,请百度。

9.jsp九大内置对象,并说说他们的应用场景?

答案:百度

10.jsp里面是如何传递参数的?

答案:jsp里面有四种方法传递参数:
1.form表单
2.setAttribute()和getAttrribute()方法
3.
4.超链接:name

11.http是如何定位网络上的资源的?

答案:通过uri

12.请问你是如何理解高并发的?

13.假如商城里面的一个用户有账户余额,在下单的时候,用户突然又冲钱进余额了,你是怎么保证这个时候数据是准确的?

答案:使用事务。面试官追问:谈谈你对事务的理解?不赘述了。

14.springCloud和dubbo的区别?(被问两次)

答案:这个问题我觉得有一句话总结的比较好:dubbo就像自由组装电脑,springCloud就像是台式机。

15.mybatis中有几种映射mapper接口的方法?

答案:2种,一种是xml文件盒mapper接口在同一文件夹下得,另外一种是不在同一文件夹下得。

16.谈谈你对solr的理解?

答案:请百度。

17.solr的储存单元有几种方式?

答案:请百度。

18.redis缓存的优化?

答案:请百度。
最后,给没有开发经验,想要转行找工作朋友的一点建议:
你没有经验,必须在打好基础,打好基础,打好基础。
你没有经验,在面试前必须好好了解公司的背景,准备充分,让面试官从你的眼睛里看到你对这份工作的渴望,看到你为了做好这份工作不怕一切困难的坚定信心,这是非常可贵的,不然为什么人家招你一个没有经验的人进来。
你没有经验,但要保持对这个行业的热爱,面试时双向的,是平等的,面试官问你五个问题,你同样可以抛给面试官五个问题,但不要问那些没有意义的问题。个人认为可以问的问题有:

  1. 公司目前在做哪些项目?主要用到的技术方案有哪些?
  2. 目前公司在做项目的时候遇到的最大困难是什么?
  3. 您作为领导,您对这个岗位的期待是什么?(通常面试官要思考一下这个问题才会回答)
  4. 您觉得对于这个岗位,我有哪些方面是欠缺的?
  5. 假如录取了我,进来公司以后,我会被安排一些什么样的工作?

你可能感兴趣的:(个人感悟)