在本文的开篇,本人想说句正确的废话,应届生程序员要过面试,不能单靠自我介绍,也不能单靠背题,事实上应届生准备面试得综合地从简历、项目、技术和背面试题方面做准备。

由于本人是做Java方面的,所以本人就将从上述诸多方面综合讲下,应届生朋友该如何过面试,其中的操作要点有两个,一是要在简历和面试中,向面试官证明自己有足够的商业项目经验,商业项目经验可以理解成实习经验,二是要结合项目讲清楚自己熟悉的技术,这样才能证明自己的技术是来自实践,而不是只会理论。

先说下不少应届生在找Java工作时的一些认知误区以及实际情况。

1 不是谁技术好,谁实习经验长,谁背的面试题多,谁就能找到好工作。事实上,Java应届生应当在简历上写清楚尽量多的java商业项目经验,这样的简历才会得到更多的面试机会。在这个基础上,还要在面试中证明自己足量的商业项目经验以及掌握必要的技术,这样就能更好地找到工作。

2 虽然说,校招java程序员时,未必要求应届生有java真实的项目经验,事实上大多数的应届生在投简历和面试阶段,都只能证明自己的学习项目经验,但如果应届生求职者能证明自己的商业项目经验,一定能产生代差优势。

3 这点其实说得有些悲观,java应届生,如果学历是本科,学校是一本,刚毕业就进大厂的机会就能多些。如果学校是二本,那么进大厂不是说没可能,但可能性会大大降低。至于大专应届生,找工作的目标一般是仅限于小公司。

4 不少应届生朋友会在简历上,通过学校的课程,学习成绩,毕业设计项目或自学阶段的项目来证明自己的实力,但是面试官,尤其是好公司的面试官,在挑简历时首先看学校是不是一本,然后再看商业项目经验。

所以可以这样说,如果学校一般,甚至学历是大专,如果只简历上写熟悉的技术,以及学过的课程,不展现商业项目的实习能力,简历过筛选这得靠运气,过面试也得靠海投。而不少211,985院校的java应届生,可能单靠学校和学历,就能超越不少一般学校的求职者。

在下文里,本人不想罗列一些Java面试八股文,因为这些哪怕背熟了意义也不大,就会从简历和面试这两个方面,讲讲java应届生的求职技巧。甚至,如果临近毕业,自己java技能感觉不熟,本人还给出了在短时间内弥补技能和面试说辞的技巧。

先说下,Java应届生找工作的两个要点是,第一能证明自己有半年(甚至更长)的实习经验,第二能证明自己至少能用spring boot开发项目。

如果当下感觉自己spring boot技术不熟,千万别直接背八股文,也别轻易去github上去下载一个java项目来跑,更也别贸然去报个班,而是可以直接通过自学,先学会spring boot+数据库做增删改查业务的技能。这块要达到什么样的效果呢?

1 能建立一个spring boot项目,数据库可以用mysql,但其中建一个表就行。在spring boot项目里,需要写控制器层,service层和repo层代码,实现用spring boot框架实现增删改查的操作,当然在其中包含的必要的技术,比如注解或java语法,这些得掌握。

2 java核心语法层面,别系统学,就针对spring boot做增删改查业务的点,用到什么学什么。比如用到了集合,异常处理或类,基本上就遇到什么学什么。这好比是通过看英文文章来熟悉常用单词,这比单纯系统背单词,效果要好太多。

3 别全面去学分布式组件或spring cloud微服务技术,当然这块如果掌握最好,如果当下不掌握,在校阶段去学这些比较值钱的技术,未必能学好,而且在面试中也未必能证明自己在项目里用过。

其实上文给出的学习要求是比较低的,可能会有不少应届生朋友质疑,学太简单了未必能找到工会作。但本人更想说的是,第一,在项目里会用技术和在面试中证明自己会用技术,这是两回事,后者的难度是远小于前者的。第二,应届生在学习阶段,由于没有接触到真实项目,所以真会做太多的无用功。同时,结合下文的描述,大家能看到,其实学到上述这个程度,真能去找工作。

下面再说下应届生该如何写简历,其中的要点刚已经说了,尽量写上足够多的商业项目经验。这里需要额外说下,如果在简历中写课程成绩之类的,这其实很虚,如果写学习项目或毕业设计项目,这块意义也不大,但如果有编程方面的获奖经验或其它加分项,这倒可以写上。

商业项目是指,真正在实习公司里做过的项目,或者是用于挣钱的项目。其中包含的关键要素是公司或挣钱。商业项目该怎么写?

