最近我们公司要招的人比较多,每天都要面上两三个人,从刚实习完的到工作
了几年的都有。
我是个不爱照搬考题面试的人,就喜欢直接聊到哪算哪,一般过程是这样的:
1、先介绍下过去做过的项目,负责哪些模块。
这块一般会被当成开场白,因为泛泛介绍一下以后通常还会深入探讨细节。不
过有一个人例外,他直接在这个阶段就打动我了。
他当时除了介绍他的项目和模块是干嘛的,还拿张纸给我画了他们的代码业务
流程图,从哪个模块调用哪个模块,哪个系统调用哪个系统,先做什么再做什
么,还包括了如果哪步出问题,他们是怎么处理的,有条有理,思维严谨,虽
然没有涉及什么高级技术,我当时就下定决心这个人要了。后来入职的半个月
也充分证明了这是我最正确的选择之一,他总能提前干完还一直缠着问还有没
有活干了,比很多老员工效率要高。
2、介绍完毕,我通常会先就对方的项目介绍问清楚项目的来龙去脉,这个项
目是些什么人在用,有哪些角色,每种角色能干什么事情。
这个阶段就有人被淘汰了,有的人表达得结结巴巴,不懂如何描述,或者前后
不连贯,想到哪算哪,最后对他的项目干嘛用的还是一头雾水。感觉就是个照
猫画虎干死活的,我肯定这样的人和产品需求人员沟通一定会出大问题,误会
和返工少不了,因为他没法表达清楚他做的项目的业务。
3、开始就他用过的主流框架问些细节。
一般先问持久层,不外乎是 hibernate mybatis 或者 jdbc,用 jdbc 的,先来
解释下他们是怎么开启事务的,统一配好就不管了呢,还是会按需调整事务的
特性。工作几年的我一般不再问事务有什么意义,一年以下的我会问事务有什
么用,没有会怎么样。结果令我很意外,那些做了半年多项目的实习生们,只
有一个人答对了,事务能保证一致性,出错会回滚,其他人都是些什么能让条
理更清晰啊,性能更好啊......少年们,事务对于使用数据库的意义就像盐对于
炒菜一样重要好不好,做为一个做了大半年增删改查项目的人,请不要老拿:
我们就是做功能的,原理不清楚来应付。弄懂事务的意义 10 分钟就可以了吧。
当然也有人记得那个经典的银行转帐的例子来讲事务的作用,我很刁难地问了
一个:如果出帐的帐户和入帐的帐户不在一个数据库里怎么办?然后就没有然
后了
然后我会问的一般还有,事务开启了,有什么办法在事务过程中,出了异常也
不回滚数据库操作。这个问题答不上来也没关系,因为需要这么干的时候不多,
在分布式系统里可能会有这种需要。我主要是观察对方的反应,我最欣赏不知
评论0