zoukankan      html  css  js  c++  java
  • 面试时如何展示自己非技术方面的能力?

     我们在面试时,会发现有些候选人技术不错,比如在Java Web后端方面,Spring MVC框架也做过,数据库方面不仅有经验,而且还有调优能力,Java Core方面的一些问题也能回答非常好。但由于他们在团队合作或责任心或其它综合能力方面有所欠缺,导致他们的综合竞争力甚至低于一些技术还比他们差的人,进而导致他们落选。    

        而且在我们的观察到的不少程序员中,会技术但缺乏其它综合能力的情况不在少数,在这篇文章里,本人不想探究原因,而是会给出些面试时的注意点。而且大家还可以在平时,根据本文给出的一些建议来提升自己的综合能力。

        开场白结束,以下是正文。

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

    第一部分,如何描述你在项目里的作用?别单说你仅仅coding。

        一般这种问题是:“你在项目里干了什么”,或者类似的问题。

        回答的时候可以适当夸张,但要量力而行,一般项目里有如下角色。

        ①需求调研,除非是内部项目,否则一般是项目经理做的,调研的时候会写一些需求和设计文档,也会用UML之类的工具画点图。

        你可以说,在项目经理的带领下了解需求;也可以适当说写了一些文档,绘制过一些UML图;也可以说,如果在开发过程中遇到不清晰的业务,会及时和项目经理或相关人员确认。

        ②设计,包括文档上的设计和代码上框架的设计以及数据表的设计。一般是比较资深的人做的。你可以在了解各细节的基础上,说参与过部分设计。

        ③开发,这个就不说了。

        ④测试,你自己的模块需要你自己测试,此外还有专职的Test人,如果你了解一些黑盒、白盒以及自动化测试工具,或者是JUNIT等技术,可以说出来。

        ⑤部署上线,包括打包上传发布到Linux之类的工作,这个很考验一个人的动手能力,你可以去专门了解这方面的技术,比如怎么写Ant,怎么deploy到Tomcat,websphere,怎么到Linux上运行,然后可以根据你的项目情况适当准备一下。

        除了写代码,程序员在项目里或多或少会做些其他的事情,比如测试或者部署上线,但我们在面试别人的时候,不少人真就说他只参与了编码工作。对此我们一般会深入提问,比如会继续问,你是否参与了设计、测试等。如果他在我们提问后能准确说出还做了其它事情,那么不会有什么不好的影响。但万一你遇到一个不大擅长挖掘候选人能力的面试官,而且你只说会coding,那他就真会写上“项目中除了coding基本没干过其他事”这样的评语。

        这种评语的潜台词是,除了写代码,你没有单元测试、数据库设计、模块设计、系统发布等各种其它的经验,大家可以自己比较下其中的后果。

    第二部分,  一定要找机会说出你的团队合作能力

        面试过程中,我们一般会随口问一些和项目相关的情况,比如这个项目有多少人?都是做什么的?然后再进一步问,如果你在开发的时候遇到问题怎么办?不管问题是什么,其实我们想了解的内容用大白话说出来就是:“你是不是能和别人一起协作开发,会不会是刺头,遇到问题你是积极主动地解决还是消极地得过且过”。

        很多人都会漫不经心随口回答,但一般来说,面试官在得不出候选人团队合作能力之前,是不会终止提问的,因为在软件开发里,不可能一人把什么事情都做了。

        我们也遇到过一些人,在回答这类问题时过于简单,实在没法得出结论,就只能写“沟通和理解能力有待提升(因为你总没法理解我们提的问题,或者未表达出你的意思),没法考查团队合作精神”。如果技术可以,即使他进下一轮面试,也会因为这个原因出局。

        下面列出一些关于团队合作方面需要大家展示出的能力,其实这些能力大家应该在谈吐中展示,因为这方面没什么太多的问题。

    需要讲出(或者表现出)的要素

    回答样式和面试官的考查点

    沟通能力如何

    如果有问题,我会及时和项目经理(或者测试人员,或者其他相关人员)确认和沟通,如果遇到我不太明白的问题,我也会及时沟通,不会按我理解的做下去

    需要讲出(或者表现出)的要素

    回答样式和面试官的考查点

     

    同时,你需要在面试过程中展示出比较好的沟通能力,比如有疑问点赶紧确认,说话别吞吞吐吐,别太自大

    理解和表达能力如何

    这个没什么样式,表现形式是候选人能很好理解面试官提出的问题,即使个别地方不理解也能及时问懂,然后说出来的话有条理,能让面试官听明白

    解决问题的方式

    你需要想办法说明你是会积极主动地解决问题,而不会消极地回避问题

    比如你可以说下在之前项目里解决问题的方式,你可以说,你是先通过查询网络资料尝试自己解决,如果再有问题,可以和你的同事或者领导一起协商解决

    是否适合和其他人一起协作开发

    候选人不会傻到自己说团队合作能力不行,一般面试官的考查点是:

    ①看看这个人的说话方式是不是很冲,是不是过于自大,是不是有什么沟通障碍,从中推断出这个人为人处世的大致情况

    ②直接问对待问题的态度

    ③有时候深入一个问题不断问,做类似的压力测试,看看候选人在被逼急了的情况下能否还心平气和

    能不能适应在外派环境下工作

    外派一般钱会多些,但可能压力会大些,因为毕竟甲方的压力会转嫁到外派的头上

    如果你应聘的是一个外派的岗位,最好别太有个性,最好让面试官感觉你是“逆来顺受”的,这样你的成功几率就会大得多

        我们在招聘的时候,如果某个项目比较着急,或者是某个人员流动比较多的项目,或者在招聘的淡季,往往会降低技术上标准,比如本来要对Spring MVC很熟悉的,现在只要做过就行,但不论怎么降低要求,团队协作能力不会降。也就是说,即使你能力稍微欠缺些,但很擅长和别人一起协作开发,机会就要比技能很强但沟通协作有问题的人要多得多。

    第三部分  当问项目周期规模和技术时,是在考查你值多少钱

        我们往往会随口问,XX项目你做了多久,多少人做,或者是,你项目里用到了什么新技术?

        这时请大家注意,一旦你有大项目经验,或者用到某个新技术,你的身价会适当往上涨一些,但如果你不注意这方面的回答,让面试官感觉你只有小作坊、小团队的经验,则很可能会给你一个比较低的工资,因为某些技术、经验只有从大项目中才能得到。下面列出一些大项目的常用标准。

        ①客户是比较知名的银行保险等大公司。

        ②外派到某个著名大公司。

        ③展现出在项目里用到一些比较值钱的软件,比如IBM的WebSphere、Oracle之类的,而不是用免费的,因为大的项目能负担得起比较大的软件花费。

        ④一般在知名公司做的项目都可以理解成大项目。       

        如果你实在没有,可以往“长项目”上靠,比如一个项目大概10个人规模(别多说,不是大项目,人多了别人未必信,而且10个人我们都嫌多,可以说在7个人左右),做了8个月以上,你是从需求分析开始做起的,一直做到上线和维护,毕竟这样你还能深入了解软件开发的周期,而且在项目里做长了你积累也多,这个时候你在谈价格的时候也有底气。

        如果我们在面试的时候,别人告诉我,他不断换项目,每个项目都做不长,比如三个月到半年,而且做的项目客户背景总换,我们就没法写上“有大项目经验”,或者是“做一个比较长的完整项目”这种评语了。

    第四部分  想尽办法展示你的责任心和学习能力

        责任心和学习能力看上去都是虚的,似乎没法衡量,但在面试的时候,我们会通过一些问题旁敲侧击地问出来,相信有经验的其他面试官也都会做到这点。

    提问方式

    需要展示的要素

    如果你的项目进度比较紧/或需要加班/或需要出差/总之要你额外付出,你会怎么样

    ①先别问回报,比如别问加班是否有钱,因为不管你问不问,该给的总会给你

    ②态度很诚恳,语气很平常,表达出愿意的意思

    ③不仅要完成手头的事情,而且要经常和对应的人沟通协商,或者帮助其他开发人员、测试人员,或者帮助项目经理一起想办法解决问题

    ④可以适当准备几个在上个项目里你责任心很强的例子,一般只要候选人语气措辞可以,说得头头是道,面试官听着像就会让他过关

        下面列下学习能力方面你需要展示的能力。

    考查点

    需要展示的要素

    你在以前的项目里,有没有遇到问题?你是怎么解决的

    ①总会遇到问题的,不可能不遇到

    ②先自己用点时间看,但别无限期看

    ③和相关的人协商,协商的时候要能说出你哪块不懂,或者说出你的想法

    ④同样可以准备几个例子,但别夸张,比如遇到过在一周内学好一个大数据框架的,面试官就有些半信半疑了

        这些方面其实是考查一个人的潜力,如果公司对候选人要求不高,只想招个初级的,其实也知道人和人之间差别不会太大。若这些方面你表现得很好,那么你入职的机会就会大很多。

    第五部分  总结(外带讲述提升这方面能力的技巧)

        在本文里,我列出了一些说辞和技巧,但这总是有穷尽的。在平时,大家可以通过如下的途径来提升自己的综合能力。

        第一,一定得认真参加项目组的会,在其中得认真听项目经理如何分析项目的需求,如何划分任务,如何制定进度。

        第二,平时在项目里,多和业务人员、 测试和实施等做非coding的人接触,观察下他们在做什么,怎么做。

        第三,平时一定得多和别人沟通。我就见过一个人,刚毕业,开始很内向,表达能力也不算好,往往词不达意。但我就逼着他多说话,多表达,别怕丢脸别怕别人笑,也是就1个月,他的沟通能力大大改善,经过半年后,甚至能力能赶上和客户打交道的人了。

        第四,别怕加班,别推诿事情,多做事情就相当于让自己多锻炼。

        第五,如果你的项目组确实很难呆,比如项目经理或组员很难打交道,你尽量忍,至少在这个项目组里呆上半年。因为一方面社会上各种人都有,大家得学会和不同的人打交道,另一方面,如果你在一个项目的时间少于半年,后继面试官大多数会认为是你个人的问题。

        本人根据面试官的经验写下此文,而且这些内容都来自java web轻量级开发面试教程,这些内容都是从诸多候选人的表现中总结出来的,扪心自问,字字谨慎,不敢误导大家。事实上,本人根据这些经验辅导过不少将要参加面试的学生,从反馈上来看,多少有些帮助。这也是本文有自信申请加入首页的理由(当然博客园藏龙卧虎,如果本文没到标准,本人还将继续努力)。最后感谢大家的阅读,大家如果在面试写简历或其它方面有任何问题,可以给我留言,本人将尽可能地解答大家的问题。

  • 相关阅读:
    从头到尾彻底解析Hash表算法
    postgres模糊匹配大杀器
    postgres数据库表空间收缩之pg_squeeze,pg_repack
    pgcli安装
    pg_waldump的使用
    数据库表空间收缩之pg_squeeze,pg_repack
    数据库fillfactor
    pgbouncer连接池
    mysql-选择使用Repeatable read的原因
    postgresql-锁相关
  • 原文地址:https://www.cnblogs.com/fanshaokun/p/7646618.html
Copyright © 2011-2022 走看看