1 写上时间范围,这个项目所在的公司,以及项目名称,如果不是在公司里做的,写上能证明是商业项目的文字。同时写一些你做过的业务模块。

比如是,2022年2月到2022年10月,在上海xx公司实习,做了报销管理系统。本人做的是业务报销和信息录入模块。

再如,2022年2月到2022年10月,本人是帮教研室老师做了一个政府信息管理系统,这个项目是来自xx渠道,这个项目是挣钱的,本人拿到了xx收益。本人做的是信息录入和关键字查询等模块。

2 写用到的技术,技术不求多,因为不是靠技术来证明项目是商业项目。

比如是,用到了spring boot,jpa,mysql,logback,redis等。

3 这点很关键,要写些商业项目区别于学习项目的点,这些点最好还是你参与过或你知道。

比如是,这个项目里,本人是用junit做测试,用logback写日志,用jenkins部署,参与过部署到linux上的工作,同时本人还看过线上日志,排查过业务问题。

如果这个项目是能看得到摸得着的项目,比如是web项目或app项目,直接写到简历上,如果不是,那么可以写,这是个公司内部项目,对方客户已经上线。注意,商业项目会上线,学习项目一般没这个过程。

4 如果有分布式微服务方面的亮点可以加上,但应届生如果写明了商业项目,哪怕只用到spring boot增删改查技术,这比学习项目要强太多。

比如可以写,这个项目里,本人用到了redis做缓存,用kafka做消息中间件,解决过JVM问题。

从上文的描述里大家能看到,在简历中是通过多个方面来证明这是商业项目,但是别扩展写功能,别把简历这部分的项目描述写成是项目使用说明书,因为面试官不关心这个。

有些话本人不想说得太直接,不过,在面试中通过真实项目说出来的spring boot增删改查技术,其实效果和上文提到的,spring boot+单表的增删改查技术,其实两者是差不多的。求职者一方面需要说明其中包含的spring boot的处理流程,无非是从控制器到service到repo再到数据表,另一方面求职需要说明其中包含的注解。

至于前端技术,比如vue.js或android框架,当然熟悉最好,不熟悉的话,应届生面试时就一句话,“本人在这个项目里只做后端”,这就可以了,因为能有商业后端项目经验的应届生真不多。

简历上如果包含半年等的商业项目经验,其实真能争取到不少面试机会了,下面再说说应届生朋友该如何准备Java面试。

应届生朋友应该是通过介绍项目,来证明商业项目的真实性。由于商业项目是用于挣钱的,而且商业项目正是因为要从客户那边收钱,所以其在确定需求,开发,测试,部署和问题排查等方面,和学习项目存在很大的差异。Java应届生朋友,不仅应该从技术层面,更应该从项目开发的诸多细节,来证明自己做过商业项目。

先可以说下真实项目的敏捷开发流程和常用的项目管理工具。

学习项目一般是从零跑通一个项目,只要能从前端发请求看到预期的效果,这个项目就算成了,但真实的项目一般会采用敏捷开发模式,哪怕是有些公司的田园敏捷开发模式,一般也是采用“迭代”开发的流程。

比如一个项目从开始做,到真实完成,假设需要半年,包含大概50个功能点,那么就会把这些功能点,均摊到6个开发周期,每个周期大概是一个月,这样每个月发布一次,把本月需要完成的功能点和本月修改掉的bug一起发布上线。

具体的,比如一个月有4周,会在第一周的前半周,和产品方或客户方谈好需求,一般这是项目经理主导做的,谈好以后分配任务给诸多程序员,分配任务时一般用jira来记录,当然如果发现bug了,也会用jira来记录bug。

开发前,一般会基于git的主分支(master或dev或current)上创建一个新分支,比如202210dev分支,诸多程序员在这个分支上开发,然后约定个开发结束时间,这样到了这个月的第三周结束后,这个开发分支上就包含了本次发布所需要的的代码,然后这个发布版本就会冻结住,冻结的意思是,发布的版本需要稳定,不能随便再向里面提交并合并代码,在此基础上测试人员就开始测试。

一旦测试人员测出问题,项目经理会做个评估,如果不影响本次发布,就会在下个周期里修改掉,如果影响很大,那么需要走“解封”流程,解开本次已经冻结住的git分支,修改后再冻结住。

