如何判断一个JAVA开发人员是否是包装的项目经验?

我在面试Java求职者的时候,需要确认求职者是否是培训班学员。倒不是说个人或公司对培训班学员有偏见,而是职责使然。

1 比如这个岗位是需要有3年Java开发经验的,但求职者实际上是培训班出来,零项目经验,那么工作年限的要求就对不上。

2 招进来的Java开发如果是培训班出来,顶了天是只会Spring Boot等技术的增删改查,不具备项目开发中常见的测试,部署以及排查解决问题的经验,所以未必能满足实际项目开发的需求。

3 但是如果某岗位要求比较低,比如半年甚至更少的Java经验也能录用,培训班学员应聘的是需要3年开发的岗位,那么我会在确认培训班学员身份的前提下,和他们协商,如果他们愿意去应聘此类要求比较低同时薪资也比较低的岗位,我会按较低标准面试。此时只要求职者能达到Java要求,一般也能录用,录用的原因依然不是培训班因素,而是求职者达到了这个职位的需求。

但是大多数Java培训班学员,在简历上不会写培训班经历,因为这样写大概率没面试机会,也不会在面试中暴露培训班经历,所以在面试过程中甄别培训班经历,是面试官必须要做的事,否则培训班学员入职超出自己能力的职位后,不仅项目组会来抱怨,领导更会质疑面试官的能力。

本人写过篇高赞的文章,就讲述Java面试官如何甄别培训班学员,同样的话这里不想再重复。

HR如何筛选出适合自己公司的程序员? - 知乎我不是hr,我大概做了9年左右技术面试官,主要是面java的,就以这个身份说说如何筛选各种培训班的学员。…icon-default.png?t=N7T8https://www.zhihu.com/question/469041952/answer/2238419642

本文里就将通过具体的例子,讲讲培训班学员在面试中暴露身份的一些回答。大家可以把这些内容理解成面试官识别培训班学员的方法,当然也可以理解成培训班学员在面试中改进话术的做法。

先说下介绍项目情况方面的一些例子。

1 有学员说用了半年时间做了一个电商(或物流或财会)等大型项目。

这些项目不可能是半年做出来的,而且这些求职者当时所在的公司是小公司,小公司是不会从零开始开发这些大型项目的。

2 我就问最近一个项目是在哪家公司做的?这家公司有没有给你缴纳社保。

大多数培训班学员说不清楚最近项目所在公司,而且这个公司总有理由没有给他们缴纳社保。

3 我问,你们项目用什么测试工具?用什么管理项目进度的工具?是怎么打包部署发布的?或者说是怎么让项目运行起来的?

培训班学员基本上都不做测试,或者是通过url发请求的方式测试。基本上不用jira等项目管理工具,也不知道项目打包部署的流程,所谓让项目运行起来,就直接在windows的IDEA工具里启动spring boot项目,然后接收请求。至于jenkins,基本很少有学员用过,而且大多数培训班学员甚至不知道spring boot其实是要部署到Linux上运行的。

这里我一般会再问细一些,怎么用maven等工具打包,怎么用git管理项目,比如拉分支提交代码或者你们公司是否有Maven私有仓库,很多培训班学员对此甚至没听说过。

4 我就问,你在开发项目时遇到哪些业务和功能上的问题?

真实有项目经验的求职者,多少会说些功能方面的问题,比如参数没对,对方服务不通,很多培训班学员对此是答不上的。

此时我会继续提问,大多数项目是为了排查线上问题,一般会引入日志,你们项目是怎么输出日志的?如何区分日志信息的级别?

真有不少培训班学员告诉我,是用system.out.println输出日志,至于logback日志组件,没听说说,日志级别,比如warn,error或info,也没听说过。

5 我知道有些公司的hr,会定义收集各培训班所用的项目,而面试官在甄别出培训班学员后,也会向本公司其他面试官分享这位学员在简历上写的项目案例,我之前的公司就这样干过。

所以每到培训班学员的毕业季,我总会看到一些很相似的简历,从项目名称,到用到的技术,和个人所做的模块基本都差不多。而且一些比较有经验的面试官,还能根据简历上写的项目,大致推断出这位求职者是来自哪个培训班。

对于此类简历,当然也也不是武断地直接拒绝,一般是先电话面试,单刀直入问,你是不是xx培训班出来的?如果你自己承认,我们有更合适你的岗位,但薪资比较低,你要不要试试?话说到这个份上,对方一般就认了,当然如果技术到位,所换到面试岗位也能面试成。

再说下从技术上暴露出培训班学员身份的一些例子。

1 说不出一些技术的使用必要性,这是个普遍问题。

大多数培训班学员会在培训项目里加入亮点,比如用到分布式锁分布式事务,或者索引,或者缓存。我就问为什么要用这些技术?结合一个场景告诉我怎么用?

这方面我听到的回答是五花八门,比如数据量才几千的表要建索引,并发量才几百的项目要用缓存和分布式锁,甚至数据库就用一个mysql,且单机部署,这种情况下还要用分布式事务。

至于结合业务说这些技术?基本 一问一个倒。甚至有学员准备的分布式锁的使用场景,和面试时说的项目对不上。

2 有些技术在项目里是用不上的,或者有现成的组件或解决案例,但培训班学员真在项目里用过。

比如解决分布式事务,一般会用seata等组件,但真有学员告诉我,他们项目里真是根据两阶段提交协议自己写过一套分布式事务,问题是,还说不清这个分布式事务的使用场景。

