面试了一个 39 岁程序员,我有点慌……

本文非广告,也非标题党,栈长最近的亲身面试经历。java

招人背景

首先说下公司招人的背景吧,公司要招的是一个研发经理的岗位,负责管理技术团队的各个项目组,领导只给了我两个要求:程序员

1)技术能够面试

2)管理有一套spring

说白了,这是一个技术+管理的岗位,不是纯粹的管理岗,能写代码,技术上过得去是前提,因此底层还得是个程序员。微信

干咱们这行的都懂,大厂都在清理 35 岁以上的基础岗,若是到了这个年纪还混不到中高层管理岗位,基础岗确实不太好找了。架构

如今的年轻人很厉害,很年轻就走上了管理层,因此我很庆幸公司在年龄上没有卡人,给了不少 35+ 的程序员简历供我筛选,由于我也是程序员,因此我也不会在年龄上有所顾虑。intellij-idea

因此,确实就和标题写的那样,这两天我就面试了一个 39 岁程序员,全程让我都感受有点慌……框架

为何慌?主要是由于年龄比我大很多,技术是否是很牛逼,会不会吊打我,狠狠地虐我?我真心怕 hold 不住。分布式

但实际面试下来,场面一度尴尬,结局让我感受有点唏嘘。ide

面试过程

面试者 15 年工做经验,简历却只有 2 页,能够说很是简练,从程序员到项目经理、研发经理、技术总监都干了个遍,Java/PHP/Python/C# 也都有涉及。

从交谈过程当中,他说是能够作技术+管理的,而后我说问一些技术上的问题,他说好。

栈长: 你有互联网分布式相关项目开发经历么?

面试者: 有啊,那个 XXX 项目就是

栈长: 好,我看到了,我看这个项目是用 Dubbo 框架作的,为何要用 Dubbo 呢?在大家整个项目里面 Dubbo 承担了什么角色?

面试者: 作服务治理,底层是 ZK…

而后他就一直在说和 ZK 的关系,我也没怎么听明白,我再怎么引导也没说清楚 Dubbo 在项目中承担什么角色。

栈长: 能介绍下服务与服务之间相互调用的时候,若是调用超时了是怎么处理的?

面试者: 超时啊,(想了几秒后)那应该是报错吧

栈长: 肯定是报错吗?(他想了想,不说话,而后我接着说)没有重试机制吗?重试机制是怎样的?

作过度布式的项目的都知道重试机制,至少读操做要支持重试,写操做支持重试的话被调用方还要支持幂等性,否则会形成重复写入。

面试者: (又想了想,笑着和我说)这个项目有点久了,这个不太记得了……

而后我看了下这个项目,2014 年作的,6 年前了,他说过久不记得了,那也情有可原了。

栈长: OK,你最近作的这个项目,能介绍下它的总体架构么?

面试者: 咱们用了 MQ,用了 Redis,用了……(他说了一堆,都没说到重点)

栈长: 我想问的是,从上到下,这些技术是怎么承接起来的,总体的系统架构是怎样的?(现场没纸笔,否则我都想让他画图了)

面试者: 呃……我知道你的意思,主要是我真的不知道怎么表达……(而后他不说话了,场面尴尬了)

栈长: 没事,问你一个设计性的问题,假若有一个接口,五个实现类,如今的需求可能要往接口加一个方法,这样就要改动五个实现类,但需求只须要改动其中两个实现类,要怎么设计才好?

面试者: 那就只能把方法写在两个实现类中……(想了半天也没有说出好的方案)

其实这里至少有两个方案:

1)能够再定义一个抽象类去实现这个接口,在抽象类中新增这个方法,而后其余两个实现类实现这个抽象类就行了。

2)使用 Java 8 中的新特性,在接口中新增默认方法或者静态方法,能够点击这里查看我三年前写的这篇文章。三年前写的比较粗,最近我又详细梳理了一篇,关注公众号Java技术栈第一时间推送。

因此,其实这里我一方面是考一下他的设计能力,另外一方面我是想了解下他对 JDK 新特性各方面知识的应用和掌握。

还有更多设计方案,我这里只列了两种,若是你有更多更好的想法,能够在下面参与讨论或者加我微信(ID:xiaobaito)进行交流。

栈长: 好的,没事,那你以为你擅长的技术或者框架有哪一些呢?

面试者: 擅长的啊……(半天没说出来一个)也没什么,就 Java 基础方面还能够吧!

栈长: Java 基础能够是吧,好吧,我问一些 Java 基础方面的问题吧。请问:Java 接口和抽象类的区别是什么?(其实就是上一题的答案)

面试者: 呃……(想了半天)好像是抽象类仍是接口里面能够写实现方法的吧(不肯定的回答)

栈长: 究竟是哪一个能够写实现方法呢?

面试者: (左右摇头,眼神飘浮不定,不说话了,场面再度陷入尴尬……)

栈长:(没办法,我要打破这个尴尬场面)你肯定是作过 Java 么,这都是很是基础的呀,感受你基础也不是很好啊!

面试者: 哎,来这家公司面试没作准备(一脸无奈)

栈长: 这样啊,那建议你仍是回去好好准备一下吧,由于咱们这个岗位是须要有必定技术能力的,因此,很是很差意思……

面试者: 好的,我明白。

为了避免浪费他的时间,我很是间接的告诉了他直接的结果了,说完而后他顺溜的拿着他的包从洽谈室出去了,头也没回。

结语

最后我把面试结论和领导说了,领导就说了一句:技术是提早。

第一次面试一个 39 岁的程序员,干了 15 年,若是还要面试作技术+管理岗位,这个面试状况确实不理想。也不知道他的真实经历是啥?或许真该清楚认识下本身的定位。

从刚开始面试的时候有点慌,直到如今写文章,我感受更慌了,日月如梭,我也快有这么一天了,若是作不到中高层,我也要去和年轻抢饭碗,没办法,这是现实。

年纪来了,我感受我本身写代码确实也写不太动了,人也变得愈来愈焦虑不安,能干吗去了?生意又不会作!

惟一能作的就是朝着自已指望的岗位或者目标不断努力,不断的提高本身的硬实力和基本功,越努力越幸运,只要这样才能面对日益焦虑不安的本身,迎接将来更多的机会。

如今的不少年轻人很厉害啊,年轻有为的很多,但有句话是怎么说的,大器晚成,为时不晚,这样的例子也数不胜数,我想信,只要坚持学习,提高本身,总会有成功的那天。

最后,若是你喜欢我写的面试系列的文章,也欢迎关注公众号Java技术栈回复 "面试" 阅读我写的往期面试系列文章。

本文只是表明我的观点,不必定符合全部人,但不喜勿喷。写这篇又干了两三小时,如觉有用,动动小手在看、转发一下,感谢各位老铁支持。

你们一块儿加油,共勉!

近期热文推荐:

1.Java 15 正式发布, 14 个新特性,刷新你的认知!!

2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

3.我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。

4.吊打 Tomcat ,Undertow 性能很炸!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

以为不错,别忘了随手点赞+转发哦!

相关文章
相关标签/搜索