这样到了本次迭代周期的发布日,一般是业务量比较少的时间点,比如周末凌晨,运维人员会把从git上拉下待发布的分支,用maven或各种工具打成jar包,然后通过jenkins工具,或干脆手动复制粘贴,放到linux环境上,再用java -jar命令启动,启动后开发和测试人员发现没问题后,本次发布就算成功,然后再开始下个为期一个月的开发周期,这样一直到本项目全部完成。

所以求职者如果要证明自己的项目是真实项目,可以从如下若干个角度来准备说辞。

1 我们项目是用敏捷开发模式,然后大致叙述下开发周期,同时加一句,我们项目组,会每天开会讨论进度,如果有阻塞性的问题,或者技术问题,得赶紧提出来。

2 我们项目组用到了git和maven来管理代码和依赖包,同时看些git拉分支,合并代码和处理冲突的细节,也可以看下用maven打包以及创建公司私有仓库的做法。

3 我们项目是用jira来管理任务和bug,真实项目一般都用jira,所以哪怕是零基础的,jira未必要搭建,未必要实践,但需要了解下通过jira创建任务和创建bug的细节。

4 我接到开发任务后,一定会在开发分支,比如202210dev分支,在此基础上再创建一个我自己用的任务分支,比如202210dev001,其中001是任务号,在此分支上开发功能点。开发好以后,我会用junit写单元测试案例,也会用postman发请求,这个属于程序员自己要做的测试,当测试通过后,再提交到202210dev001分支上。

5 这里请注意,得说下代码review。我在202210dev001分支上的代码,得合并到202210dev这个发布分支,合并前,项目经理会指定其它开发者review我的代码,如果有功能或代码规范的问题,我会修改掉。测试人员如果发现我做的模块有功能问题后,会给我开个bug,一般也是用jira开,我会修,当然我把修改掉bug后的代码合并到发布分支前,依然需要经过code review这个过程。

6 我自己做好我的业务模块后,会用junit写测试案例,如果junit不熟悉可以不说,但一定要说用postman发请求测试。在版本发布的时候,我会留守在公司,遇到问题我会排查和解决。

应注意,上述提到的技术要点,哪怕对于零基础的应届生朋友,绝不是高不可攀,而是能通过一些简单的项目实践能掌握。

在商业项目里,开发者未必是全栈都做,而是只做后端开发,而且后端开发一定要加入很多细节。

在不少应届生朋友做的学习项目里,开发者其实是全包的,从前端到后端spring boot,再到建数据表,这些工作都要做。但在真实项目中,如果你的职责是后端代码,那么其实是无需关注前端的。

而且在项目组里,你其实真未必是从零开始做。比如你入职被分配到一个财务系统里,这个系统一定是开发到一定程度了, 所以你其实是无需参与表设计的工作,也无需参与搭建前端后端框架的事。你的事情其实就是用spring boot开发业务,在上文的基础上,你还可以用如下的说辞证明你做的是商业项目,而不是学习项目。

1 我只负责用后端开发,即用spring boot开发控制器,service和repo层,我这个接口是用@requestmapping来匹配前端请求,前端是html页面。

2 我开发的api需要用swagger来展示接口,swagger其实不难,大家可以看下。在我开发的api里,要用logback写日志,以便排查线上问题。对应的,我每开发好一个接口后,要用junit来写单元测试案例,这里强烈建议大家学下junit,这不难,而且了解一下其中mock数据的动作。

3 我们的环境分测试环境和生产环境,其中生产环境就是对外提供服务的,但我们的代码开发好以后,会部署到测试环境,测试环境也是linux。一般学习项目甚至只在windows上开发,但真实项目一般分测试和生产两个环境。

4 我开发的时候,如果需要其它组提供接口,比如支付系统里要调用对账模块的api,那么我会和其它组的人沟通,对应地,对方组开发好以后,会用swagger来展示接口。这里你可以展示在项目开发中必不可少的沟通技能,相比之下在学习项目,一定没这个流程。

上述说辞对应届生朋友来说绝非难点,但是很多应届生是忽视的,所以如果应届生朋友用些时间学习并练习一下说辞,绝对能很好地证明自己做过商业项目。

在真实项目里,一定会遇到线上问题,你可以说下排查分析线上问题的细节。

这块大家可以说,告警信息后,可以通过vi命令,去观察linux上的系统日志,或者甚至可以直接从linux上把代码拉到windows,再用记事本来打开。应届生朋友一般不会处理太难的问题,所以可以说解决过因参数不对导致的问题。

比如是业务问题,是参数不对,那么能根据日志上的告警信息,定位到具体的类和代码行,然后解决。再如,在日志里看到是空指针,然后也是定位到具体的类和具体的行,然后解决。

