面试了一个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:
jdk1.7 到 jdk1.8 Map 发生了什么变化(底层)?
ConcurrentHashMap
并行跟并发有什么区别?
jdk1.7 到 jdk1.8 java 虚拟机发生了什么变化?
如果叫你自己设计一个中间件,你会如何设计?
什么是中间件?
ThreadLock 用过没有,说说它的作用?
Hashcode()和 equals()和==区别?
mysql 数据库中,什么情况下设置了索引但无法使用?
mysql 优化会不会,mycat 分库,垂直分库,水平分库?
分布式事务解决方案?
sql 语句优化会不会,说出你知道的?
mysql 的存储引擎了解过没有?
红黑树原理?
题 2:
说说三种分布式锁?
redis 的实现原理?
redis 数据结构,使⽤场景?
redis 集群有哪⼏种?
codis 原理?
是否熟悉⾦融业务?记账业务?蚂蚁⾦服对这部分有要求。
好啦~展示完毕,大概估摸一下自己是青铜还是王者呢?
前段时间,在和群友聊天时,把今年他们见到的一些不同类别的面试题整理了一番,于是有了以下面试题集,也一起分享给大家~
如果你觉得这些内容对你有帮助,可以加入csdn进阶交流群,领取资料
基础篇
JVM 篇
MySQL 篇
Redis 篇
由于篇幅限制,详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
需要的小伙伴,可以一键三连,下方获取免费领取方式!
以上是关于面试了一个46岁Java程序员,思绪万千。。。的主要内容,如果未能解决你的问题,请参考以下文章
面试了一位 46 岁的程序员,思绪万千,最后结局竟让我大惊失色!