Java面试官经验谈:如何甄别候选人真实的能力,候选人如何展示值钱技能

3 对于一些负面因素,一定要加上说明,比如你最近半年没工作,或最近跳槽太频繁,你可以给出客观理由,不是你主观上不稳定或能力差,是有其它客观因素,比如换城市发展,或者考研。

2 甄别项目经历的要点和发问方式

作为面试官,拿到简历后会通读其中的公司经历和项目介绍,以此来甄别真实的商业项目经验,哪些点比较可疑呢?

1 比如要招个Java开发,如果候选人有培训班经历,需要确认之前的经验是否和Java相关,一般情况下,候选人之前是没做Java,这样候选人的相关工作经历年限就达不到面试要求了。

2 小公司但做大项目,比如公司规模也就几十号人,但用半年做了一个电商系统,而且里面分布式技术都用全了,那么这种项目需要重点甄别。

3 简历上最近的项目描述,候选人一般比较上心,此外还要看一年前或两年前的项目描述,看其中的技术是否有矛盾,比如有候选人两年前用的技术和最近项目用的技术都一样,估计是复制粘贴的,这就露馅了。

上述甄别的目的是,确认相关技术或经历的年限,排查自编或学习的项目经历年限,比如公司给的工资是针对3年项目经验的,如果你用虚假经历来顶替,那么一方面不利于项目组,另一方面就不利于其它候选人。

这些疑点是需要在技术提问前确认好的,也就是说,如果疑点被确认属实,就说明候选人相关技术年限不达标,就没有继续面试的必要了,那么怎么确认?

如果本项目组或其它项目组需要初级开发,而候选人简历上确实有疑点,一般我会明说,你xx项目看上去像学习项目,你和我说实话,如果你告诉我这些项目是真实项目,那就我按高级开发的真实项目面了,如果你告诉我是学习项目,那么我就用初级开发的标准面(或让其它项目组的面试官面),可能初级开发的工资会少,但问题相对简单。这样大多数候选人会说实话,这样两厢方便。

如果没有初级开发岗,对于这些疑点项目,我会围绕如下的点来发问。

1 确认项目人数,项目周期和客户方,以及项目现在是否已经上线。对于编造或学习项目,一般项目都不会上线。

2 询问项目打包编译和部署的方式,一般的项目都用maven或gradle打包,或者用ant也算了,一般部署在linux上,出于可用性方面的考虑,会同时会部署在多台机器上。如果项目真实做过,候选人多少也能说出些,但如果是学习项目,那么回答就五花八门了,我甚至听说过部署在windows机器上的。

3 询问项目的管理方式,比如用什么工具来管理版本(比如git或svn等),代码review是怎么做的?用什么工具来管理bug(比如jira等),用什么工具画uml图,怎么做单元测试?(比如junit)开发代码时需要注意哪些规范。这些也是真实做过项目才能知道。

4 问你项目里怎么输出日志,你怎么通过日志来排查问题。一般上线后,日志都打在linux上,但如果是学习项目,则只能在windows上看日志了。

5 一般真实项目至少会配两套环境,一套测试用,一套上线用,而学习项目(甚至培训班项目)只会用一套。所以我也会对应地问,你项目是怎么搭建这两套环境,这两套环境里配置文件是怎么区分的?

通过上述方式我还真甄别出不少学习或虚假项目。其实我知道,上述甄别方式的作用有限,比如有候选人最近一个项目是真实的,但之前项目是自编的或学习项目,他完全可以用最近一个项目的说辞套在前一个项目里,这就需要用如下的甄别说辞的发问方式了。写到这里,我不敢庆幸,更不敢幸灾乐祸,只有叹息,职责使然,不敢拿公司的信任做人情。

3 值钱技术“嫁接”到真实项目上的甄别之道

其实在我之前的博文聊聊我当年在培训学校做开发的经历里已经提到,“半真半假”的项目经历最难甄别,这话怎么讲呢?