再如高并发下,分库是有现成的组件, 比如mycat,但真有学员告诉我,他们自己根据请求的id,自己就做了一套分库方案,而且这个项目所在的公司,规模还很小。

3 有些技术,只要用过,就一定知道细节。

比如用了redis缓存,基本上都应该知道缓存穿透和超时时间,但有不少公司一般不会做持久化。我面试过的一些学员,基本上不知道上述redis要点,但真有人做过redis持久化,同时说不出为什么要用持久化。

培训班学员,或者包装项目的求职者,数据库层面一定是短板。

我看过不少培训班的课程表,里面讲数据库相关的,一般是jdbc,外带JPA等orm组件,顶多再讲些基本的sql语句,所以培训班学员在数据库层面的技能,顶多就是spring boot+JPA获取数据库。

比如我就去问表的构建方式,大多数学员回答的是三范式,一些能力强的学员还能告诉我三范式的优势。但有些学员简历上写的项目,数据量不少,这种情况应该更适用反范式

再如我去问,你有没有参与过数据表的设计?

如果程序员是中途加入的,而且级别比较低,一般是不会参与表设计的,顶多就是根据些需求,在表里加个字段或建个索引什么的。但真有人告诉我,在这个项目里,是参与了全部的表设计,而且还是用三范式设计的。

如果我去问一些数据库层面比较深入但很常见的用法,比如左连接,表关联或者是索引,培训班学员基本上都答不上。至于我如果问,数据库优化方式,很多培训班学员都没做过这些,或者面试前都没准备,所以基本未必能说得上。

这里做个总结,怎么识别Java培训班学员呢?

1 简历上项目大而全的,而且项目周期不符常理。

2 无法通过项目细节证明项目的真实性。

3 项目里用到技术的方式和常理不符,或数据库层面的用法和常理不符。

4 其实如果培训班学员真的能证明项目的真实性,而且还能讲清楚项目里关键技术的用法,面试官是无法通过八股文来识别培训班学员的。

以上是站在面试官的角度来说明,不过面试官或者说一些公司的负责人,和培训班学员往日无怨近日无仇,所以也不会刻意为难培训班学员。上文也说了,对于一些不大需要项目经验的职位,而学员能力可以,本人或者项目组同样会给予入职机会。

最后本人也忍不住吐槽,培训班的就业辅导老师,其本职工作是让更多的培训班学员就业,所以更应当从简历和面试角度给予学员足量的帮助。

但从本人面试官的经验来看,有些辅导班的就业培训老师未必称职,把他们说成面试官的卧底也不为过,因为他们还真不会纠正学员一些常见的问题,甚至有些方面还起到了误导的效果,具体的内容本人写在如下的文章里了。

我发现不少培训班的就业辅导老师,简直是面试官的卧底——再论培训班学员的就业方式(java方向) - 知乎我最近在帮一些朋友做java方面的就业辅导,其中有些朋友是经过培训班加持后入行java的。由于我本人做过一些大厂和外企的java技术面试官,我发现其中一些朋友的简历甚至根本没法通过小公司的筛选,而且不少培训班学…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/482933524顺带发个咨询,如果大家想了解Java简历和面试方面的事情,可通过如下的链接向本人发起咨询。

老胡聊Java 的付费咨询icon-default.png?t=N7T8https://www.zhihu.com/consult/people/1175026928632860672/conversation?zh_forcehybrid=1&zh_hide_nav_bar=true&zh_hide_tab_bar=true&route_simi_to_full=true

  • 31
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在对Java项目经验进行包装时,可以从以下几个方面进行描述和突出: 1. 项目规模和复杂度:说明所参与的Java项目的规模和复杂度,例如项目涉及的功能模块数量、涉及到的技术栈、项目持续时间等。这可以展示出对不同规模和复杂度的项目有经验,能够胜任各种类型的Java项目。 2. 技术实现和应用:详细描述在Java项目中使用的技术和工具。例如使用了哪些Java框架和库,是否实现了某些特定的功能或者遇到了技术挑战,并对如何解决这些问题提供具体的例子和方案。这可以体现出对Java开发中常用技术的熟练掌握和实际应用能力。 3. 团队合作和沟通:说明在项目中担任的角色并描述与团队成员之间的合作和沟通方式。例如在项目中负责了哪些具体的工作任务,是否与其他开发人员、测试人员和产品经理之间进行过协调和沟通等。这可以展示自己在团队协作中的能力和良好的沟通技巧。 4. 项目成果和贡献:强调在Java项目中所取得的成果和贡献。例如通过对项目进行性能优化、代码重构或者功能增强,提高了系统的稳定性和用户体验。也可以描述在项目中所发现的问题并提供解决方案。这可以证明自己能够在Java开发中对项目进行贡献和创新。 5. 自我学习和提升:说明在项目中遇到的技术难题,如何通过专业书籍、技术博客、论坛等渠道进行学习和实践,提高自己的技术能力。也可以描述参加过的培训和研讨以及自己主动学习和研究新技术的习惯。这可以体现出自己对个人能力的不断提升和追求更高水平的态度。 总结起来,对Java项目经验包装需要突出项目的规模和复杂度、技术实现和应用、团队合作和沟通、项目成果和贡献以及自我学习和提升等方面的经验。同时,要注重具体的例子和实际操作,以及彰显自身的能力和成就。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hsm_computer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值