关于面试:那些你应该知道的事儿

前段时间由于某些原因辞职了,最近一直在面试。面试这段时间,经历过不同业务类型的公司(电商、酒店出行、金融、新能源、银行),也遇到了很多不同类型的面试官。

之前的博客,也聊过软件测试岗位面试的一些事性能测试岗位常见面试题,这篇博客,聊聊我对面试的一些看法,以及个人的经验总结和思考吧。。。

参考内容:《跃迁:从技术到管理的硅谷路径》——朱赟著

 

一、面试官问什么

1、硬实力考察

IT行业,特别是技术岗位,硬实力考察一般都是必须的。当然,对不同的技术岗位,硬实力侧重点不同,一般包含以下几个方面:

①、编程能力

如果是开发人员,那么编程能力是必定会考察的,而且是重点。据我所了解,现在的互联网企业,特别是一些大厂,对现场上机编程甚至白板编程,基本都是必须的。

认识一位饿了么的测开同学,面试时直接写字板手写算法。。。

关于这点, 业内还有个梗:Homehrew的作者马克斯.霍威尔(Max Howell)去Google面试时无法在白板上翻转二叉树,从而Google面试没通过。。。

②、系统设计

系统设计一般是为候选人提供一个系统设计场景,让候选人根据自己的能力和经验在短时间内去设计整个系统的架构;或根据某个系统场景给出自己的分析结果和技术实施方案。

这点主要是考察候选人的整体思维能力和以往工作中的职业素养。

③、基础知识

关于这点,我个人就是一个例子:之前某次面试问到了python构造器和迭代器的区别和作用,虽然在之前的工作中都用到了构造器和迭代器,但面试时还是没有解释清楚,尴尬。。。

其实基础知识对工程师来说还是蛮重要的,因为有很多工程师代码写的又快又好,但在系统设计方面会表现的很差,对一些基本的设计理念和方法知之甚少。

或者有些工程师沟通表达能力较差,工作中无法准确的表述出自己的问题和答案,沟通能力的欠缺会给团队带来很大的阻力。

当然还有一部分工程师聊起来设计和基础理论头头是道,但一写代码就表现的很挣扎,出错了也不知道如何调试。

④、工具使用

关于这点,开发工程师对工具的使用熟练程度,面试中问到的几率我不太了解。

但对于测试工程师,特别是性能和自动化岗位,使用什么自动化或者性能测试工具,技术框架如何设计,在面试中就被频频问到。

虽然我个人觉得系统设计和分析能力相比于工具使用熟练程度更重要,但各方面的原因造就的目前这种情况,面试时就只能去适应。

而且熟练地使用工具可以在日常工作中带来较大的效率提升,这也是不可忽视的作用。

⑤、工作经验

面试中,通过对候选人做过的项目类型,使用的技术框架的全面了解,可以深入挖掘和了解候选人的技术栈全面程度和个人掌握程度。

 

2、软技能考察

①、沟通能力

沟通能力无论是在工作还是生活中,对个人或者团队来说都显得如此重要。无论是问题描述,工作讨论抑或日常交流,沟通能力的不足都会对个人和团队带来极大的麻烦。

特别是如今越来越多的企业和团队,软件开发模式从瀑布变迁到敏捷,而敏捷又是一种更为注重沟通的模式,沟通能力的作用越来越重要。

而且在面试过程中个人的沟通表达能力更显得重要,如果不能更明确的表述自己的能力和价值,扬长避短,面试官也无法在短时间内了解候选人的个人能力。

其实,面试就是一个沟通的过程,具体的硬实力是沟通的内容,结果如何,很大程度上取决于候选人的沟通能力。

②、文档设计

其实称为文档编写更贴切点,软件开发过程中,一份设计详细,可读性良好,实时更新的透明文档,对工作的帮助是很大的。

无论是工作进度,设计方案的确认还是工作交接,一份良好的设计文档,都有不可估量的价值。

我所认识的大部分工程师童鞋,对编写文档是不怎么擅长的,或者说不愿意去设计一份可读性良好的文档,觉得性价比不高或者没必要,其实这样长期来说是不太好的。

 

二、越来越多轮次的面试

记得刚入IT行业时候,面试大多只需要一轮即可,有两轮面试的公司比较少。但随着行业的不断发展,成熟度越来越高,以及个人技术经验和眼界的提升,发现越来越多

的企业,在面试时候的面试轮次,也越来越多。下面说说为什么会有多轮面试,以及它的一些影响。。。

1、不同面试题考察的知识点和解决问题的能力的侧重点不同,多轮面试可以对候选人进行更全面的评估。

2、面试官由于技术经验等因素,对候选人的面试评价不同,不同面试官的反馈意见可以有不同角度的参考。

3、交叉面试,避免面试官的一些主观意见对候选人产生不好的影响。

PS:我个人之前面试过程中就遇到了类似问题:面试性能岗位,我个人开源工具用的较多,而第三轮的技术总监是HP出身,工具比较偏向于LR、QTP,由于这个原因,面试结果不了了之。

4、面试题目其实都存在阶梯性,一般都是由浅入深,如果第一阶段回答的较好,那么会有接下来的第二阶段第三阶段,难度越来越深的题目。

如果第一阶段较基础的问题,候选人的回答都不是太理想,那么后续的问题一般都不会继续深入的了解沟通。

5、避免面试官的思维局限性:一般而言每个面试官的熟知领域都不同,问题的侧重点也不同,如果候选人正好熟知的领域和面试官相匹配,那么面试通过的概率较高,反之,则会产生偏差。

6、多轮面试,可以考察候选人在不同的面试轮次里对于某方面的问题是否出现了同样的错误或者不全面的回答,考察候选人对同一领域不同问题是否具有正确的一些理解。

7、有时候面试官临时有事或者面试经验不足,可能会造成对候选人不好的面试反馈,多轮面试也可以在一定程度上避免此类问题。

 

三、聊聊我对内推的看法

很多人对内推存在一定的误解,觉得内推可以提高面试通过的成功率,其实并不如此。

内推可以让个人的简历直接传递到面试官面前,避免HR因为学历、经验或者其他因素被筛选掉(关于这点,有很多有争议的地方,这里不做讨论)。

或者让负责人事招聘的HR处理速率高点,而真正决定面试是否通过的因素还是在于候选人自身,内推并不会让企业降低招聘要求。

如果真要找人内推,最好找和你共事过,可以为你个人的能力经验背书的人。

最后,通过面试获得一份心仪的工作,下面的几点可以提高面试成功的几率 :

1、良好的工作经验、项目经历

这就是为什么大厂出身的工程师相对更容易找到高薪工作的原因,无他,大厂带来的镀金和背书能力。。。

2、扎实的基本功

对于工程师这种技术岗位, 扎实的基本功是个人能力的根本表现。

3、特点突出的简历

比如个人博客、对开源项目的贡献、一些公开课分享经历、技术大会等经历,会在一定程度上影响面试官对个人的印象。

 

以上内容仅供参考,如有更好的建议或者不同的理解,欢迎提出讨论,谢谢。。。

 

posted @ 2018-08-07 03:22 老_张 阅读(...) 评论(...) 编辑 收藏