如果应届生能通过准备日志方面的说辞,证明自己排查过线上问题,那么也能很好地证明自己的商业项目经验。

在准备好上述商业项目的说辞后,应届生朋友背些java八股文倒也不是不可以,不过一方面,java八股文资料太多,另一方面,如果在说好项目和相关的技术后,有些面试官问的八股文就会简单很多。所以这块八股文方面,本人不做展开。

所以应届生朋友在找工作时,绝对应该是方法得到,即优先展示商业项目经验。事实上,本人最近一直在帮一些应届生朋友做入职辅导,用的就是上述的一些经验。

再说应届生薪资这个话题,其实应该这样说,应届生朋友如果能找到java工作,那么就能拿到当地比较普遍的薪资,这看似是正确的废话,但更可以这样理解。

1 比如在上海,22年对java应届生的行情是8k到12k左右,所以本科应届生不论Java技术掌握怎么样,只要能过Java面试,就能拿到这个薪资。

2 但如果应届生Java能力一般,无法过面试,那么哪怕是降价要5k薪资,对方公司也不会录用。

3 还是这句话,java应届生能拿多少薪资,和本身所掌握的java技术关系不大,是由学校,学历,能证明出的java真实项目的时长以及面试时能展示的java技能决定的,说穿了一方面看学校,另一方面看面试。所以不少应届生朋友希望通过多学技术从而拿到高薪,这不大现实,毕竟学技术是一方面,展示真实项目经验是另一方面,而面试的表现则再是一个方面。

4 应届生朋友如果只背八股文,只去看技术,不去准备面试技巧,哪怕找到工作,薪资估计也会被低估,甚至还很难找到工作。

回到主题上,讲讲应届java程序员该如何在面试中做自我介绍。做自我介绍一定要有素材,即项目经验和spring boot等的技术,否则说得再好也没用。通过上文给出的方法,如果大家已经有真实的实习经验,那么能根据上文的说辞更好地整理自我介绍的说辞,如果大家当下没真实项目经验,哪怕通过熟悉spring boot+熟悉真实项目的流程,再此基础上准备自我介绍说辞问题也不大。

最后给出些应届生做自我介绍的公式化文字,大家可以分若干个层次依次有条理地说明。

1 先亮出自己的信息和亮点。

本人叫xxx,xx学校xx系毕业,当下有半年(或其它时间长度)的java项目经验,是在xx公司做的实习,或者是跟着教研室老师做了半年时间的java项目。

2 说下自己做的项目,以及其中用到的技术。

我做的是xx仓库管理系统,其中做了出入库管理,物流信息管理和人员管理等模块,本人用的是spring boot + jpa做增删改查,此外还用到了logback和redis或其它(自己实现准备)技术。

3 再重点说下这个项目区分于学习项目的要点。

在这个项目里,用到了maven和git等工作管理项目,本人用了junit和postman做测试,本人还有通过看日志排查线上问题的经验。

4 如果有亮点再抛出。

比如在这个项目里,本人有用过索引,排查过jvm问题,用过spring cloud组件,这样能为后面的面试做进一步的铺垫。

其实这样真就行了,但事实上,本人在做校招时,不少求职者在自我介绍时会说一大堆和求职无关的事,比如兴趣爱好,校园经历等,这些说再说也没用,说再出彩也无法帮到自己成功应聘。但是,如果大家按本文给出的步骤,先通过少量的时间熟悉必要的spring boot等技能,再通过必要的准备,展示商业项目经验和技术,并在此基础上准备面试说辞,那一定能高效找到工作。

