刚刚从Java培训班出来以及初学者怎么样才能通过面试?
那么这里就讲一下初学者和刚刚培训出来的怎样找到工作,在这篇文章里,本人更将加入最近辅导朋友就业和辅导Java提升的经验,更加有针对性地加入若干要点。
要知道java面试,尤其是社招,一定要求求职者有真实项目经验,没的话一定过面试。但这里本人先说个观点,哪怕跑通了培训班项目,或者是自学项目,甚至跑通很多个,即使在这个时候你学的很扎实,但在java面试过程中,依然无法证明自己的真实项目经验,原因如下。
1 很多培训班项目虽然包含了全栈开发技术,而且业务方面也能包含多个页面,看上去也像真实项目,但在真实面试中,面试官不关心业务,甚至不关心前端,一般只是业务考核spring boot增删改查这个点,所以初学者这块费时准备的很多点,未必能匹配上面试官的要求。
这里本人做面试官时经常遇到这样的情况,求职者在介绍项目时,先说前端用到vue.js技术,后端用spring boot,然后展开业务讲,比如讲物流项目里添加物流信息的流程,这个讲好以后再想讲删除物流联系人的业务流程,如果不打断的话,还会讲其它业务的实现流程。
站在面试官层面来看,如果求职者会前端,这确实是个加分项,但如果后端必要的技术说不好,或者干脆无法证明商业项目,那么前端的加分项就毫无意义。而且面试官不关心业务,你之前项目哪怕是真实项目,对下家公司也没任何意义,所以面试介绍项目功能等于白说。这块我就问,结合一个业务,说下spring boot做增删改查的流程,或者问spring boot里的注解,以及怎么用mybatis或jpa连数据库。
从中大家可以看到,初学者跑通的项目,大多数是前端技术+spring boot代码的复制粘贴,只是改了业务,其实这里只要跑通一个流程就行了,能在面试中,结合(比如添加人事信息)流程说熟spring boot流程和关键点就行,多了就属于浪费。
2 培训班或自学项目包含的技术侧重点,和真实项目是不匹配的。其根本原因是,自学项目只要实现功能,而真实项目一方面要通过足量日志来定位排查问题,另一方面更要用分布式部署和分布式组件来应对安全性和高并发的问题。
具体来讲培训班或自学项目,更多关注的是业务,虽然可能会用到日志和异常处理组件,甚至还会用redis,但仅仅是为了演示而使用,比如日志和异常处理组件也就肤浅地输出,而真实项目里一定是日志分级,甚至引入异步日志,同时异常部分代码和全局化拦截器绑定。
再如,真实项目一定会用nginx或nacos等组件做分布式部署,否则单机宕机后系统崩掉,但学习项目大多不会用到nginx等,而学习项目哪怕是用redis或消息中间件等,也是使用api。比如本人问求职者在什么时候用redis,此时请求并发量多少,他就告诉我查询订单时要用,至于并发量都讲不上,也就是说,求职者虽然能熟悉项目开发中必要技术,但面试时一定说不上应用场景。
3 真实项目里,更多会有测试,部署以及排查线上问题,对应地,很多技术一定是做了项目才知道,学习项目是只做开发,只是重复地用全栈加增删改查技术做业务,不会用到测试,部署乃至排查问题等技术,通过这些技术,一定能甄别出求职者是否做过项目。
比如我就问项目怎么启动,真有不少求职者告诉我在windows下的idea里启动,真实是打包部署到linux上用java -jar等方式启动,我就问怎么通过日志排查线上问题,真有人告诉我在windows下到控制台里看,我问怎么测试,会有人告诉我idea启动项目后,发url请求测试,至于我问怎么打包部署,不少人就干脆说不上的了。
4 初学者在通过学习项目入门时,大多会根据主观臆断加入一些自认为资深的技术,比如docker,分布式组件,还有微服务组件,尤其是一些培训班项目更会以此来作为招生热点,但由于初学者这方面只会api,讲不清楚技术点使用场景,以及上下文技术,那么反倒会不打自招,反过来证明这不是商业项目。
比如不少初学者在项目里说用到消息中间件kafka,我就问使用的必要性,或者说不用这个其实也能实现,那么求职者就说不上了。此外还有求职者说用到nacos,真实项目中nacos是部署在nacos,而且是集群部署,但问下来说nacos是以单机版的方式部署在windows,那干脆还不如不说。
另外我就不在说通过项目所在公司,项目是否上线,项目人数,你做过哪些模块,用过哪些数据库等常规问题确认真实项目的做法了。
讲到这里大家可以看到,培训班学员,或者是自学入行者,为java面试准备项目时,一定不能光看技术和业务,比如哪怕跑通再多项目,理解项目里每行代码这都没用,一定得站在商业项目的角度来准备面试说辞,用项目来证明自己有开发java的能力。下面就详细讲讲这方面的准备技巧。
1 找工作时,简历上要体现出足量的商业项目经验,相关内容本人有专门的文章,这里就不展开了,虽然该文是针对实习生写的,但同样对培训班学员有帮助。从中大家能看到,写简历的需要注意的要点是,第一为相关项目找个真实的公司作为背景,即项目是公司里做的,这才能算真实项目。第二不要着重写业务需求,就写你项目你用到哪些技术。
2 更要准备能证明项目是真实项目的说辞,这个优先级绝对要比说技术乃至背八股文要高。
其中包括,项目是在什么公司里做的,用到什么技术,你做过哪些模块,用过哪些数据表。是用git或maven等管理项目,项目是用敏捷开发模式,项目是用junit做测试,用jenkins等方式部署。同时,更要结合一业务说下你spring boot怎么用的,比如从控制器到service层到repo层,用过哪些注解,怎么传参数。
这里请注意,需要从公司,管理方式,项目测试部署细节等方式,多个维度证明项目的真实性,这里每个细节可以略说一些,比如测试方面用junit测试,测试时需要mock数据,这样就很能证明项目的真实性。
3 可以从准备亮点的角度,说明商业项目和学习项目有差别的技术点,同时进一步说明项目测试部署以及排查问题的步骤,这样不仅能进一步证明项目的真实性,更能在面试中拔高自己。
具体如何准备亮点,本人有如下的文章。这里需要注意,一方面要结合具体的项目业务,另一方面要从业务场景,api和解决过的问题等方面来说。
比如在说“数据库调优”这个亮点时,我听到的大多数回答是,我知道索引,通过索引解决过问题。这样的描述过于简单,就相当于提问权交给面试官。
这里推荐的做法是,第一说场景,比如说查询订单明细场景,订单表百万级别,用日期去查有问题,然后对日期建索引,这样结合业务说就很可信。第二更要结合发现问题和分析问题等步骤说,比如是通过cat或zabbix发现慢查询,用执行计划分析后发现耗时在全表查询,然后再建索引,再看下索引的八股文,这样说起来一方面能说明亮点,另一方面还能展示排查和解决问题的能力。
4 基础技术也要准备,但绝对是简单背八股文,准备基础技术时更要结合项目场景。
基础技术一般包含spring boot,数据库,java核心,甚至可以包含一些redis等组件的基本api用法。这里本人可以毫不犹豫地说,目前网上不少文章,像开中药铺一样列出java八股文,有些还能分门别类,但如果只去背,那篇背熟,也只能证明自己的理论能力,一定不能证明自己相关技术的项目使用经验,也就是说单看这些八股文,很难过面试。
那么基础技术怎么准备呢?先列点,比如数据库有事务索引和调优,分布式组件有缓存和消息中间件,spring boot有日志组件,restful和安全上组件,Java核心有集合和多线程。在准备点的时候倒可以去参考这些类似中药铺的八股文文章,但这类文章的作用也仅限于此。
在列出点以后,在围绕技术来准备,比如事务,第一准备项目里怎么用,这里就找个业务,比如添加订单,要操作订单明细和商品表,所以用事务,第二说项目里的api,比如用@transactional注解,这个注解有什么参数,即背些api,第三说你解决过哪些问题,这可以到网上去看,比如人家解决过事务超时问题,你也拿过来结合你的项目讲,第四再背八股文,比如事务隔离级别或传播机制,因为面试时你结合项目业务说好事务后,面试官会问细节,此时八股文才能发挥作用。
再说消息中间件,也一样,先结合业务说为什要用,比如下订单时用消息队列向对账模块发消息,再说api,kafka的配置文件和API怎么定义,消息队列怎么定义,消息数据结构是什么,再说解决过什么问题,无非是消息堆积,你不知道怎么解决,老规矩,直接看人家怎么解决你拿过来结合你当下项目说。
同时,别认为集合等过于基础的技术没法准备亮点,这方面你就去找源码,比如treeset内部的红黑树结构,arraylist相关的快速失效,这些源码背起来只是体力活,你面试是就说,项目里我用过该技术,同时看过源码,然后边写边讲。
当然为了拿到更高的薪资,更可以结合项目说高并发分布式组件以及压力测试和组件搭建等亮点,不过对于零项目经验的培训班学员、应届生以及通过自学入行Java的朋友来说,按上述步骤,结合项目准备面试的技巧绝对可以帮助大家更好地找到工作。
甚至说句不该说的话,哪怕是没做过真实项目,甚至连学习项目都没跑通,只要熟悉spring boot都增删改查,外带必要的语法和api,都可能用上述步骤提升面试成功的可能性。
1 我不在乎你项目的业务和规模,你只要能通过诸多细节证明项目的真实性,这样能证明自己有1年甚至更多的商业项目经验。
2 能结合spring boot和日志组件等,全面证明自己用熟spring boot技术,同时能结合API和配置等,证明自己做过测试和部署,其实测试和部署等技术要全面掌握确实不容易,但通过看资料通过API证明自己用过,这难度小很多。
3 能结合亮点,证明自己有分析问题和解决问题的能力,甚至能通过源码,进一步展示技能,如果再进一步,能从项目业务场景,api和问题等维度证明自己有分布式组件等技术的能力。
不过需要说明的是,大家如果技术层面有问题,比如不熟悉spring boot或日志组件的用法,依然不能单纯靠这些面试技巧面试成,依然需要掌握必要的技术,不过话说回来,并不要求大家全面跑通项目,而是围绕几个要点重点准备,就相当于考试前不是背全书,而是围绕考试范围来背。
另外需要说明的是,通过上文提到的面试技巧,大家在成功找到工作后,其实是离真实开发项目的水平还是有一定差距的,不过话说回来,靠培训和自学,同样一定无法提升到项目开发所必须的水平。此时本人也根据我辅导成功就业的朋友的真实情况,通过如下文章讲述了过试用期的技巧。
毕竟,一定是先拿到实践机会,然后再到真实项目里提升,所以这里再强调一下,学习阶段的目的不是单纯学,再怎么学一定达不到开发所需的标准,学习阶段的目的是通过项目积累技术,在此基础上通过上文的技巧面试拿到实践机会,然后到项目里去真正提升。
顺带发个咨询,如果大家想进一步了解简历和面试方面的技能,可以向我发起咨询,当然不仅限于校招,本人更多地是做是社招java面试辅导。
最后有需要的小伙伴可以私信联系我即可
刚刚从Java培训班出来以及初学者怎么样才能通过面试?相关推荐
- 成都Java培训班帮你分析如何通过企业面试
无论是大学应届毕业生还是刚刚参加完java培训的学生,都是属于初级java程序员,所以首先一定要找准了自己的定位,然后再了解当今企业对于初级java程序员更注重哪些方面,自己应该向哪个方向努力.今天知 ...
- java培训班学习该怎么做才能快速入门呢
java开发一直是编程开发行业的常青树.近年来,也有越来越多的小伙伴选择学习java开发,学习java开发的途径无非就是自学和参加java培训.对于零基础的小伙伴来说,java培训是一个比较不错的选择 ...
- 为什么公司不愿意要Java培训班学员
我们经常听到某某招聘企业比较排斥从Java培训机构出来的学员,后来小编了解情况会后他们并不是排斥Java培训机构出来的学员而是他们认为从Java培训机构出来的学员实践能力比较差,工资并不低这是其中的原 ...
- 新手初学者怎样才能学好Java?
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥 ...
- 零基础参加Java培训班合适吗
零基础参加Java培训班合适吗?对于这个问题,首先答案是肯定的,零基础学习java技术最靠谱最快速的方法就是报java培训班进行学习了,来看看下面的详细介绍就知道了. 零基础参加Java培训班合适吗? ...
- java培训班如何选择
想要进军互联网行业,大多数人的选择都是java技术,java技术在互联网行业是非常稳定的,那么学习java技术的话,java培训班如何选择呢?来看看下面的详细介绍. java培训班如何选择?主要参考以 ...
- 学java是不是必须要参加java培训班?
学java是不是必须要参加java培训班?java技术对于零基础的同学来说学习起来是比较困难的,所以对于这个问题,小编的回答是当然要参加java培训班进行系统学习,下面来看看到底有没有必要报班学习? ...
- 学java为什么要报java培训班?
学java为什么要报java培训班?对于没有基础的小白来说,选择报java培训班是最合适不过的,自学是没有任何规划的,学到的技术都是模棱两可,工作入职后是存在很大风险的,具体的来看看下面的详细介绍吧. ...
- 学java_北京Java培训班好吗?去哪儿学
Java一直是行业中热门的存在,据统计,我国软件开发人才的缺口已达到100万左右,需求量占比全部软件开发人才的60%左右,Java开发的薪资待遇也是相当诱人的,有一年左右软件开发经验的工程师已经可以以 ...
最新文章
- FPGA之道(28)VHDL的并行语句
- Opencv获取导入DNN模型的各层信息
- matlab中textread 函数
- coreboot学习4:启动流程跟踪之romstage阶段
- 计算机乘积函数讲解,计算机函数算法7
- python template engine
- EXSi5.5安装篇
- python后台架构Django教程——admin管理员站点
- 懂,你的App生,不懂,死!
- html文档树形结构图
- centos7系统下postgresql12离线安装
- Raki的读paper小记:WaveTransformer: A Novel Architecture for Audio Captioning
- React新手入门学习
- 英特尔DSA-加速DPDK Vhost
- PPT中图表不同粘贴方式的区别
- yolov7基于python 的onnx推理
- 基于51单片机的AD转换设计
- 职称计算机考科目代码表,职称计算机考试科目
- nginx 离线安装
- 反思与总结-10月与11月半