笔试答题技巧
回答问题的思路:先正面叙述一些基本的核心知识,然后描述一些特殊的东西,最后再来一些锦上添花的东西。答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要)。答案的段落分别,层次分明,条理清晰都非常重要,从这些表面的东西也可以看出一个人的习惯、办事风格、条理等。
要讲你做出答案的思路过程,或者说你记住答案的思想都写下来。把答题想着是辩论赛。答题就是给别人讲道理、摆事实。答题不局限于什么格式和形式,就是要将自己的学识展现出来!别因为人家题目本来就模棱两可,你就心里胆怯和没底气了。要大胆地指出对方题目很模糊和你的观点,不要把面试官想得有多高,其实他和你就是差不多的,你想想,如果他把你招进去了,你们以后就是同事了,可不是差不多的吗?
同时可以反问你的面试官一些问题,也可以将面试官的思路拉来和自己走,进到自己擅长的区域。
回答一个新技术的问题大概思路和步骤是:我们想干什么,怎么干,干的过程中遇到了什么问题,现在用什么方式来解决。例如,讲ajax时,我们希望不改变原来的整个网页,而只是改变网页中的局部内容,例如,用户名校验,级联下拉列表,下拉树状菜单。用传统方式,就是浏览器自己直接向服务器发请求,服务器返回新页面会盖掉老页面,这样就不流畅了。
对于薪资,如果觉得公司很好,比较适合自己,那么可以适当降降,如果自己手里有多个offer,那么适当和公司谈谈条件。
公司希望招什么样的人
先排除掉那些编码技术功底好,又正好做过相似项目的情况,实际上,这种鱼和熊掌兼得的情况并不常见。其实公司很清楚,只要招聘进来的人技术真的很明白,那他什么项目都可以做出来,公司招人不是让你去重复做你以前的项目,而是做一个新项目,业务方面,你只要进了项目团队,自然就能掌握。所以,用人单位更看重招进来的人对要用到的编码技术的功底到底怎样,技术扎实不扎实,项目则只要跟着开发团队走,自然就没问题。
除非是一些非常专业的行业,要招聘特别高级的开发人员和系统分析师,招聘单位才特别注重他的项目经验和行业经验,要去找到行业高手,公司才关心项目和与你聊项目的细节,这样的人通常都不是通过常规招聘渠道去招聘进来的,而是通过各种手段挖过来的。
技术学得明白不明白,人家几个问题就把你的深浅问出来了,只要问一些具体的技术点,就很容易看出你是真懂还是假懂,很容看出你的技术深度和实力,所以,技术是来不得半点虚假的,必须扎扎实实。
由于项目的种类繁多,但是,不管是什么项目,采用的无非都是我们学习的那些目前流行和常用的技术。技术好、经验丰富,则项目做出来的效率高些,程序更稳定和更容易维护些。
如果一个人不是完完全全做过某个项目,他是不太关心该项目的业务的,对其中的一些具体细节更是一窍不知。而一个程序员的整个职业生涯中能实实在在和完完整整做出来的项目没几个,更别说在多个不同行业的项目了,有的程序员更是一辈子都只是在做某一个行业的项目,结果他就成了这个行业的专家(专门干一件事的家伙)。
所以,技术面试官通常没正好亲身经历过你简历写的那些项目,他不可能去问你写的那些项目的具体细节,而是只能泛泛地问你这个项目是多少人做的,做了多长时间,开发的过程,你在做项目的过程中有什么心得和收获,用的什么技术等面上的问题,所以,简历上的项目经历可以含有很多水分,很容易作假,技术面试官也无法在项目上甄别你的真伪。项目主要是增加你经验的可信度,获得更多面试机会,真正能不能找到工作,找到好工作,主要看你键盘上的功夫。
好的面试官几下就能面出你是否真有工作经验,他们问技术以外的公司的人和事,并且问开始、过程、结果,看你怎么组织语言。
在面试前准备项目描述,别害怕,因为面试官什么都不知道,拿到你的简历的时候,是没法核实你的项目细节的更何况,你做的项目是以月为单位算的,而面试官最多用30分钟来从你的简历上了解你的项目经验,所以你对项目的熟悉程度要远远超过面试官。
在面试前准备项目描述,别害怕,因为面试官什么都不知道,拿到你的简历的时候,是没法核实你的项目细节的更何况,你做的项目是以月为单位算的,而面试官最多用30分钟来从你的简历上了解你的项目经验,所以你对项目的熟悉程度要远远超过面试官。
你和面试官对项目了解的对比
面试官如何了解你的底细
准备项目的各种细节,一旦被问倒了,就说明你没做过
在面试前准备项目描述,别害怕,因为面试官什么都不知道,拿到你的简历的时候,是没法核实你的项目细节的更何况,你做的项目是以月为单位算的,而面试官最多用30分钟来从你的简历上了解你的项目经验,所以你对项目的熟悉程度要远远超过面试官。
自信些,因为这部分你说了算,流利些,但是不要说得太快。而且这些是你实际的项目经验,那么一旦让面试官感觉你都说不上来,那么可信度就很低了。
不要局限于“项目里做了什么业务,以及代码实现的细节”,这就相当于把后继提问权直接交给面试官。
不好的回答方式
项目描述要素
避免出现的情况
不露痕迹地说出面试官爱听的话
主动亮出自己的亮点和加分项(适当扩展)
注意,说的时候要有技巧,找机会说,通常是找一些开放性的问题说。比如:在这个项目里用到了什么技术?你除了说一些基本的技术,比如SpringMVC,Hibernate,还有数据库方面的常规技术时,还得说,用到了Java内存管理,这样能减少对虚拟机内存的压力,或者说用到了大数据处理技术等。也就是说,得找一切机会说出你拿得出手的而且当前也非常热门的技术。
找个相关的问题做扩展性说明:比如被问到:你有没有用到过一对多和多对多?你除了说基本知识点以外,还可以说,一般我还会根据需求适当地设置cascade和inverse关键字,随后通过一个实际的案例来说明合理设计对你项目的帮助,这样就能延伸性地说明你的技能了。
面试官评语:一旦回答简单,不主动说出你的擅长点,或没有条理很清楚地说出你的亮点,通过面试,也不会写上“框架细节了解比较深,数据库应用比较熟练”等之类的好评语。
一旦有低级错误,可能会直接出局
面试过程中有些方面你是绝对不能出错,所以你在准备过程中需要尤其注意如下的因素。
引导面试官,掌握面试主动权
在回答问题时抛出自己准备好的知识点,引导面试官问问问题,但是不要详细说,点到为止即可。
准备好这种“一笔带过”的话,比如这个职位的需求点是Spring MVC框架,大数据高并发,要有数据库调优经验,那么介绍以往项目时,你就最好突出这些方面你的实际技能。
举例:比如Java虚拟机内存管理和数据库优化是绝大多数项目都要遇到的两大问题,大家都可以在叙述项目经验时说,在这个项目里,我们需要考虑内存因素,因为我们的代码只允许在2G内存环境中运行,而且对数据库性能要求比较高,所以我们经常要监控优化内存和数据库里的SQL语句。这样当面试官深入提问时,就能抛出自己准备好的虚拟机内存优化和数据库优化方面的说辞。