作为面试官,如何考察工程师的软素质

author author     2023-02-24     186

关键词:

本文会跟大家一起分享我的思考,包括但不限于如下话题:

工程师的软素质模型
如何识别工程师的软素质
如何发现并改进自己软素质方面的不足
工程师的职业发展
美团点评的工程师文化
如果你也对这些话题感兴趣,欢迎留言交流。

  • 概述
  • 技术面试流程
  • 软素质模型
  • 如何识别软素质
  • 自驱力
  • 好奇心
  • 学习能力
  • 沟通表达能力
  • 技术规划能力
  • 总结复盘能力
  • 一些补充说明
  • 美团点评的工程师文化
    想学习更多Android知识,或者获取以上相关资料请加入Android技术开发交流2群:862625886。本群可免费获取Gradle、RxJava、小程序、Hybrid、移动架构、NDK、React Native、性能优化等技术教程!
    概述
    写本文的初衷是自己做了多年的面试官,前前后后面试了上百名工程师,有时会不禁思考,面试时除了考察候选人专业方面的知识和技能外,是否还要考察工程师的软素质,如果需要考察的话要怎么识别这些软素质。
    关于第一个问题,要不要考察工程师的软素质,我想答案是肯定的,因为一名软素质较好的候选人进入公司后自己的成长会更快,对团队的正向影响也更大。所以,本文更多的是思考如何定义软素质模型以及如何识别这些软素质
    技术分享图片
    如果你是一名面试官或者会有机会参与到团队的面试工作,那么通过阅读本文你可以了解到如何识别候选人的软素质并在面试环节做把关。如果你是一名刚入门的技术管理者,本文也许可以帮你打开识人带人的大门。更多的情况,大部分同学还是参与到一线的开发中,除了埋头写代码外,其实更应该了解自己的短板,查缺补漏,这样才能更快更好的成长,希望看完本文后对你也有所启发。
    技术面试流程
    技术分享图片

通常情况下,互联网公司会有四轮面试,前三轮是技术面,第四轮是HR面。其中,一面、二面会着重考察候选人的专业知识和专业技能,对软素质也会做一定程度的把关,三面会着重考察候选人的软素质,第四轮HR面除了考察软素质外,更多的会考察候选人的文化匹配情况。
技术分享图片
可以看到软素质考察会贯穿到面试的始终,只是每轮侧重点不一样。上面说的是只是通常情况,具体要面试几轮以及每轮面试要考察的点视情况不同可能会有所调整。
软素质模型
好了,问题来了,要考察软素质,首先要定义软素质有哪些,最好是有个软素质模型,这个模型还要尽可能的适应公司发展的要求以及匹配公司的工程师文化。下面说说我对工程师软素质模型的理解。
技术分享图片
上图是我总结的工程师软素质模型,我们从内往外说起。
最核心的是自驱力,是一个人内在的东西,我们说一个人是不意愿成长,一个人是不是自律,指的就是他的自驱力,自驱力是一个人成长的源动力,自驱力好的人后面发展的潜力也会比较好。
中间一层是好奇心和学习能力,技术日新月异的今天,一个人如果不对不断变化的世界保持好奇心,且不断学习精进自己,很可能会跟不上节奏。有句老话说的好,你必须不停地奔跑,才能保持在原地,说的就是这个意思。
最外层分别是沟通表达能力、技术规划能力、总结复盘能力。良好的沟通表达能力不仅对个人发展有着至关重要的作用,对团队合作也大有裨益。技术规划能力强的人对问题往往理解的比较深刻,且目标感很强,更容易拿到结果。总结复盘能力能够帮助你找出自己的不足,并形成方法论去指导后面的工作。

如何理解这些软素质之间的关系呢,如果把人比作汽车的话,自驱力就是一台汽车的发动机,好奇心和学习能力是燃料,沟通表达能力、技术规划能力、总结复盘能力是实际表现出的外在性能。
如何识别软素质
技术分享图片
如果拿冰山作比,软素质更多是隐藏在冰山之下,如果要识别考察一个人的软素质,就需要观察冰山之上的部分,也就是一个人的行为,所谓的透过现象看本质。下面就一一说明如何识别这些软素质。

