面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)

    前些天,我在博客园里写了篇文章,如何在面试中介绍自己的项目经验,收获了2千多个点击,这无疑鼓舞了我继续分享的热情,今天我来分享另外一个面试中的甚至可以帮助大家逆转的技巧,本文来是从 java web轻量级开发面试教程从摘录的。

--------------------------------------------------------------------------------------------------------------------------------

1 问题的背景    

    我在做技术面试时,当问完所有的技术问题后,一般会说“我这边没问题了,你有什么问题?此时就进入到“角色转换”的阶段,你问我们答。

    我们遇到不少人直接就说没问题了,然后面试就结束了。但也遇到不少人,通过这个阶段让我们改变了对他的看法,了解更多的加分项,或者干脆直接逆转面试结果。

2 通过提问,大家可以进一步展示你和职位的匹配度 

    你可以问,如果我成功应聘,我将进入哪个项目组?在这个项目组里需要哪些技术?

    当面试官告诉你后,你就可以说,XX技术是我以前用过的,然后谈点在以前项目里用这个技术的细节。

    或者面试官说的项目你以前有过类似的经验,你也可以说一下你的经验。

    如果面试官听到有类似的经验,并确认核实发现是真实的,就会再加上“以前做过类似项目”的评语,这可以起到锦上添花的作用,能帮助候选人拿到更多的工资。

    有一次我们给一个保险项目招人,有个候选人刚开始的时候可能是紧张,回答问题很简单,我们已经写了“技术一般,属于可用可不用的,请后继经理斟酌”这种话,但在这个阶段,或许是因为他说到自己比较熟悉的方面,因而比较顺畅,而且知识点也展示得比较全面,我们就立即修改了评语为“技术可以,有过相似经历”这种话了。

    这里给大家的建议是,你面试前还是请了解一下公司的项目,想办法套近乎,你可以适当修改你以前的项目经验,使之与公司未来要做的项目有一定的相似度,这样效果会更好。 

3 通过提问,说出你没被问到的亮点

    这里不建议直接说“我其实还掌握XX技术,但你刚才没问”,因为有些直接,此时你还是可以通过问项目情况来说。

    比如你可以问,这个项目是不是用到Spring MVC框架?当得到肯定的回答时候,你就可以说,“我以前还在项目经理的帮助下搭建过框架,有XX的体会”。

    或者说,你XX项目里某个需求点是不是涉及数据库调优?我以前有类似的经验,然后说一些。这里的建议是,你在面试前准备好一些你有把握的亮点,这里的有把握是指你非常熟悉、了解细节,而且能结合项目的实际来举例说明,想好切入点,然后就可以找机会在面试中说了。

    这里给大家的建议是,你面试前还是请了解一下公司的项目,想办法套近乎,你可以适当修改你以前的项目经验,使之与公司未来要做的项目有一定的相似度,这样效果会更好。    

4 可以展示一些非技术的特长

    除了技术外,你还可以问,你们公司加班多吗?客户是谁?项目紧不紧之类的非技术问题,你问这些问题的目的有两个:

    ①展示自己吃苦耐劳,善于沟通,善于和比较认真的客户打交道,如果你到外包公司面试,这个能力相当重要。

    ②看一下这个公司是不是血汗工厂,会不会没日没夜连轴转,会不会压力过大,如果是这种情况,你就需要酌情看了。

    另外,一旦你感觉自己的面试有可能不成,那么你还可以在提问阶段说如下亡羊补牢的话。 

5 坦诚相对,说明你的擅长点,让面试官给次机会

    我们遇到过个别候选人,他技术点知道一点,并非什么都不知道,属于可上可下的。比如项目是要Spring MVC,这方面他只有学习经验,没有商用项目经验,但他的Java Core和数据库方面很不错,他就直说,Spring MVC确实不行,但亮出了他的长处,比如举例说明他学习能力很强,或者很能吃苦,沟通能力很好,然后表达出强烈想入职的愿望,我们一般都会给出“技术可以(或技术勉强可以),能参加后继面试”的评语。

     大家在面试的时候,回答问题好坏自己能估计出来。如果太差,属于一问三不知的,即使说这种话也没用。但如果你感觉回答的时候并非一无是处,那么就可以找机会说出这种话。在下表里,列出了一些补救措施。

补救因素

可以列出的证据

虽然没有XX项目经验,但在平时学习过,自己动手写过代码

我看过XX书,自己了解过这种技术,或者了解过同类技术,同时说出对这种技术的理解

学习能力很强,有强烈的学习新技术的愿望

我本来不熟悉毕业设计用到的技术,但我用了很短时间就掌握了,或者以前在公司里我属于什么都不懂的,但我肯问,用了XX时间就知道了

或者,最近比较热门的XX技术,虽然在我的项目里用不到,但我自己已经学过了,然后说说学习情况

肯吃苦,能加班,能出差,能适应大压力下的环境

列出以前公司加班,压力大的一些情况

很擅长和别人沟通,在项目里遇到不熟悉的,肯问别人

在以前公司的时候,遇到问题我不会积压,有需求上的问题找XXX,技术上不懂会找XX,遇到有Bug能找测试

事先了解到这个公司的项目背景,然后说自己知道这方面的知识

比如XX公司做云计算的,你即使没有项目经验,甚至没有动手写代码的经验,但你可以说,了解过这方面的知识,知道开发流程,知道入手点

说明你对Java里某个技术点研究特别深入,肯钻研

比如很了解Java的内存管理,说明你是通过看文档或者看底层代码自己研究的,那么面试官想想即使你没他需要的技能,但有自己的一套研究方法,肯钻研,也会适当考虑