候选人的公司是真实的,项目也是真实的,但候选人用了这个真实的“壳”加入了虚假的技术。比如候选人在最近的项目里明明只做了最基本的增删改查,但结合项目背景和业务应用添加了从视频课里掌握的分布式组件、性能调优以及JVM调优的说辞。甚至可以这样说,有一部分程序员就在本身项目经验不足的情况下,靠这种技巧升级到资深开发或架构师。

作为面试官,当看到候选人在简历上有分布式之类的值钱经验时,就需要考核这些经验是真的从项目里积累的,还是只掌握了理论经验。如果候选人在简历中还有有“培训班”、“小公司”和“转行”之类的要素,更要重点考核,如下给出具体的甄别之道。

第一问技术的使用背景,比如分布式用在高并发,分库分表和数据库调优用在大批量数据,就请候选人告诉我,你的业务里,哪些点需要用到这些值钱技术。有些候选人值钱技术只是从网络教学视频上学的,没项目实践经验,这个一问就能问出来。

第二问技术的最基本的用法,比如Redis缓存,就问如何以Hash表方式读取数据,对于Dubbo,怎么设置超时时间,Kafka里怎么设置消息重发,这些问题不求难,只要是用过就一定能知道,但不少候选人如果连这个都说不上,后面我就不会再问了。

如果能回答好第二层问题,那么至少说明候选人用过,接下来会是第三层的问题,问项目里解决过哪些实际问题,再具体些,用到分布式等技术总是要解决高并发等问题,我就问,你项目的并发量是多少?为了应对这个并发量,你项目里用到哪些组件,这些组件是如何构成集群,如何部署在linux上的?

以Redis举例,根据上述三层提问的方式,我一般会问如下的问题。

1 你项目业务的并发量是多少?结合一个业务场景,告诉我,你们项目用到了哪些Redis数据结构?这是问技术的使用毕竟

2 你们项目里,Redis对象的缓存时间一般设多少?(一般项目都会设,否则对象会堆积在内存里,从而导致OOM)

3 你们Redis集群一般是怎么搭建的?(项目里,出于重用性考虑,一般都用集群,不会用单机版)

4 Redis持久化怎么做?消息通讯机制怎么做?如何压测?这些场景在项目里大概率能用到。

上述2到4点是问技术的用法,一般如果在项目里用过,多少会用到其中几个点,如果都说不上,那么可以说只会理论不会技术。

5 结合项目里遇到过的一个问题,你说下如何在项目里排查Redis方面的问题?具体来说,如何发现问题的?(无非是通过监控,通过日志,或者是用户投诉)如何分析问题的?(一般是看日志),然后如何定位和解决问题的。

对于其它组件,比如dubbo,mycat,netty,kafka等,也是采用类似的问法,第一问如何在项目里用,第二问细节,第三问如何排查解决问题。请注意在这阶段我不问底层代码,因为当前还是处于确认候选人技术的阶段,如果候选人过不了这关,只能说具备理论经验,这样通过看视频看资料准备的值钱技能基本就白费了。只有当能自证有项目经验,才有资格通过底层代码调优技能等细节来锦上添花。

4 候选人说出哪些点,才能证明值钱技术有项目经验(教你准备值钱技术的方法)

根据我的体会,如果真的达到资深开发或者架构师级别,面试时大多能靠实力过关,只要结合做过的项目和排查过的问题,稍微准备些技术细节即可,因为他们在面试中能展示自己的亮点太多了。而对于一些只会增删改查的初级开发,或者没分布式组件实践机会的程序员, 由于缺乏项目经验以及亮点说辞,这些人在挑战高一级的岗位以及大公司时,难度很大,有不少人就因此长时间停留在低级岗位或小公司,直到30岁和35岁来临。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

总结

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。

架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

image

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

712947134535)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-FBBTEmu6-1712947134536)]

  • 16
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值