自驱力
可以从两个方面来考察候选人的自驱力:目标感和自律。自驱力强的人做事情会有明确的目标,同时比一般人更加自律。
技术分享图片
关于目标感,可以问候选人如下一些问题,是不是经常做计划?为什么会做这个计划?最近的计划是什么?计划是不是足够SMART?
关于自律,可以结合上面的问题继续追问,比如之前制定的计划完成度如何?如果没有完成是遇到了什么原因?如果完成了是因为计划的挑战性不够吗?借用Keep的格言:自律给我自由。
结合上面的问题,我们以跑步为例来具体说明一下。假设候选人给自己定了跑步的计划,一个自驱力强的人首先会给自己设定个有挑战的目标,比如一周跑步3次,每次6公里。同时还会有足够的自律保证目标的实现,如果计划的完成度很低很难说这个人自驱力强。
综上,自驱力强的人对自己会比较狠,正所谓社会我*哥,人狠话不多。

好奇心
好奇心大概可以分为两个层面,一是知道有什么,二是知道为什么
技术分享图片
所谓知道有什么,就是知其然,是指知道自己所从事的领域或感兴趣的领域正在发生的技术进展、技术创新有哪些。比如对Android候选人,可以问他Android最新版本是多少?包含哪些新特性?有哪些优秀的开源项目?这些项目的作者是谁?也可以问一些当下的热门技术领域,比如人工智能、深度学习、区块链、数字货币等,好奇心稍微强点的同学,对这些新事物应该都不会陌生。从上也可以看出好奇心和视野也有一定的正相关性,好奇心强的人往往也有比较宽的视野。

再说知道为什么,也就是知其所以然,除了知道有什么外,好奇心强的人还会去了解为什么。以区块链为例,如果候选人对这个领域感兴趣,可以继续追问如下一些问题,比如区块链的技术原理是什么?如何实现去中心化的?共识机制有哪些?看过哪些相关资料?
学习能力
技术分享图片
怎么识别一个人学习能力的强弱呢,笔者认为,候选人首先要有学习的意愿,其次要有行动,最后还有要有结果。面试时可以通过问如下的一些问题来了解候选人的学习能力,比如,最近读了哪些书?读完后有什么收获?是开阔了视野、提高了认知、还是在工作中有实践?工作中遇到过哪些之前没遇到过的问题,是如何解决这些问题的?这类话题很多,出发点就是考察候选人在遇到自己不了解、不熟悉的问题时是如何通过学习来掌握相关技能来解决问题的。当然面试官要有能识别这些问题难度的能力,如果只是解决了一个相对简单的问题,并不能说明候选人的学习能力很强。

一个学习能力强的人,会不断花时间去广泛涉猎、获取输入,可能是读书、订阅专栏、或是阅读源码,并在工作中不断去实践。同时,他也会不断提高自己学习的效率,比如用Google查阅资料而不是度娘,尽量阅读官方文档而不是二手资料,等等等等。相反,学习能力较差的同学很可能都没有花时间去学习,更别提有什么收获了。另外,据我观察,学习意愿强的同学一般会比较谦虚,正所谓敦兮其若朴,旷兮其若谷。通过观察这些特质,也能帮助面试官窥视一二。

沟通表达能力
沟通的目的是要正确的传递信息,好的沟通表达要简单明了,且能抓住重点。
可以通过问候选人一些偏主观的问题来考察其沟通表达能力。比如,面试开始前可以让候选人做个简短的自我介绍,通过自我介绍观察候选人的表达是否足够清晰。别看自我介绍是件小事,但就是有候选人介绍不好自己,具体表现为没有清楚表达自己的过往经历或者介绍时没有突出自己的亮点。

技术分享图片
也可以让候选人介绍下最近负责或参与的一个项目,好的表达方式是采用STAR原则,所谓STAR原则,即Situation(情景)、Task(任务)、Action(行动)和Result(结果)四个英文单词的首字母组合,它是结构化面试当中非常重要的一个理论。如果候选人在面试时能够采用该原则,那么大概率其在日后的工作中也会采用,果真如此的话,团队日常沟通会相对顺畅不少。更多可以参考STAR原则,这里不再赘述。

实在找不到话题的话,也可以让候选人介绍一个他比较擅长但是你不了解的领域,看他能不能说明白,沟通能力强的候选人会把相对复杂的问题通过浅显的语言表达出来。总之,只要留心,面试时还是很容易识别候选人的沟通表达能力的。

最后,推荐巴巴拉·明托的《金字塔原理》一书,虽然本书主要是讲结构化思考的,但对于沟通表达时理清思路,抓住重点还是大有裨益的,因为所有语言都是思考的产物。

技术规划能力
规划是对未来整体性、长期性、基本性问题的思考,并结合这些思考设计全面长远的发展计划和行动方案。和计划相比,规划更加具有前瞻性、全局性、战略性和方向性。是高级工程师的一个硬实力。

