1 问招人的项目经理,这个岗位需要的技术什么,比如必须Spring boot,有数据库调优经验优先考虑,要有2到3年相关经验等等。问清楚了,我就好在面试中组织自己的问题。
2 浏览候选人的简历,找出不利点和加分项。
不利点包括,候选人的学历,非计算机相关专业,候选人的经历看上去像培训班经历,或者项目看上去像自学的,或者最近半年不是做Java,或有超过3个月的未在职时间,或者频繁跳槽。
加分项包括,有获奖经历,或者像我一样出过书,或者有大厂经历,或者最近的项目技术和招聘的很匹配等等。
这里说一下,哪怕在简历中发现再多的不利点,面试也会继续,但这些不利点会写在最后的面试结论中。
3 最重要的是,整理候选人Java相关项目经验和所用的技术。
比如候选人用了spring boot,redis,kafka等技术,那么就划下来,面试时会问。
也就是说,通过项目介绍,我开始询问候选人相应技术(当然是招聘所需技术)在项目中的使用情况,不会过多涉及到技术细节。
如果候选人这个项目真做过,一般能说得上为什么要使用这个技术,比如项目并发量达到5000tps,所以要用nginx做分布式部署,因为支付模块是异步的,所以用kafka做消息队列等。但如果候选人项目是编的,那么大概率是只会说技术,没法说为啥要用这个技术。由此能确认技术的项目经验。
4 然后大致问下项目的开发流程和上线流程,这块如果候选人不知道怎么说,我也会引导。
比如问,你们项目是github还是其它什么方式来管理代码?用Maven还是gradle来管理项目?用(jenkins)什么来部署发布?测试工具是什么(比如junit或其他自动化测试工具)。这方面我只是询问用什么,不会展开问怎么用。这样问的目的一方面是考核候选人的项目开发能力,另一方面也是排查虚假项目。