第一次面试他人有感
昨天下午我还在敲代码时,人事姐姐突然过来说我的老大电话打不通了,那有两个面试者等了很久了,问我能不能先帮忙面试一下。说实话,当时我是一脸懵逼的,毕竟以前都是被面试还从未面试过别人,既想尝试下又有点怕,最后在同事的怂恿下我就答应了。
我进了老板的办公室,发现竟然是个妹子,感觉十分惊讶毕竟这年头搞Java的妹子算是珍稀动物了。你好,我礼貌性地打了个招呼后就开始装模作样地进入面试环节了。先是万年不变的开场白,你先做个自我介绍吧,然后那个妹子就开始啪啪啪地说起来了,我趁这功夫游览了下她的简历和笔试题。
她也是16年毕业的,两年的时间已经换三家公司了(原来现在90后跳槽频繁是真的啊),简历挺漂亮的,项目里用到了很多技术SpringBoot、Kafka、Redis等。但是,再看她做的面试题就有点惨不忍睹了,最简单的单例模式都写错了。心里差不多有数后,我开始提问了。
你知道volatile关键字吗?
额,多线程没怎么用过,不知道。
好吧,那说下常用的HashMap原理吧。
额。。。。这个还没研究过。
突然间我在想是不是我问的太难了,换个简单的吧。恩,那说说你对Spring框架的理解吧。
她又开始支支吾吾半天,感觉没一个说到点上。
其实我挺想多个妹子同事的,但是技术完全不达标怕招进来背锅,于是只好出去跟人事说不行,希望这次没打击到她吧。
第二个面试者是个湖北老乡,他的水平明显比第一个好一些,做自我介绍时也比较自信,但是基本的单例模式也写错了(他想写个双重检查加锁的单例模式但是构造方法不私有,获取实例的方法连返回值都没有)。。。。
你能说下Spring事务的传播级别吗?或者说有几种?
这个平时没怎么弄那块儿,我只知道一个commit和rollback。
顿时有点尴尬了,那你知道数据库的事务隔离级别吗?
我对数据库不太熟悉。。。
(好吧来个送分题吧)谈谈你对Spring框架的理解吧。
Spring框架主要是IOC容器和AOP,AOP采用代理模式实现,什么Controller调用Service,Service调用Dao层后面我就不想听了。
恩,那你知道AOP具体是怎么实现的吗?(其实他只要说出JDK动态代理和第三方jar包CGlib就可以了)
它是用反射实现的。
我看你的简历上用过RabbitMQ,除了这个你还知道其他MQ吗?
我目前只知道这个。
jdk1.8有哪些新特性?
我们一直用的1.6,1.7所以不知道。(这个回答真是瞬间把我对他的印象分拉到最低了,jdk10都出来了竟然不知道8,而且我觉得公司没用不能成为不会的理由。)
最后,愉快地送走了他们两个,这次面试开始我真是紧张的不行,不过好在也有所感悟。
- 我们搞开发的真的不能只满足于搬砖,不利用业务时间学习的话只会被别人越拉越远。像jdk常用类的源码要看下吧,Java经典书籍像深入理解java虚拟机要读下吧,框架也不能停留在只会用的层面。
- 随着工作经验的增加,不光要提升技术的深度,还有扩展知识面的宽度,比如各种MQ至少听说过或者了解过。
- 搞Java的那么多,能招一个靠谱的挺难。
- 以后面试别人如果不满意就早点结束,免得浪费别人时间,注意态度不要让面试者觉得被鄙视了或者什么。
- 提的问题需要更好地引导面试者,否则容易出现理解偏差,你问东他答西。
- 面试时做一些笔记。