应届毕业生程序员在面试时如何做好自我介绍?相关推荐

  1. 面试时不懂得自我介绍的人,最后都被PASS掉了

    做硬件维护的阿润最近后悔得直跳脚. 在被公司赔偿清退后,他直接开启了HIGH玩模式,原计划先玩2个月再做面试准备,结果冷不丁接到心仪公司的面试邀约. 因为时间紧.邀约急,在没做好充分准备的前提下,他连 ...

  2. 面试时如何做自我介绍

    Q: 面试之前需要做哪些准备?面试时如何做自我介绍? 开复: 面试之前需要准备的知识包括: 1.关于专业:去面试前先到网上查找一些专业未来发展的信息,例如麦肯锡的报告等: 2.关于公司:为了表示对所应 ...

  3. 程序员:面试时,我特么都不敢说我是写公众号的

    loonggg 读完需要 3分钟 速读仅需1分钟 最近不知道怎么了?特别怀念博客时代,也特别想写博客了. 随着移动互联网的到来,自媒体的兴起,自媒体平台的兴起,好像一夜之间改变了写作阵地.以前传统的技 ...

  4. 大数据面试3分钟自我介绍_面试时三分钟自我介绍,需要注意哪些问题?

    "面试20分钟,开头占大头."一个好的自我介绍真真真真的太太太重要了! 作为一个从业近10年的hr,在面试当中,如果应聘者给我们的第一印象很好,大方得体,他入选的概率就要大很多. ...

  5. ]一周热文推荐:致应届毕业生——程序员的生存法则

    [1] 念茜:程序员的生存法则 行业不同,工作性质不同,生存法则一细化,自然也就千差万别了.我是程序员,我就说说我眼中的程序员生存法则. 摆正心态--技术面前,无年龄大小,无身份地位,无男尊女卑.不耻 ...

  6. 程序员在面试时,如何回答未来规划方面的问题

    在面试中,候选人很有可能被问及未来的规划,比如3年规划和5年规划. 在被问及此类问题时,大家首先要了解面试官问这个问题的动机,在此基础上,大家就能说出面试官想听的话,至于是不是这样?五年后的事情,你不 ...

  7. 应届毕业生程序员的工资水平怎么样?聊聊程序员是不是高薪职业

    我想跟大家探讨一下程序员的工资水平,尤其是对于应届毕业生来说.很多人认为程序员是一个高薪职业,但实际上并不是所有的程序员都能拿到高薪,而且要达到高薪也需要有一定的条件. 首先,让我们来看看一线大厂,他 ...

  8. python面试自我介绍怎么介绍比较好_面试时三分钟自我介绍,需要注意哪些问题?...

    万事开头难,许多面试的开场问题就是"能否请你做一下自我介绍".在一场为时十几分钟乃至几十分钟的面试里,留给应聘者做自我介绍的时间一般也只有3分钟左右.在如此短的时间内,要如何&qu ...

  9. 软件测试面试时英文的自我介绍范文,软件测试工程师面试英文自我介绍

    <软件测试工程师面试英文自我介绍>由会员分享,可在线阅读,更多相关<软件测试工程师面试英文自我介绍(7页珍藏版)>请在人人文库网上搜索. 1.软件测试工程师面试英文自我介绍 软 ...

最新文章

  1. 数据库SQL2000连接测试
  2. 如何获取NumPy数组中N个最大值的索引?
  3. 阿里妈妈基于TensorFlow做了哪些深度优化?TensorFlowRS架构解析
  4. 计算机模拟数学实验动画,计算机图形学实验-简单动画的实现、三维图形变换.docx...
  5. mysql 时间段在不在另外的时间段中_你知道自来水一天中哪个时间段最脏、最具毒性吗?记住这几点避开致命自来水...
  6. Web Application Security 网络应用程序安全 - (二)2010年网络安全威胁排行榜TOP 10...
  7. c语言到底写什么系统,用C语言写关于操作系统的一个问题。
  8. 如何合理命名你的代码
  9. ajax请求到参数太大获取参数失败问题,Ajax请求参数较长导致请求失败
  10. 单机类似节奏大师游戏源码项目
  11. Mac电脑「空格键」的妙用,原来有这么多功能
  12. Android 属性动画简单分析(一)
  13. 楼天成 中国大学生编程第一人
  14. 【第86期】CPU 空闲时在干嘛?
  15. 9行代码制作一个简单的油猴插件
  16. android sqlite回滾,SQLIte这么娇小可爱,不多了解点都不行啊
  17. 计算机室内设计绘图,室内设计中手绘和电脑制图的比较
  18. linux opessl下载_linux安装openssl
  19. StopWatch计时器
  20. 无变压器的最简单开关稳压电源

热门文章

  1. tkmbatis 日志_springboot+maven+tk.mybatis+generator逆向工程
  2. Java工程师就业前景及薪资水平
  3. 使用Java对中文首字母进行排序
  4. 仿微信 发起群聊 类似样式
  5. GQ1b(NH4+盐)说明书
  6. java 如何判断对象内的某个属性是空
  7. antd modal 拖动_Antd Modal 实现拖动功能
  8. vCenter 6.7升级到7.0
  9. wow服务器维护8月14,8月14日服务器例行维护公告(已完成)
  10. http://blog.csdn.net/maomi01/archive/2005/11/21/533969.aspx