面试了一个46岁Java程序员,思绪万千。。。

Posted king哥Java架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试了一个46岁Java程序员,思绪万千。。。相关的知识,希望对你有一定的参考价值。

最近一直忙于面试,人事推给了我一份简历,职位是算法工程师,年龄是 46 岁,我揉了揉眼睛后再看看,确实是 46 岁。抱着忐忑的心,我电话面试一番后,还是不觉得他和我们的团队很适合。

人都会有同理心,尤其是这么大岁数的程序员还是为了生计来找工作,心还是会隐隐触痛。

年龄是多数程序员的天敌,之前没有概念因为生活中样本较少,现在来了一个鲜明的例子,并且还需要自己亲手关闭一扇门,总会有一个世道轮回的后怕。在这里插入图片描述

面试细节

学历亮眼

那位先生的学历其实挺好的,很早就研究生毕业,处于隐私保护我就不透漏详细了。

并且毕业后就一直从事视觉方面的工作,每一份工作都呆了 5 年以上,算是很稳定的那类人。

我能想象他年少轻狂,意气风发的状态,只是现在有些境遇大有不同,这是一个变化的世界。

表达能力的缺陷

看简历的时候,我有仔细看过他的简历。

简历的项目经历都没有什么问题。

但是有个细节让我很意外。

错别字。

简历上有很多的错别字,按照道理讲,在职场上打拼这么多年这是不应该的,况且电话面试的时候他说有担任过项目经理的经历。

除了错别字以外,简历上的描述没有重心。

也许是做了太多的项目,很多东西一股脑往上整,关键词都很少,直接对简历而言,很难让人一时搞清楚他究竟擅长什么

还有一个细节,电话面试的时候,我一直皱眉头竖起耳朵在听,因为他口音极重,说话时轻时重,这让沟通成本变得很高。

与年龄不相符的总结陈述能力

项目经历和我团队现在的业务需求有相关性,但是不是那么强烈,所以我简单搞清楚他做的东西后,重点想关注的是他对这个行业怎么看法。

但结果有些失望。

他做人脸识别很多年了,简历上说对目标检测也颇有研究,但是这么多年过去了,似乎他的认知并没有因此有明显的提高。

他一直说传统的机器视觉不行了,现在要用 AI 的方式,然后又一直说 AI 也不是万能的。

我问他为什么觉得机器视觉传统的方式不行了。

他回答说需要大量的数据训练,模型才能好。

他又说人们都觉得 AI 很厉害,但 AI 不是万能的,因为它需要数据训练,没有数据也不行。

那他说的这些对吗?

他的结论都对,但不深刻,刚毕业的大学生都知道。既然认知和刚毕业的大学生没有差别,那么公司不会支付更多的用人成本,虽然现实,但就是这个理。

然后,我又问了一个问题:

为什么通过数据训练能够进行人脸检测或者识别目标?

他又回答了一堆,他用了什么 MTCNN 模型然后这个那个开源的模型。

其实,我期望的是他能回答类似这样:

从大量的训练数据中,寻找有效特征,从输入空间或者是特征空间得到输入,通过模型回归 landmark 值或者用超平面分离数据等等等等。

我想要那种把技术分拆的很细的观念,不是简单的说用哪个开源模型,我想了解的是为什么而不是怎么做。

我期望得到为什么而不是怎么做的原因是团队成员现在都很年轻,攻克难题需要有人带,薪资不同,面对的压力也不同,责任也就不同。况且,他的经历与团队的领域方向相关性不是那么高。面试的目的是试一试看。

我承认他的经验有,但是他的表达能力吃亏了。

我觉得他应该有高度总结的能力,但这次面试过程没有体现出来。

我讲的高度总结能力指的是对于技术或者是架构比较深的理解,或者是对于业务逻辑有比较清楚的认识。

我唯一的感觉是,这些年来可能他一直执着于比较底层的术,忙忙碌碌,蹉跎了很多岁月。

在我们团队,工龄大的人需要带团队新手的,如果领头人认知不高,下面的成员成长就少,容易起矛盾。

自我反思

面试结束后,我一直在思考一个问题。

我如何才能不在 10 多年后变成这样?

我没有肯定的答案,但仔细思考后,我决定从下面几个方面入手。

业务能力提升

开源代码固然好,但是对于新问题而言,还是需要团队有自己的核心技术。这个核心技术也包括针对性地改造开源代码,让它更适应于自己的业务。

逻辑非常重要。

身经百战同时也不要忘记思考,这个才能带你脱离永远在底层忙碌的困境。

