从面试官提升技能角度来告诉大家,哪些人能面试成功

2,934被浏览1,016,944分享邀请回答22321 条评论分享收藏感谢收起6911 条评论分享收藏感谢收起1分钟打动面试官_第一印象:非语言行为告诉面试官你是什么样的人(2)_腾讯文学下次自动登录
现在的位置:
& 综合 & 正文
从面试官的角度给面试实习的同学一些刷题以外的建议
一年一度找实习的时间又要到了。公司里面的面试机会一下子多了起来。周一以来连着面了十几个人。有国内来的,有这边的ABC,还有一些其他国家的:) 虽然攒了一堆的feedback还没写,但是有些想法如鲠在喉,不吐不快。既然当年找工作的时候在这个版上收益良多,索性抓紧时间回馈给大家一些干货吧。特此注明1.本人不会泄露任何面试的具体问题,想刷题的同学就此打住吧。2. 以下建议适用于45分钟左右的电话面试当年我找工作的时候,待字闺中版有把CS面试等同于刷题的趋势。自从找到工作后,对本版的关注度就下降了。发文之前大概扫了一下近期的热点话题,好像还是以刷题为主。最近参加了公司面试的培训,结合与那些可以一锤定音级别的面试官的交流,我越来越认为刷题并不是最重要的。就最近面试的几个候选人来说,coding水平其实难分伯仲。但是有人被一致淘汰,有人高分通过。这背后的原因到底是什么呢?扛着困意把所有面试官的总结都看了一遍,结合自己的体会,我觉得大家可以在刷题之余对以下几个方面进行一下改进:1.简历简历简历:说起来有点残酷,但是大家的简历面试官往往事先是没有好好看过的。在实习面试集中的季节,面试官往往要在一个下午面试4,5个人。每份简历基本都是在去面试的路上才打印出来。正因为如此,面试开场的最自然的一个问题就是“介绍一下你自己” 这个不那么技术的问题既可以用来暖场,也可以让面试官有机会好好看一下你的简历。准备不到这个问题是没有任何理由的。也许大家花太多时间打磨自己的简历,也许大家太看重接下来的coding,我在这个环节并没有总是听到很精彩的故事。国内来的同学往往给我一个很平淡的描述,大有一种迫不及待的“咱们还是开始coding吧”的感觉。对比之下,ABC和某些国家的同学准备的就更充分一些。至少让我感到他们对CS的热爱,对实习的向往和对自己以往经历的自豪。虽然有些东西明眼人一看就知道很水,但是不得不承认这样的开场至少给接下来的面试打下了一个很好的氛围。面试也好相亲也罢,头几分钟都是至关重要的。所以我建议大家面试前最好把自己的经历总结一下,起码想好三个问题:为什么是这个公司,为什么是这个职位,为什么是我。没什么好怯场的,IE 都好意思问你是不是要把它设成默认浏览器呢!2. 交流是关键。这已经不是什么有价值的建议了。但是不知道是不是第一次找工作的原因,有些candidate总喜欢闷头解题。这个电话面试中是个大忌。一道题目设定是10分钟,你自己吭哧吭哧的写了9分30秒,然后告诉面试官我不会. 这个...,你让面试官怎么帮你?在线编程最后的结果都是要作为呈堂证供,写多写少还是有很大差别的。我建议大家在刷题之余训练一下自己边说边写的能力。一方面帮你理清思路,另一方面也让面试官了解你在干什么3. 语言。编程版一大话题就是什么会火。说实话我觉得英语才是万古不变最重要的语言。在美国面试中国人往往吃语言亏。其实这个亏吃的有点不值,因为CS的面试用到的词汇量很少,这也是为什么大家看技术书籍或者文档往往感觉很容易的原因。语言一吃亏,士气自然就下来了。我自己当年面试的时候曾经有一个很古怪的练习,就是把leecode里面一些不太长的分析用疯狂英语(最大声,最快速,最清晰)的方法从头到尾朗读几遍,说白了就是锻炼一下舌头上的肌肉,让它们对那些常用的词汇不那么拧巴。大家可以试试对自己管用的方法,总而言之就是让自己说的越溜越好。还有,版上一大话题是“我为什么死在老中手里”。说实话,很多情况下这是一个鸡生蛋蛋生鸡的问题。老中面试官自己说不好,于是下意识少说。面试人以为对方冷漠,心里没底,双方交流越来越少,最终导致面试流产...对面试人来说,我的建议是不要想太多面试官是中国人所以就会如何如何,放轻松,尽量保持自信。说话大声点,流利点,表现出自己就好了。4. 代码风格。大部分问题在实际工作中是没有直接的应用的。但是受到面试时间所限,面试官不得不问此类问题。说实话,面试官们看 *p++ = *q++; 之类的code也有想吐的感觉。公司里面除了个别大牛没人什么人对这种问题真正感兴趣。我们每天看的最多的别人写的code就是通过code review。code review是在什么时候?是在code即将进入production的时候。所以几乎所有面试官都对code quality非常敏感。面试了这么多candidate,给我印象最深的是那个在函数之前写了几句文档,一开始validate input,并且在合适的地方加注释的那位。面试时间很宝贵,但是一点点注释或者validation会让人觉得你的工作很专业。招你进来不会最后留下一堆没法维护的代码。大家有空可以看看Google的代码风格和他家开源的guava,学学真正awesome的代码是怎么写的。5. Thank you letter. 这玩意儿有人说有用,有人说没用。要是能发还是发一个吧。我面试的同胞没有一个给我发的。而其他所有的candidate无一例外都发了。这封信其实没什么大用,但至少可以让面试官觉得你是个有礼貌的人。面试后最好马上发,因为这一般是面试官写feedback的时候。一个好印象也许就把一封据信变成offer了。另外感谢信里面可以澄清面试中没有解释清楚的一些问题,但千万别在信里继续跟面试官较真儿。说实话公司不差你这么一个intern,同样一件事儿写成“屡败屡战”还是“屡战屡败”都可以,感觉就大不同了。职场是一条漫漫长路,每个阶段都有新的东西要学。回首看过去走过的路,有时不免觉得幼稚。辛苦码了这么多字,希望对大家有所帮助。至于买卖提上最近流行的一些讨论,我想说公司里的事情大家心知肚明,做为过来人,能做的事情我们会做的。但是,借用习core那句话:打铁还要自身硬。大家都加油吧!祝你们好运。
【上篇】【下篇】从面试官角度来告诉大家,哪些人能面试成功
面试成功不是靠撞大运,而是需要靠技能和技巧。俗话说,一力降十会,如果候选人技能确实强,那么什么技巧都不需要,如果属于可上可下的情况,那么技巧就相对重要了。 本人之前
面试成功不是靠撞大运,而是需要靠技能和技巧。俗话说,一力降十会,如果候选人技能确实强,那么什么技巧都不需要,如果属于可上可下的情况,那么技巧就相对重要了。
& & 应聘成功的人一般要过三关:筛选简历关,技术面试关和人事(或项目经理)面试关,而且在招聘时,公司只能通过简历、面试外带背景调查来了解候选人的情况,除此之外没别的途径。
& & 也就是说,相对招聘要求而言,一些可上可下(或稍微差一点)的候选人也是有机会通过采用合理的技巧最终应聘成功;对应地,一些能力已达标的候选人也有可能因为简历没写好或面试不当,最终导致落选。
1公司凭什么留下待面试的简历
& & 公司的技术面试官或者是人事会从收到的简历中挑选出有必要进行技术面试的简历,当然剩下的估计就进回收站了。在筛选时,一般会要求同时满足如下两大条件。
& & 第一,硬指标达标,比如要求本科或以上,或者会指定多少年的相关经验,对于一些没达标的简历,除非有诸如拿过竞赛奖项或海外工作经验之类的额外优势,否则不会有面试机会。
& & 第二,这是最重要的考核点,要有足够年限的和本岗位相关项目经验。
& & 比如在某个职位介绍上有如下四点要求。第一,计算机相关专业,本科以上学历,4年以上java项目开发经验。第二,熟练Spring mvc,Mybatis/Hibernate等常用java开发框架。第三,熟练使用Mysql、Oracle等数据库,具有查询优化的能力。第四,有银行相关的业务经验者优先。
& & 其中第一点是关于学历和工作年限的硬指标,如果这方面没达标,基本不会给面试机会。第二和第三点是关于具体技能要求的,在筛选时会着重看简历中的项目描述,以&Spring MVC&和&调优&等的关键字来确认候选人之前的工作经验是否和本岗位相匹配,而最后一点是加分项。
& & 在筛选简历时,除了上述学历等硬指标和项目技能因素之外,如果在简历中看到如下的情况,一般会慎重考虑甚至不给面试机会。
& & 1 简历上,最近的项目经验和本岗位的无关。
& & 比如本岗位要Spring MVC,但候选人最近在做Struts,这或许还能给面试机会,但如果候选人最近做的是.NET,甚至做的不是开发而是测试等非相关的工作,那么可能就得不到面试机会了。
& & 2 最近处于不在职状态,而且这持续时间长于3个月。
& &对此,如果简历上没给出诸如换城市或复习考研等合理的解释,那么公司可能就认为该候选人能力不行导致一直无法面试成功,所以一般不会给面试机会。
& & 3 最近频繁跳槽,而且每份工作持续时间都不长。
& & 出现这类情况,而且简历上没额外解释,公司会认为该候选人能力不行从而导致每份工作都做不长,或者稳定性不好,总之,出现这类情况,一般不会给面试机会。
& & 一般来说,如果有岗位要招3人,一般会根据上标准筛选出多份(超过10份)简历,换句话说,只要简历里的项目经验等符合职务的需求,那么就有可能得到面试机会。不过,不少公司还会根据学校技能等综合情况做个排序,优先面试综合能力强的,而且,在面试结果差不多的情况下,一定会优先录用简历中综合能力强的。
2 技术面试官考察的要点以及各要点的优先级
& & 如果候选人能过简历筛选这一关,那么技术面试官就会围绕着这个岗位的具体需求,从项目背景、综合技术和沟通能力责任心等方向面试候选人。一般来说,技术面试官会在半小时到一个小时左右的时间内,确认如下表所列的关键要点。
不达标的后果
确认教育背景和公司经历等基本信息
如这些关键信息有问题,会直接终止面试。
确认在以往的项目里是否确实用到过本岗位需要的技能和框架
除非是校招,否则公司一定是要求候选人在相关技能上具备足够的项目经验,而不只有理论经验。所以候选人一旦被发现该职务所必备的技能上没有足够的项目年限,会直接被终止面试。
通过技术问题确认候选人的技能是否达到本岗位的需求
如果面试官已经确认候选人关于必备技能具备足够的项目年限,那么技术上问题回答得稍微不好,问题也不大。但如果通过交流发现关键技能点实在过于缺乏,就会导致面试失败。
通过算法或逻辑问题确认候选人分析解决问题的能力
如果回答稍微差点,但项目背景和技术能力问题不大,一般面试也让过,这部分是用来排查&能力实在太差的候选人&,所以甚果候选人技术非常强,这部分的甚至可能会直接略过。
通过候选人的沟通表达情况来确认候选人能很好地融入团队
如果发现候选人沟通交流能力方面有问题,这就要求候选人用其它方面的优势来补偿,比如要求技术特别强。但如果发现候选人是个刺头,加入团队后根本无法一起合作,那么技术再好也会导致面试失败。
& & 从上表里,我们能看到诸多确认要点的优先级。
& & 最高优先级:教育背景和公司经历,这方面如果有问题会立即终止面试。
& & 第二高优先级:候选人的相关技能的项目年限和技术背景,以及候选人的表达和沟通能力。在这些方面上,如果出现问题,好歹还能用其它优势来弥补。比如我们面试过一个人,Spring MVC问题回答不大好,但英语非常好,又如,某候选人不具备SQL调优能力,但以前做过和本岗位项目背景一致的保险项目,最终这两人都成功地通过了技术面试。
& & 第三是候选人的逻辑思维和分析解决问题的能力,一般来说,能从事软件开发的程序员在这方面一般不会特别差,而且只要候选人能力足够强,这方面甚至不会考,只有当候选人属于可上可下时,才会用这个来做最终评判的标准。
& & 也就是说,在面试前,候选人需要尽量挖掘之前项目和本岗位要求相一致的技能并写到简历中,再根据这些技能针对性地看些面试题,在这基础上再看些算法和逻辑问题。
& & 不过我们发现不少候选人在投简历前根本不会看职位描述,所以更不会挖掘对应的技能点,相反他们是着重看算法逻辑题,这就有些本末倒置了。
3 项目经理和人事的考察要点
& & 一般来说,能过技术面试的候选人就属于重点考察对象了,这时项目经理(有些公司可能是技术总监)就会出面。在这轮面试里,考察的重点不再是技术,而是这个人能否在本项目组里干活,具体的考察点如下表所示。
确认候选人的技术背景是否和本项目相符
再次询问候选人之前的项目背景以及所用的技术。
确认候选人的稳定性,别没干多久又跳槽
1 询问之前换工作的理由。
2 询问候选人的职业发展方向,看能否契合本项目。
候选人的沟通表达能力,以及候选人的团队合作能力
1 通过面试过程中的交流,确认沟通表达没问题。
2 在此基础上再确认该候选人能和本项目组的人一起合作。
3 从候选人的谈吐中确认该候选人不会是刺头。
候选人的责任心和承担压力的能力
1 直接询问该候选人能否愿意加班和出差。
2 询问在之前的项目里,如果遇到问题,是怎么解决的
& & 在这个阶段中被淘汰的候选人虽然不多,但确实会有,这可能是有些人通过技术面试就得意忘形了。但这阶段的面试不难过,对一些面试经验很丰富的候选人来说甚至有些形同虚设。
& & 如果通过技术面试官和项目经理的这两轮面试,公司一般就会确认要这个人了。这时人事就会出面谈具体的工资福利和到岗时间了,如果这方面没大问题,一般就算跳槽成功了。
4 入职后怎么进行背景调查
& & 这个流程主要用来确认候选人在简历上给出的信息都是正确无误的,一般会分如下四个方面。
& & 第一,要求候选人提供诸如身份证复印件、学历学位证书和其它相关证书这类材料,以此来确认年龄学历等基本信息。
& & 第二,会从候选人诸如劳动手册等材料上,确认候选人之前工作过的公司以及时间范围,如果出现和简历中不一致的情况就需要候选人做额外的解释。
& & 第三,对于之前工作过的每家公司,会要求候选人提供能联系上的项目经理或人事,得到后会通过电话确认的方式来询问候选人在之前公司的表现以及离职原因等信息。
& & 第四,有些公司可能会要求候选人提供之前几个月的工资卡的银行流水清单,以此来确认候选人之前的薪资水平。
& & 如果在这个流程中发现有严重的信息不符,而且没有合理的解释,那么就会终止录用。所以大家可以在简历中合理地挖掘匹配点,甚至可以适当强调重点,但别无中生有地编造虚假的情况。
(责任编辑:admin)
------分隔线----------------------------
虽说自我感觉良好,与面试官相谈甚欢的面试最后仍有可能不了...从面试官的角度告诉你:程序猿面试要注意什么_51CTO博客_传送门
从面试官的角度告诉你:程序猿面试要注意什么
阅读这篇文章前,先偷偷告诉你一件事:你是否还在日日夜夜念着下载豆?是否觉得受伤的心没有下载豆来安抚?别担心啦~文章的结尾会告诉你轻松简单获取下载豆的方法~以下是正文程序员面试一直是社区乐于讨论的热门话题。我自己从06年实习以来,先后经历了4家软件公司,全部是外企,其中有世界500强的通信企业,有从事期权期货交易的欧洲中等规模的金融公司,也有为大型汽车制造商开发Android智能汽车的新兴公司。跨入IT行业以来,我在求职过程中经历过多次面试,最近两年也有过多次面试别人的经验。我感觉现在到了对这个问题发表自己看法的时候,这篇文章是我站在面试官角度对于程序员面试问题的一个阶段性反思和经验总结。目 标相信和不少朋友一样,有了几年工作经验成为Senior后就开始了面试别人的经历。我在最初这个阶段只是按照自己的想象把”找到基础好的程序员“,”找到算法能力优秀的程序员“,”找到有Android开发经验的程序员“等作为面试的目标。但是,实际的经历告诉我,尤其是按“基础好”,“算法好”这些目标招到的人最终效果并不好。比如,有的面试者基础知识和算法掌握情况不错,进程、线程、内存等概念清晰,基本的Hash,二叉树,快速排序等数据结构和算法也比较熟悉,但是进公司后在实际工作中表现得很糟糕。后来,我才发现原来是我的面试目标出了问题,我原先的面试方法更像是大学的算法或操作系统期末考试,按照这种方法让许多并不合适的人通过了面试,同时也可能错过了许多合适的人。后来,我的反思是,从公司的角度讲,面试的根本目的是找到"能够干好工作"的人,而“高学历”,“算法好”,“基础好”,“有经验”这些都是表象而不是根本,它们并不能直接和“工作好”划等号。方 法目标明确了,但接下来的问题是假设面试者是一个黑盒系统,“工作好”不是直接可观测变量,你所能直接观测的变量是基础、算法、经验、学历、性格、谈吐、年龄等等。所以,实际上,你只能从“基础好”,“算法好”等可以直接观测的量去推测“工作好”的概率,这就是一个在“X好“条件下"工作好“的条件概率问题:P(工作好 | X好)。根据这个模型,面试所应该考察哪些方面就很明显了,那就是选择那种最具有区分性的方面来考察。比如,考察面试者的体型特征没有太大意义,因为P(工作好|高),P(工作好|矮),P(工作好|胖),P(工作好|瘦)的概率都差不多;所以,体型特征不具有区分性,这不是面试所应该关注的内容。面试官应当结合职位的要求明确哪些因素具有比较好的区分性。比如,如果要招一名技术门槛比较高的3D游戏引擎开发工程师,面试者A具有3D游戏引擎开发的经验,但是在基础知识和算法面试方面表现一般;面试者B相反,基础知识和算法面试表现很好,但没有游戏开发经验,而你只能选择其一。你选谁呢?其实,这就是两个条件概率问题P(工作好|经验好,基础一般,算法一般)和P(工作好|没经验,基础好,算法好)。这个问题就留给面试官来判断了,就我个人而言,对于技术门槛较高需要技术积累的职位,经验更加说明问题,因此,我更倾向于面试者A。下面,我再结合自己的经验谈谈对面试中常见方面的看法。算 法算法是Google和MS等大公司面试所重点考察的内容。我个人很喜欢算法,曾经参加ACM/ICPC拿过北京赛区的13名。但是,就个人经验来看,我所接触过的绝大多数开发职位而言,算法都不适合作为考察面试者优劣的主要因素。对于普通的非算法性开发职位,考察面试者的算法就相当于考察他打乒乓球好不好一样,与目标“工作好”的相关性太低。就我个人的经验来看,差不多P(工作好|算法好)=50%,也就是算法面试没有太大的区分性。甚至,还有一种很不好的情况特别多地出现在算法好的面试者身上,我称之为“只磨刀,不砍柴”。什么意思呢?有类人只对什么A*算法,异步编程,JVM类加载机制这种纯技术问题感兴趣,对实现用户需求毫无兴趣。这类人看起来有一定的技术能力,但是对公司来讲贡献十分有限,甚至不如技术一般但认真负责的人。所以,一旦遇到面试者算法好,我就特别留意考察会不会是这种“只磨刀,不砍柴”的人。另外,虽然我个人不了解Google和MS,但我对于其特别重视考察算法能力的面试策略是持怀疑态度的。即使在这样的世界级大公司,算法虽然重要,但可以想象在项目实施过程所遇到的各种各样问题中,算法问题绝大多数时候不会是主要瓶颈,没有到那种需要每个人都是算法高手的情况。实际上,绝大多数项目真正难点并不是一两个算法瓶颈,甚至也不是单点的技术瓶颈,而是系统性的组织、协调、设计、开发问题,有大量的看起来不是那么有技术含量的脏活累活,也有许多问题是由于信息不足,并不是技术能力强就能克服这些困难。一个团队最好优势互补,有人算法强,有人业务分析能力强,有人擅长后端服务,有人擅长前端界面,有人聪明,有人踏实,这是最好的。如果按照“算法好”的单一标准选材,必定会把许多优秀的人才拒之门外。补充:在更多地了解了Google和Facebook等一流公司的面试细节之后,我对这个问题的认识有了一定的改变,实际上这些公司在面试过程中并不完全强调技巧性很强的算法,而是更加注重编码(Coding)能力,只是在进行编码测试的过程中往往是通过一些简单算法题来进行的。我对于这种面试方法越来越欣赏,并且也作为了我们公司面试过程中的重点环节,因为编码能力的测试是十分必要的,它有着知识性问题无法取代的作用,如果一个面试者连“判断一个字符串是否是另一个字符串的子串”这样的题目都无法正确并快速地实现,那么基本上可以直接排除了。我这里所强调的是不必考察高难度的算法问题,并非不重视编码能力测试,请读者不要误解。基 础基础面试是指考察诸如指针使用、进程线程概念等基础知识的面试,十分类似于大学期末考试题。我曾经以为基础面试十分重要,但是现在不这么看了。在工作中基础的确是重要的,但是在面试过程中,它必须具有区分性才有意义,也就是说P(工作好|基础好)的概率要高,那么考察指针使用,进程线程区别这样的基础题目才有它的意义。我的实际经验是,基础面试并不具有很好的区分性,和算法一样, 差不多P(工作好|基础好) = 50%。同时,基础面试是最容易准备的,中国人有长期的应试教育经验,要准备几个把玩指针题目太容易了。我曾经遇到过这样的面试者,他的C语言基础和编译、链接等原理掌握得非常好,给我留下了深刻的印象,我给的面试结论是:知识面不宽,只会C语言,但基础很扎实,建议录用。后来的事情证明了那个结论的前半部分是对的,但是”建议录用“错了。他在实际工作中表现得一塌糊涂,不理解需求,不理解整体架构;同时,上班时间不是花在项目上,而是花在阅读诸如《程序员的自我修养》之类的书籍上。最后,这位同事由于长期“不出活”离开了公司。基础不是不重要,而是“基础好”不足以说明面试者能干好工作,因为基础是属于局部性知识,而实际工作需要综合性能力,二者有天壤之别。C语言、操作系统能考高分,但是不会写程序的人在大学我们还见得少吗? 软件开发就像盖房子,综合能力是设计和搭骨架,基础知识是码砖。张小龙原先Foxmail是Delphi开发的,他它不懂C#,你如果要招聘一个开发.NET Email客户端的人,你考察他对CLR掌握得好不好有意义吗? 让张小龙来开发一个C#版的Foxmail真的会有困难吗? 你招一个精通C#但没有Email客户端开发经验的人来真的比张小龙靠谱吗?我说基础知识不重要,和古人说的“不积洼步无以至千里”是不是矛盾呢?不矛盾!“洼步”与“千里”是一种可累加关系,但再多的“基础知识”都累加不成“综合能力”。学习软件开发要像持续集成一样,一开始就是一个完整的系统,虽然规模不大,问题很多,但它麻雀虽小五脏俱全,从小系统到大系统,从简单系统到复杂系统逐步演化。所以,基础好本身不足以说明太多的问题,必须进一步考察综合能力。对于基础面试表现不好的面试者,如果时间允许也要进一步考察,有的面试者其实是有能力的,只是没有进行充分的准备。最理想的状态当然是基础和综合能力俱佳,若不能兼顾,应当综合能力优先。经 验这里所说的经验不是通过工作了多少年来衡量的,而主要是指面试者的经历,比如,是否完整地实现过一个软件,或作为主要开发者完成过一个项目。经验的重要性在于它能说明一个人的综合能力。从项目的性质、规模和难度,面试官就可以大致判断出面试者的综合能力。如果一个面试者一直在大公司负责一个小模块的开发维护,那么基本可以判断他不具备独立或作为主要开发者承担一个项目的能力,只适合在另一家大公司做类似的事情。对于门槛较高需要长期技术积累的职位,相关经验更显得尤为重要,比如,Linux内核开发,JVM开发,游戏引擎开发,数据库实现,高级UX等。对于这类职位,没有经验的面试者即使综合素质不错也是需要长时间的学习和积累才能胜任。所以,基本上如果确定了你的职位属于此类,那么相关经验毫无疑问应该成为首选因素,换句话说,P(工作好 | 相关经验好)的概率是非常高的。通过项目经验判断面试者的优劣比通过基础和算法测试更加靠谱,所以,面试过程中面试官应该花比较多的时间听面试者介绍项目经验,并进行深入地探讨交流,了解面试者的知识面、思维能力、表达能力等。同时,可以结合项目提一些基础知识和算法的问题,比如,如果面试者做过C++相关的项目,那就可以问他如何进行内存管理?是否熟悉智能指针?如果面试者的回答不能令人满意,那么就基本上可以判断他的项目做得不是很好。要注意的是,经验也是一个多维度的事物。比如,C++股票交易中间件系统,这就涉及(C++,中间件,股票) 3个维度。假如面试者A做过C++股票交易客户端,面试者B做过C的股票交易中间件。从语言角度看,A最匹配,从项目性质看,B最匹配,你如何选择?这就是在多个维度中,哪个维度更重要的问题,就这个例子而言,我个人更倾向于B,因为我认为中间件开发经验是主要矛盾,而从C切换到C++并不是问题。所以,面试官需要判断哪一种经验是主要的,而哪一种经验是次要的。比如,我们招聘Android应用开发,这个职位的Android技术门槛并不高,它的真正难点在于做出好的用户体验(UX)。所以,如果一个面试者没有Android的经验我们是可以接受的,但是我希望他在UX方面有经验,至少做过其他平台的移动应用开发。性 格现在,我来谈我认为最重要的因素:性格。这可能是许多初为面试官的朋友所难以想象的,怎么会是性格最重要呢?说实话,当我意识到这一点时,我自己也很惊讶!说白了,还是 P(工作好|性格好)的概率最高啊。我的实际经验是,如果一个人的性格好,他能把工作做好的可能性是最高的,性格好远比基础好、算法好要靠谱。一个人如果技术上有缺陷,经验上有不足,但性格好,在团队中是很容易由其他人来补位的,他自己也很容易逐渐补起来;相反,如果一个人的性格不好,所有的技术优势经验优势都发挥不出来,甚至还会起到负作用,而且性格缺点很难改变。我一直谈到实际工作所需要的是综合性的能力,这种综合能力的发挥中性格是至关重要的。项目中不止会遇到技术问题,要涉及沟通、协调,不同的人不同的部门既有合作又有磨擦,如何处理这些事情都需要一个良好的性格。可以说,在开发团队里让你与众不同的不是你从哪个学校毕业,也不是你过去的经验,而是你的性格。当然,性格是一个复杂的东西,它包含了很多的方面,并非所有方面都是程序员面试所需要关注的。我的经验是可以重点考察这些方面:1) 态度积极还是消极。有的面试者在谈吐中就会自然给你一种积极上进的感觉,或者你可以在他的经历中发现他积极的因素,这些都不是太难看出来的。相反,有的面试者你能明显感觉到他的消极情绪。积极性在工作中是十分重要的,积极的人能给团队带来朝气,也更易于合作。基本上,如果确定面试者属于态度积极的,他通过我这一关的可能性就会大大增加;相反,如果确定属于态度消极的,即使技术能力不错我也会十分谨慎。2) IQ。我的经验是,总体来看,聪明的人在工作中的表现更为优秀。在面试中要考察一个人是否聪明并不一定要像Google和MS那样找些专门测试IQ的智力题,其实,你只需要看他讨论问题是不是很有逻辑性,思考和说话是不是反应敏捷就可以做出大致的判断。另外,眼睛是人心灵的窗户,一个人聪明与否,眼睛是会说话的。不过,聪明也不完全是优点,比如,当公司或项目遇到困难时,往往是聪明人先跑掉了,坚守的往往是IQ一般的人。3) 语言表达能力。语言表达能力也是程序员十分重要的一项素质,它关系到项目中的沟通是否顺畅。面试官可以看看面试者能否用简明的语言介绍清楚曾经做过的项目,能否抓住要点,能否考虑到听者的相关背景。一般来讲,语言表达能力强的人综合能力都不会太差。4) 是否具有用户意识。有人说程序员是做研发的,哪来什么用户?只有销售、市场人员才会和用户打交道。其实,这是完完全全的错误认识。你写一个模块,甚至一个API,只要有别人用,他就是你的用户。有的程序员设计一个模块或是一个软件总是习惯于从使用者的角度来考虑,尽量地方便使用者,这就是一种良好的用户意识。具有良好的用户意识的人更能考虑别人的感受和整体的需要,而不是单纯地从自己和局部来思考问题。当面试者谈及过去的项目经验时,面试官可以常常站在用户的角度对其进行提问,从这个过程中观察其是否具有良好的用户意识。5) 如何应对质疑和压力。面试官应该对面试者的回答以及以往项目进行合理的质疑,看看他如何应对。曾经有一位面试者谈到做游戏登录服务器的经历,我就问:“如果登录服务器挂了,怎么办呢”?他说原先虽然没有考虑这个问题,但是可以怎么怎么改进。其实,大家都理解项目中有各种不完美,这里面原因很多,只要面对质疑和压力能从容应对努力往好的方向思考解决就可以了,不需要掩饰缺陷,更不应该有情绪。我遇到过有的面试者,一旦你对其项目提出质疑,他马上产生反抗情绪,或不高兴,或不承认有问题,这很容易一下子看出来他在工作中容不得质疑和批评,这种人要想合作就很困难。6) 个性特点。许多面试者喜欢在简历上写“精通C++/Linux“,这些字眼看得人麻木,如果有人写”喜欢C++/Linux“,我就会有一种眼前一亮的感觉。“精通”是没有感情色彩的叙述,而“喜欢”包含了面试者的个性,我更愿意看到面试者的个性。我相信对某样东西真正的热情远比你当前对它的掌握程度更为重要。其实,N年的经历告诉我们,同一个班的同学,同一个项目组的同事,虽然每天所学的知识,所接触的工作都是相同的,但其实每个人的成绩和表现差异是十分明显的。那么,到底本质的差异是什么呢?其实,就是每个人的个性。是个性使得有的人业余时间去打球,有的人业余时间去看书,有的人喜欢Linux,有的人喜欢Mac。一个人在团队中扮演的角色也和他的个性有很大的关系。面试官应该引导面试者展现自己的个性,并判断其是否有益于团队。总 结最后总结起来,我的经验是: 1) 面试官的目标是找到”工作好“的人,一定要围绕这个目标来进行面试,如果把面试当成了算法或操作系统期末考试这就走入了误区;2) 面试过程是通过学历、性格、基础、经验、算法等可以测试的因素去综合判断面试者“工作好”的概率;3) 在各种因素中,性格 > 经验 > 基础 > 算法。性格是最重要的,如果性格不好,所有技术能力都会大打折扣,而且技术缺陷容易弥补,性格缺陷很难改变;经验体现了一个人的综合能力,你可以从面试者过去的经历中判断他能从事哪种工作,不能从事哪种工作;基础和算法则主要起到辅助参考的作用,基础好的程序员一般适应性比较强,学新技术更快,但是切忌单纯从基础来判断一个人的能力。本文来源:Todd Wei原文链接:http://www.phpxs.com/post/3502获取下载豆的方法:小伙伴们,本周周五将开展一次活动,周五的小测试题目将为不超过10道的简单的百科题目。因题目较少就放在周五头条文章的后面啦~全部答对的并答题速度最快的前十名,将每人可获得10个下载豆。“神马?全对?!难度太高了吧?”放心~小编会告诉你这简直就是在白送么?根据小伙伴们的参与情况,小编会决定活动的次数,所以大家一定要积极参与哦~“51CTO博客技术交流群”如果你想跟同行业的小伙伴们随时在微信上交流,就加入下面这个群吧!在这里可以和小伙伴们一起做题、分享与探讨。为IT人提供优质资源的公众号
觉得不错,分享给更多人看到
51CTO博客 微信二维码
分享这篇文章
11月17日 13:00
51CTO博客 最新头条文章
51CTO博客 热门头条文章

我要回帖

更多关于 it方向的hr面试官技能 的文章

 

随机推荐