听起来有点虚,咱们举个具体的例子,以搜索系统为例,先梳理目前的现状:

  • 用的是一套开源系统,原始版本bug比较多,解决一个问题往往需要一周的时间
  • 高峰期性能问题严重,7天有4天会报警,整体稳定性在99.8%
  • 质量问题严重,4次升级出现了2次bug

可以看出,现有系统已经影响了业务的后续发展,需要做技术规划,对系统进行优化。优化前首先要定个小目标,这个小目标就是优化的方向,目标要遵循SMART原则。具体到这个例子,可以定如下的目标:

  • 稳定性提升到99.99%
  • bug率降到10%
  • 发现的问题当天跟进
  • 节省70%的机器
    技术分享图片
    有了目标后,后面就是对目标进行拆解。先是对规划做系统性的描述,清楚执行者自己的位置,这里推荐用五视图法(逻辑架构、开发架构、运行架构、物理架构、数据架构)把系统的架构图画出来,画出架构图后就可以方便的对系统进行分层,也方便对任务进行明确的拆分。接下来要根据阶段性可check的原则明确项目的优先级和里程碑。最后就是风险评估和执行阶段了。

说了这么多,那到底如何了解候选人的技术规划能力呢,下面几个问题可以参考下:团队目前遇到的最重要的三个问题是什么?有没有针对这些问题做过技术规划?具体目标是什么?目标是不是足够SMART?里程碑是什么?问完这些问题后,也基本上对候选人的技术规划能力了解一二了。

总结复盘能力
对项目进行总结复盘(不管是业务项目还是技术项目)也是一项能力,复盘的目的是从之前的经历(可能是成功的经历,也可能是失败的经历)中总结可供指导后续工作的经验。总结复盘的方式也多种多样,但万变不离其宗,主要还是围绕下面几个内容:目标回顾、进展评估、原因分析、经验总结,篇幅所限这里就不再赘述了。

技术分享图片
怎么识别呢,可以通过如下几个问题来简单了解下候选人的总结复盘能力。例如,有没有定期做过总结?总结的形式是什么样的?最近一次做总结是什么时候?总结后的结论或经验有哪些?关于复盘总结的话题比较大,想了解更多内容的话,给推荐大家一本书:《复盘:对过去的事情做思维演练》。

一些补充说明

  • 面试的过程更多的是挖掘候选人的亮点,而不是去找缺点

  • 一个人的发展不是一成不变的,即便当下某些能力比较弱,也不代表今后不会变强,所以最核心的还是要通过自驱力、好奇心、学习能力去看他的潜力如何

  • 对于校招或者刚工作不久的同学,会着重考察自驱力、好奇心、学习能力、沟通表达能力,对技术规划、总结复盘不做太多要求,但对于高级别的工程师或者技术团队的管理者,这两点是需要着重考察的
    美团点评的工程师文化
    最后跟大家聊一聊美团点评的工程师文化。看一家公司有没有工程师文化首先要看这家公司的技术基因,而技术基因跟公司的创始人或者创世团队有很大的关系。美团点评的创始团队以及大部分高管都是工科出身,部分还在早期写过代码,可以说公司的技术基因还是比较强大的。
    文化是个很虚的东西,不过通过了解团队认同的理念和做事的方式,我们还是可以从某个侧面了解一二。下面是我们认同和践行的一些理念:
  • Think Big, Act Small
  • Keep It Simple & Stupid
  • Done Is Better Than Perfect
  • Talk is cheap. Show me the code.
  • 大道至简
  • 做有积累的事情
  • Don‘t repeat yourself
  • You Build It, You Run It, You Own It
  • 自动化一切
    技术分享图片
    想学习更多Android知识,或者获取以上相关资料请加入Android技术开发交流2群:862625886。本群可免费获取Gradle、RxJava、小程序、Hybrid、移动架构、NDK、React Native、性能优化等技术教程!

:面试分享第31节:面试官角度分享面试与学习方法

...就被派出去进行校招和社招面试。和一些工作多年的资深工程师相比,我目前面试过的人数大概只有十几人次。面试人次虽然不多,但是我依然想进行一个总结分享,以此来帮助大家更好的准备面试。面试中,大多数的应聘者是... 查看详情

作为校招面试官,我想说几点

这周参加了今年校招的面试。被安排了两天的面试,本以为每天要面四人,结果第一天安排四人但被鸽🕊了两,第二天只安排了两人,所以强度并不大。整体看,觉得这一批学生的水平比过去略逊一筹。... 查看详情

宁可多花1000元租房,也绝不要去挤半小时地铁