人人都爱能解决问题的人,重复的问题大多数人能搞定,新问题或难题需要高手。

所以,我的认知是高手不会落寞。

学习能力

人是需要自我升级的。

这个自我升级主要是指认知。

所以,保持阅读是非常重要的。

  • 专业论文
  • 行业动态
  • 新技术

作为一个纯粹的技术人,这些不可少。

  • 认知提升
  • 沟通技巧
  • 基本的常识与见解
  • 基本的形态体态礼仪

人是社交动物,能力越大影响就越大,所谓影响就是与更多人的社交或者互动。

而这些都需要学习,并且是长期的学习。

最后

一直想整理出一份完美的面试宝典,但是时间上一直腾不开,这套一千多道面试题宝典,结合今年金三银四各种大厂面试题,以及 GitHub 上 star 数超 30K+ 的文档整理出来的,我上传以后,毫无意外的短短半个小时点赞量就达到了 13k,说实话还是有点不可思议的。

一千道互联网 Java 工程师面试题

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、mysql、Spring、SpringBoot、SpringCloud、RabbitMQ、Kafka、Linux等技术栈(485页)

初级—中级—高级三个级别的大厂面试真题

阿里云——Java 实习生/初级

List 和 Set 的区别 HashSet 是如何保证不重复的

HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)?

HashMap 的扩容过程

HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?

对象的四种引用

Java 获取反射的三种方法

Java 反射机制

Arrays.sort 和 Collections.sort 实现原理 和区别

Cloneable 接口实现原理

异常分类以及处理机制

wait 和 sleep 的区别

数组在内存中如何分配

答案展示:

美团——Java 中级

BeanFactory 和 ApplicationContext 有什么区别

Spring Bean 的生命周期

Spring IOC 如何实现

说说 Spring AOP

Spring AOP 实现原理

动态代理(cglib 与 JDK)

Spring 事务实现方式

Spring 事务底层原理

如何自定义注解实现功能

Spring MVC 运行流程

Spring MVC 启动流程

Spring 的单例实现原理

Spring 框架中用到了哪些设计模式

为什么选择 Netty

说说业务中,Netty 的使用场景

原生的 NIO 在 JDK 1.7 版本存在 epoll bug

什么是 TCP 粘包/拆包

TCP 粘包/拆包的解决办法

Netty 线程模型

说说 Netty 的零拷贝

Netty 内部执行流程

答案展示:

蚂蚁金服——Java 高级

题 1:

  1. jdk1.7 到 jdk1.8 Map 发生了什么变化(底层)?

  2. ConcurrentHashMap

  3. 并行跟并发有什么区别?

  4. jdk1.7 到 jdk1.8 java 虚拟机发生了什么变化?

  5. 如果叫你自己设计一个中间件,你会如何设计?

  6. 什么是中间件?

  7. ThreadLock 用过没有,说说它的作用?

  8. Hashcode()和 equals()和==区别?

  9. mysql 数据库中,什么情况下设置了索引但无法使用?

  10. mysql 优化会不会,mycat 分库,垂直分库,水平分库?

  11. 分布式事务解决方案?

  12. sql 语句优化会不会,说出你知道的?

  13. mysql 的存储引擎了解过没有?

  14. 红黑树原理?

题 2:

  1. 说说三种分布式锁?

  2. redis 的实现原理?

  3. redis 数据结构,使⽤场景?

  4. redis 集群有哪⼏种?

  5. codis 原理?

  6. 是否熟悉⾦融业务?记账业务?蚂蚁⾦服对这部分有要求。

好啦~展示完毕,大概估摸一下自己是青铜还是王者呢?

前段时间,在和群友聊天时,把今年他们见到的一些不同类别的面试题整理了一番,于是有了以下面试题集,也一起分享给大家~

如果你觉得这些内容对你有帮助,可以加入csdn进阶交流群,领取资料

基础篇


JVM 篇


MySQL 篇



Redis 篇




由于篇幅限制,详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

需要的小伙伴,可以一键三连,下方获取免费领取方式!
在这里插入图片描述

以上是关于面试了一个46岁Java程序员,思绪万千。。。的主要内容,如果未能解决你的问题,请参考以下文章

面试了一个46岁程序员,思绪万千。。。

面试了一位 46 岁的程序员,思绪万千,最后结局竟让我大惊失色!

面试了一个 46 岁程序员,我总结了很多!

面试了一个 46 岁程序员,我总结了很多!

腾讯Java面试题,46岁程序员被互联网公司辞退,终获offer

Kafka必须掌握的核心技术:46岁程序员被互联网公司辞退,进阶学习