面试官如何面试一个java程序员

本文的适用阅读对象是“面试官”,而不是“面试者”。

在有些时候程序员被上级提拔上来当“小组长”或者部门经理大部分是因为出色的技术能力,而能言善辩和察言观色可能不是很强。因此对于一些刚刚提拔上来当“小官”的程序员来说,如何成为一名合格的“面试官”也是一个具有挑战性的问题。我自己刚刚开始当面试官时,其实还是非常紧张的,同时自己也不是很自信。但是经过了50+次面试他人的经验,总算还是让自己在“如何面试一个程序员”的这件事上有一点点发言权。

首先身为面试官,必须清楚自己的目的和职责:

  • 招聘到适合目标岗位的员工
  • 展示本企业的良好风貌,给面试者一个好印象(无论是否应聘者是否得到了Offer)。

如果能够做到上面讲的两点,那么就可以称为一个好的面试官。下面我将教大家如何称为一个出色的“面试官”。

面试

0.准备面试题

面试题是帮面试官快速筛选人才的一个很好的方法。对于面试题做的很差的面试者,甚至可以不再进行技术沟通面试。还有的人看到做不出面试题,就自己跑了的。这样可以节省你宝贵的工作时间。面试题可以下面的比例来准备:

  • 4-5个 基础题
  • 1-2个算法题
  • 1个经验题(要有一定工作经验就可以答出来的)
  • 1-2个数据库题

通过这个面试题,基本可以反应面试者在各个方面的优劣势。

1.挑选简历

一般对于技术岗来说,你可以要人事将简历发给你,这样你能更加准确的挑选出想要找的人才。一般来说看简历还是有一些技巧的,我将要注意的点在下面列举一下,你可以根据自己的情况加以判断。

  • 首先看是否符合公司的硬性标准,比如:学历、性别、年龄、工作年限等。
  • 技术栈是否和你的公司相匹配。
  • 从工作经历中看是否跳槽频繁,如果每年1跳的话,你可能就得考虑一下了。
  • 看是否是半路出家,或者很久都没工作了。
  • 项目经历中,项目名不具体,比如“人力管理平台”、“教务管理系统”。
  • 拿项目经历到网上去查是否真实有这个项目。
  • 对于“商城”需要谨慎,我感觉好多商城项目都是假的。
  • 简历是否工整美观(简历如果格式很差,那么代码也好不到哪里去)。
  • 是否过了英语四级。

2.面试前的准备

不打无准备之仗,准备得好,面试时才知道问什么问题。

  • 准备好纸笔,用于在面试过程中记录对面试者的怀疑点和追问点。
  • 提前上厕所,因为面试时间不确定,最好不要在面试过过程中上厕所吧。
  • 提前阅读面试者的简历,对面试者有一个大概了解,并先把自己觉得有疑问的地方在简历上圈出来。
  • 检查笔试成绩,对面试者的技术有一个大概概念。

3.体面和礼貌

这里讲的是“面试官”必须得体面和礼貌。这里主要指4个方面:

  • 着装得体;
  • 面试时应该坐正且讲话时注意和面试者沟通;
  • 倒一杯水给面试者,让他放松心态,正常发挥;
  • 不应该问面试者过于隐私的问题,比如“有男朋友吗?”;

4.面试沟通技巧

这个环节乃是重中之重,因为面试的本质是通过沟通的方式将你想要了解的事情全部弄明白。所以你的提问就非常重要!它直接将可能影响到面试最后的结果。下面我将展示一下面试过程中的大概流程以及各个流程中需要注意的问题。

一、请面试者自我介绍

自我介绍应该至少包含面试者的姓名、学历、工作经验这3项最基本的要素。在这第一轮交锋中,主要查看面试者介绍自己的时候是否逻辑清晰,讲话通顺。在他自我介绍完成之后,你可以进一步追问这3个情况

  • 为什么从上一家公司离职?
  • 你的学历上写的本科,那么是“全日制”的吗?
  • 上一份工作在A地(广州),为什么现在要到B地(长沙)来找工作?

二、详细询问工作经历(或项目经历)

这部分提问是相当重要的,因为现在不少的程序员在培训机构里面学习3个月就伪造工作经验出来找工作。对于这种情况,有时候光凭问技术题目还真不一定能问出来,因为针对面试题他们有专门的训练。所以必须要从工作经历方面着手,仔细问一问,通常这样比较容易露馅。

  • 在这个项目现在能在互联网上访问到吗?拿手机打开给我看看?

  • 这个项目你主要负责哪里?做了多久?(此处评估功能与工作时间是否相符,有的面试者会说2个简单的增删改查模块做了几个月,这种明显就是假的)。

  • 问一些技术边缘问题,比如你们和前端怎么合作的?你们和产品经理怎么合作的?

  • 问一些技术经验问题,前后端分离的项目,前端调用后端接口怎么鉴权?

  • 你在这个项目中碰到的难点有什么?有什么值得讲的贡献吗?

三、询问纯技术问题

这个就比较发散了,首先你可以针对他写的笔试再重新问一次,也可以针对他在建立中写的技术储备问相应的技术问题。如果对于刚刚当“面试官”的同学,在交流面试之前先自己准备一些想问的技术题。

四、综合判断

  • 表达沟通能力:沟通是否顺畅,是否能准确的理解你表达的意思,且能够将自己的意思也表达清楚。
  • 技术能力:基础一定要好,对新技术保持一定的好奇心。

原文链接:https://www.jdkdownload.com/java_programmer_interview.html