1、在面试前准备项目描述,别害怕,因为面试官什么都不知道
面试官是人,不是神,拿到你的简历的时候,是没法核实你的项目细节的。
更何况,你做的项目是以月为单位算的,而面试官最多用 30 分钟来从你的简历上了解你的项目经验,所以你对项目的熟悉程度要远远超过面试官,所以你一点也不用紧张。
适当包装是个很正常的事情,没必要有心理包袱,有几个企业能把百千万级并发项目放给在校生独自做?
你 | 面试官 | |
---|---|---|
对你以前的项目和技能 | 很了解 | 只能听你说,只能根据你说的内容作出判断 |
在面试过程中的职责 | 在很短的时间内防守成功即可 | 如果找不出漏洞,就只能算你以前做过 |
准备时间 | 面试前你有充足的时间准备 | 一般在面试前用30分钟阅读你的简历 |
沟通过程 | 你可以出错,但别出关键性的错误 | 不会太为难你,除非你太差了 |
技巧 | 你有足够的技巧,也可以从网上找到足够多的面试题 | 其实就问些通用的有规律的问 |
既然面试官无法了解你的底细,那么他们怎么来验证你的项目经验和技术?下面总结了一些常用的提问方式。
提问方式 | 目的 |
---|---|
让你描述工作经验和项目(极有可能是最近的),看看你说的是否和简历上一致 | 看你是否真的做过这些项目 |
看你简历上项目里用到的技术,比如框架、数据库,然后针对这些技术提些基本问题 | 还是验证你是否做过项目,同时看你是否了解这些技术,为进一步提问做准备 |
针对某个项目,不断深入地问一些技术上的问题,或者从不同侧面问一些技术实现,看你前店回答里面是否有矛盾 | 深入核实你的项目细节 |
针对某技术,问些项目里一定会遇到的问题,比如候选人说做过数据库,那么就会问索引方面的问题 | 通过这类问题,核实候选人是否真的有过项目经验(或者还仅仅是学习经验) |
2、准备项目的各种细节,一旦被问倒了,就说明你没做过
一般来说,在面试前,大家应当准备项目描述的说辞,自信些,因为这部分你说了算,流利些,因为你经过充分准备后,可以知道你要说些什么。而且这些是你实际的项目经验(不是学习经验,也不是培训经验),那么一旦让面试官感觉你都说不上来,那么可信度就很低了。
不少人是拘泥于“项目里做了什么业务,以及代码实现的细节”,这就相当于把后继提问权直接交给面试官。下表列出了一些不好的回答方式。
回答方式 | 后果 |
---|---|
我在Xx软件公司做了XX门户网站项目,这个项目做到了Xx 功能,具体是XX和XX模块,各模块做了XX功能,客户是X X,最后这个项目挣了XX钱 | 直接打断,因为业务需求我不需要了解,我会直接问他项目里的技术 |
(需要招聘一个Java后端开发,会Spring MvC) 最近一个项目我是用C#(或其他非Java技术)实现的,实现了……或者我最近做的不是开发,而是测试…或者我最近的项目没有用到Spring MVC | 提问,你最近用到SSH技术的项目是什么时候,然后在评语上写:最近XX时门没接触过SSH |
在华业设计的时候(或者在读书的时候,在学习的时候,在 XX培训学校,在XX实训课程中),… | 直接打断,提问你这个是否是商业项目,如果不是,你有没有其他的商业经验。如果没商业项目经验,除非是校招,否则就直接结束面试 |
描述项目时,一些关键要素(比如公司、时间、所用技术等)和简历上的不匹配 | 我们会深究这个不一致的情况,如果是简历造假,那么可能直接中断面试,如果真的是笔误,那么就需要提供合理的解释 |
在避免上述不好的回答的同时,大家可以按下表所给出的要素准备项目介绍
要避免的情况 | 正确的做法 | 原因 |
---|---|---|
回答很简单。问什么答什么,往往就用一句话回笞 | 把你知道的都说出来,重点实出你知道的思想,框架 | 一问一答我直接不问了 |
说得太流利 | 适当停顿,边思考边说 | 让面试官感觉你在背准备的东西,这样后面问题就很难 |
项目介绍时什么都说, | 就说些刚才让准备的一些, 而且要有逻辑地说 | 会让面试官感觉你思路太乱 |
别太多介绍技术细节, 就说你熟悉的技术 | 技术面点到为止,等面试官来问 | 你说到的所有技术要点,都可能会被深问。面试官一般会有自己的面试节麦,如果你在介绍时就太多说技术细节,很有可能被打断,从而没法说出你准备好的亮点。 |
3、不露痕迹地说出面试官爱听的话
在项目介绍的时候(当然包括后继的面试),面试官其实很想要听一些关键点,只要你说出来,而且回答相关问题比较好,这绝对是加分项。我在面试别人的时候,一旦这些关键点得到确认,我是绝对会在评语上加上一笔的。
下面列些面试官爱听的关键点和对应的说辞。
关键点 | 说辞 |
---|---|
能考虑到代码的扩展性,有参与框架设计的意识 | 我的项目XX保险项日,用到SSH技术,数据库是Oracle,(这个是铺垫),开发的时候,我会先和项目经理一起设计框架,并参与了框架的构建,连接数据库的时候,我们用到了DAO,这样做的理由是,把SQL语句封装到DAO层,一旦要扩展功能模块,就可以不用做太多的改动。 |
有调优意识,能通过监控发现问题点,然后解决 | 在开发阶段,我就注意到内存的性能问题和SPL运行的时问问题,在压力测试阶段,我会通过xx工具来监控内存和数据库,发现待提升的代码点,然后通过育资料来优化。最后等项目上线后,我们会部署盗控茶统,—旦发现内存和效据库问题, 我们会第一时间解决。 |
动手能力很强,肯干活,会的东西比较多,团队合作精神比较好 | 在项目里,我不仅要做开发的工作,而且需要自己测试,需要自己根据一华日志的输出到数据库或Java端去debwG,当我开好一个模块时,需要自己都馨到Linux上测试。 或者,一旦遇到问题,如果是业务方面的,我会及时和项目经理沟通,如果是技术方面的,我会自己育资料,如果是测试方面的,我会及时和测试的人沟通。 |
责任心比较强,能适应大压力的环境 | 被问“你如果在项目里遇到问题怎么办?回答:遇到问题我先直资料,如果实在没法解决,不会拖,会及时问相关的人,即使加班,也会在规定的时间内解决。 |
有主见,能不断探索新的知识 | 在项目里,我会在保证进度的能提下和项目经理说我的想法,提出我的解决方案。在开发过程中,我会先思考一下,用一种比较好的方式,比如效率最高的方法实现。另外你要找机会说出:平时我会不浙看一些新技术(t如大数振Hadoop),会新深入了解一些框架和技术的实现底层。 |
4、一定要主动,面试官没有义务挖掘你的亮点
面试时,面试官往往会特别提问:你项目里有什么亮点?或者你作为应聘者,有什么其他加分项能帮你成功应聘到这个岗位。即使这样问,还有些人直接说没有。
我这样问已经是处于角色错位了,作为面试者,应当主动说出,而不是等着问,但请注意,说的时候要有技巧,找机会说,通常是找一些开放性的问题说。
比如:在这个项目里用到了什么技术?你除了说一些基本的技术,比如Spring MVC,Hibernate,还有数据库方面的常规技术时,还得说,用到了Java内存管理,这样能减少对虚拟机内存的压力,或者说用到了大数据处理技术等。
也就是说,得找一切机会说出你拿得出手的而且当前也非常热门的技术。
记住:面试官不是你的亲戚,面试官很忙,能挖掘出你的亮点的面试官很少,而说出你的亮点是你的义务。
我在面试别人过程中,根据不同的情况一般会给出如下的评语。
- 回答很简答,但回答里能证明出他对框架等技术确实是做过,我会在评语里些“对框架了解一般,不知道一些深层次的知识(我都问了多次了你都回答很简答,那么对不起了,我只能这么写。
或许你确实技术很强,那也没办法,谁让你不肯说呢?)”,同时会加一句“表达能力很一般,沟通能力不强”,这样即使他通过技术面试,后面的面试他也会很吃力。 - 回答很简单,通过回答我没法验证他是在项目里做过这个技术,还是仅仅在平时学习中学过这个技术。
我就会写“在简历中说用过XX技术,但对某些细节说不上来,没法看出在项目里用到这个技术”,如果这个技术是职务必需点,那么他通过面试的可能性就非常小。 - 回答很简单,而且只通过嗯啊之类的虚词回答,经过提醒还这样,我会敷衍几句结束面试,直接写“技术很薄弱,没法通过面试”。
虽然通过回答能很好地展示自己的技能,但逻辑调理不清晰,那么我会让他通过技术面试,但会写上“技能很好,但表达能力一般(或有待提高),请后继面试经理斟酌”。这样通过后继综合面试的机会就一般了,毕竟综合面试会着重考察表达能力交往能力等非技术因素。
不管怎样,一旦回答简单,不主动说出你的擅长点,或没有条理很清楚地说出你的亮点,就算我让你通过面试,也不会写上“框架细节了解比较深,数据库应用比较熟练”等之类的好评语,你即使通过技术和后面的综合面试,工资也是比较低的。
5、一旦有低级错误,可能会直接出局
面试过程中有些方面你是绝对不能出错,所以你在准备过程中需要尤其注意如下的因素。下面列了些会导致你直接出局的错误回答。
错误类型 | 导致的后果 |
---|---|
前后矛盾,后面的回答无法证明你的项目描述,比如一开始说用到了Spring MVC,后面没法说出最基本的实现,比如不知道Spring 有哪些类,或者没法说出项目的细节。 | 我会怀疑这个项目的真实性,我就会进一步问:数据库用什么,数据量多少?多少人做了多少时间,一旦再出现明显漏洞,比如一个小项自用到非常多的时间,那么就不仅仅是技术问题,而是在面试过程中企图“蒙混过关“的性质了。 |
顼目里—定会用到的基本概念性问题都回答不上,Spring的依赖注入概念是什么,怎么用的,或者Hibernate的一对多怎么实现 | 一旦被我发现概念不知道,我就会通过更多问题确认,如果被我确认很弱,这就相当严重,因为技术能力差和技术沸用过是两个截然不同的状况,技木没用过会导致直接出局。 |
面试时说出的工作经验和简历上的不一致 | 我会直接怀疑筒历是编的,我会让候选人解释,即使是说简历写错了,我也会问比较深入的门题来核实他的技能和能地力。 |
简历上的技能描述和回答出来的明显不一致,比如明明是只会简单的Linux,但吹得天花乱坠 | 我会通过一些比较深的问题校实其他技能,找出其他方面吹嘘的水分。所以建议,你可以适当夸张,但别过分,比如你在项目里没搭建框架但平时学习时搭建过,你可以写“XX项目的框架是你搭建的告,但你不能说你是一个架构师,非常了解项目的底层。 |
让面试官感觉你不稳定,很浮躁,比如说话不庄重,或者面试时打扮非常不正规,就穿背心来。 | 即使你技术再好,这个会可能导致你直接出局。 我对油嘴滑舌的候选人一般会直接写上不好的评语,这样很难过后面项目经理的面试。我还遇到一个人,简历上工作是半年一换,我问他为什么经常换,他直按说是待遇问题,这个人我是直接pass掉 |
明说不能加班,不能出差 | 其实虽然有这一问,但公司里未必真的会加班会出差。但听到这类回答,说明这个人不能承受大压力的工作,或者责任心不强,大多数公司是不会要这种人的。 |
6、引导篇:准备些加分点,在介绍时有意提到,但别说全
在做项目介绍的时候,你可以穿插说出一些你的亮点,但请记得,不论在介绍项目还是在回答问题,你当前的职责不是说明亮点而是介绍项目,一旦你详细说,可能会让面试官感觉你跑题了。
引导 or 扩展太多某些面试官甚至会觉得烦。。。。。。
所以这时你可以一笔带过,比如你可以说,“我们的项目对数据要求比较大,忙的时候平均每小时要处理几十万条数据”,这样就可以把面试官引入“大数据”的方向。
你在面试前可以根据职位的需求,准备好这种“一笔带过”的话。比如这个职位的需求点是Spring MVC框架,大数据高并发,要有数据库调优经验,那么介绍以往项目时,你就最好突出这些方面你的实际技能。
7、你可以引导,但不能自说自话
如果你真的想应聘的话,一定要事先准备,只要别露出太明显的痕迹,面试官不会写上“似乎有准备,没法考察真实技能”这种话,更何况未必每个面试官都能感觉出你准备过。 但你不能凭着有准备而太强势,毕竟面试是面试官主导的。
有时说话太多,主动扩展,问他数据库用什么,不仅回答数据库是什么,自己做了什么,甚至顺便会把大数据处理技术都说出来。其实可能会过犹不及,面试官就会重点考察你说的每个细节,因为怀疑你说的都是你从网上看的,而不是你项目中用到的。
不过话说回来,他如果仅仅说,数据量比较大,但点到为止,不继续说后面的话,我就会深入去问,他自然有机会表达。同时请注意,一般在面试过程中,一旦你亮出加分点,但面试官没接嘴,这个加分点可能就不是项目必备的,也不是他所关注的,当前你就可以别再说了,或者等到你提问题的时候再说。
评论区