...面试题,自己的能力就可以很快提高一样。作为一个研发工程师,看过很多公司的面试题,也参与过很多公司的面试,发现大厂的面试题更加具有代表性,虽然现在很多大厂的面试官也懒得自己出题了,不过经验老到的他们还是... 查看详情

看过太多大厂面试题,其实考的无非是这3点能力

...面试题,自己的能力就可以很快提高一样。作为一个研发工程师,看过很多公司的面试题,也参与过很多公司的面试,发现大厂的面试题更加具有代表性,虽然现在很多大厂的面试官也懒得自己出题了,不过经验老到的他们还是... 查看详情

面试java工程师时面试官通常问啥问题,该如何作答?

比如说面试官会问:谈谈你对java工程师的理解?谈谈你对软件开发行业的看法?等等,这些问题该如何回答起到比较好的效果,还有面试官问:谈谈你的薪资要求,该如何答。补充:我是应届毕业生,没有工作经验,没有面试... 查看详情

互联网公司的面试官是如何360°无死角考察候选人的?[z]

...少读者反馈,说自己在应聘一些中大型互联网公司的Java工程师岗位时遇到了不少困惑。这些同学说自己其实也做了精心准备,网上搜集了不少Java面试题,然而实际去互联网公司面试才发现,人家问的,和你准备的东西,对不上... 查看详情

中美贸易战,软件测试工程师怎么样面试上好的公司

首先买个关子,如果你是面试官,你希望招一个什么样的人进来?如果这个问题搞明白了,那么可以说测试岗位的面试,就变得非常轻松了。按照一般的惯例,面试官都会让你自我介绍,介绍你的项目经验,询问你的技术能力,... 查看详情

如何做一名有高度的移动开发工程师

2019年对应程序员来说,是一个多灾的年份,很多公司都进行了不同比例的优化和裁员。最近是找工作的高峰期,从很多同学的面试经历来看,现在只会单纯写业务代码的人找工作特别难,比如很多大厂的面试官都会针对性能优... 查看详情

python服务端工程师就业面试指导完整版

第1章Python服务端工程师面试指导-课程导学篇第2章面试流程介绍第3章Python语言基础考察点第4章Python算法与数据结构考察点第5章编程范式考察点第6章操作系统考察点第7章网络编程考察点第8章数据库考察点第9章PythonWeb框架考察... 查看详情

脉脉热议:美团java工程师面试后,吐槽问的太离谱!面试越来越难了

最近有不少读者给我留言,说Java的面试越来越难了,尤其是技术面,考察得越来越细,越来越底层。作为一名程序员,技术面试是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员... 查看详情

那些腾讯阿里字节等大厂面试官,问面试题背后到底在问什么?

前言从面试官的角度来说,面试中考察的题目,并不是仅仅考察这道题目本身,题目的对错并不跟最终结果直接挂钩。面试官更希望以题目为契机,考察面试者分析问题,解决问题的能力,以及交流过程中所体... 查看详情

java-面试官最爱的volatile关键字(代码片段)

...考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系... 查看详情

今天聊:阿里巴巴面试官是如何用一道编程题考察候选人水平?(代码片段)

自我介绍进入正题面试环节对面试官的一些挑战面试官和候选人的知识结构可能有差异=>可能会错过优秀的人遇到「面霸」,频繁面试刷题,但是实际能力一般=>招到不合适的人要在短短半个小时到一个小时内... 查看详情

大厂难进,java面试该如何一面即中?

...c;尤其是技术面,考察得越来越细,越来越底层。作为一名程序员,技术面试是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。如果你参加过一些面试,肯... 查看详情

面试官:springmvc如何保证controller的并发安全性?面试必问。。

来源:https://www.toutiao.com/article/6927297421139706376单例模式(Singleton)是程序设计中一种非常重要的设计模式,设计模式也是Java面试重点考察的一个方面。面试经常会问到的一个问题是:SpringMVC中的Controller是单例还是 查看详情

长文google面试官分步解析自己泄漏前的面试题,超多干货和建议(代码片段)

本文翻译自Google工程师/面试官AlexGolec的文章:GoogleInterviewQuestionsDeconstructed:TheKnight’sDialer;翻译:实验楼扫地阿姨;原文链接作为一名Google的工程师和面试官,今天是我第二次发文分享科技公司面试建议了。这里先声明:本文... 查看详情

那些大厂面试官真的只是单纯问问题吗?

前言从面试官的角度来说,面试中考察的题目,并不是仅仅考察这道题目本身,题目的对错并不跟最终结果直接挂钩。面试官更希望以题目为契机,考察面试者分析问题,解决问题的能力,以及交流过程中所体... 查看详情

java就业指导

?想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写... 查看详情