说明你的责任心、稳定性比较强,肯在一个岗位上钻研下去

这个自己想办法说明

6 展示你以前的亮点,让面试官相信你的潜力和能力

    如果你的实际工作经验少于3年,那么面试官其实对你不会要求太苛刻,而是更关心你的学习能力、工作责任心、承受压力的情况。责任心和稳定性这些,刚才提到的补救措施你一定要有证据说明,记得用事实讲话,毕竟空口无凭。

    下面列出一些我们面试过程中听到的别人说出的一些亮点,大家可以举一反三,灵活掌握。

    ①“我虽然对您刚才说到的Spring MVC技术了解不深入(事实上,他是会在项目经理搭建好框架的基础上开发,还能知道一点,如果一点也不知道,说了也没用),但我对MVC框架了解过,我以前做过的项目是用JSP+Servlet+JDBC实现的,也单独用过Struts的框架,所以我很快能上手”。(这样我们会适当地问他JSP+Servlet+JDBC里MVC的流程,如果他能说上来,我们就会在评语上写“了解基本的SSH,了解MVC框架,知道MVC的开发方式”。但如果他不额外说明,或许我们就会写,“只会在项目经理搭建好的基础上了解SSH,不了解框架细节。”这样即使他通过了技术面试,后继的项目经理看到评语也不会对他有太多的好感)。

    ②“最近的项目我是在做前台,没用到SSH,,但一年前用到过(这样回答有些危险了,最好是在半年前用过这个技术或者相关类似技术,不过话说回来,你即使最近没用SSH,但在简历上说用过,只要你能回答出基本问题,面试官也没办法核实),但我对SSH框架了解很深,我知道Spring里MVC的底层实现,感觉Struts的MVC有一定的缺陷,也在商业项目里搭建过SSH,所以我能很快上手”。(这样我们会细问他提到的SSH的底层细节,如果他确实对底层细节了解得不错,那么我们会写上“最近一年没用过SSH,但对SSH底层有一定了解,在商业项目里搭建过SSH”。否则,我们仅仅会写“最近没用过SSH,SSH的项目经验仅限于一年前”,大家可以对比一下两个评语之间的差别)。

    ③ (为一个保险项目招人)“我在Spring MVC方面的经验不多,所以有些问题没回答好,以前大多是用JSP+Servlet+JDBC这套模式开发的(这是大实话,不过如果他面试前好好准备的话,那么就不应该说出这种话),但我以前做过保险相关的项目,客户是XX,实现了保险项目里的XX流程,而且我知道一些背景的业务“。(这样我们会把决定权交给二面的经理,否则,我们将直接写“不了解Spring MVC,没法通过面试”)。

    ④“我对框架技术了解一般(确实一般,根据问题的答复我们能感觉出他自己没搭建过框架,只能在人家搭建好的框架上被动开发),但我知道怎么让我的代码效率更高,我通过看文档和底层代码,知道Java内存管理的细节,知道多线程的实现细节,知道SQL调优的方法,了解过一些设计模式,思路是相通的,所以我能很快上手,而且能很快了解SSH的底层”。(这样我们会逐一确认他说的,是否真的对这些加分项有了解,如果是,由于这些亮点比写代码本身更重要,我们甚至会掩饰他SSH一般这个事实,会在评语上写“知道SQL调优,Java代码调优的一些方法,学习能力和学习意识比较强,个人的综合能力可以”)。

    ⑤“我对Java技术了解一般,(确实一般,只会用语法,不能融会贯通),这是因为我在上个项目里压力很大,需要直接和客户交流,直接了解需求,自己开发,自己测试,最后打个jar包给客户,所以我感觉我的综合能力很强”。(这样我们会关于这方面问一些细节问题,比如怎么打jar包,测试的时候是怎么做的,如果确实能说上来,我们会在评语上写“Java能力一般,但知道整个开发的流程,能独立完成某个模块的任务”。否则我们只会写“Java能力很一般,不了解一些深入的知识点”)。

    ⑥“虽然我没有商业项目的经验(是个应届毕业生,简历上的项目被我们问出是毕业设计或者是课程设计项目,但他如果直接把这些技术写成在读书时在外面公司里做的,我们是没法核实的),但我自学能力比较强,我学习的时候走了不少弯路,这也让我现在很了解JDBC的底层实现,我知道最近热门的一些技术,所以你们公司的一些技术我能很快上手”。(这样我们会在评语上写,“没有商业项目经验,但学习能力很强,请后继面试官斟酌”,这总比“没商业项目经验,不建议通过面试”的评语要好)

7 记下所有的面试题,迎接下次面试

    当你感觉你成功应聘这个岗位的希望有些渺茫时,你需要做如下的事情。

    ①记录下所有的技术面试题,回家查资料,为下次同样问题做准备。

    ②举一反三,回家以后要赶紧学习了,最好通过动手实践,通过运行代码来了解相关的知识点。

    ③找出没成功的原因,比如这个岗位需要有项目经验的,你所描述的项目经验最终被认为是非商业项目,那你就要更新项目描述,下次面试的时候,也要更改说辞,想办法证明你的项目确实是商业项目。

    如果是因为你没有回答好具体某个技术,那么一定要去找一个真实的项目,看看这些技术在项目里是如何实现的。

    即使一些工作经验5年以上的资深者,在刚开始换工作的几家面试公司里,也未必能回答好,因为他即使做了很多准备,也不知道面试会问些什么,所以面试前你要做好“不成功”的准备,成了最好,一旦没成,积累经验,下次或许你就成了。

 

原文地址:https://www.cnblogs.com/JavaArchitect/p/7787774.html