写点什么

作为面试官,如何考察工程师的软素质,Android 开发经典实战

用户头像
Android架构
关注
发布于: 刚刚


如果你是一名面试官或者会有机会参与到团队的面试工作,那么通过阅读本文你可以了解到如何识别候选人的软素质并在面试环节做把关。如果你是一名刚入门的技术管理者,本文也许可以帮你打开识人带人的大门。更多的情况,大部分同学还是参与到一线的开发中,除了埋头写代码外,其实更应该了解自己的短板,查缺补漏,这样才能更快更好的成长,希望看完本文后对你也有所启发。

技术面试流程


通常情况下,互联网公司会有四轮面试,前三轮是技术面,第四轮是 HR 面。其中,一面、二面会着重考察候选人的专业知识和专业技能,对软素质也会做一定程度的把关,三面会着重考察候选人的软素质,第四轮 HR 面除了考察软素质外,更多的会考察候选人的文化匹配情况。



可以看到软素质考察会贯穿到面试的始终,只是每轮侧重点不一样。上面说的是只是通常情况,具体要面试几轮以及每轮面试要考察的点视情况不同可能会有所调整。

软素质模型

好了,问题来了,要考察软素质,首先要定义软素质有哪些,最好是有个软素质模型,这个模型还要尽可能的适应公司发展的要求以及匹配公司的工程师文化。下面说说我对工程师软素质模型的理解。



上图是我总结的工程师软素质模型,我们从内往外说起。


最核心的是自驱力,是一个人内在的东西,我们说一个人是不意愿成长,一个人是不是自律,指的就是他的自驱力,自驱力是一个人成长的源动力,自驱力好的人后面发展的潜力也会比较好。


中间一层是好奇心和学习能力,技术日新月异的今天,一个人如果不对不断变化的世界保持好奇心,且不断学习精进自己,很可能会跟不上节奏。有句老话说的好,你必须不停地奔跑,才能保持在原地,说的就是这个意思。


最外层分别是沟通表达能力、技术规划能力、总结复盘能力。良好的沟通表达能力不仅对个人发展有着至关重要的作用,对团队合作也大有裨益。技术规划能力强的人对问题往往理解的比较深刻,且目标感很强,更容易拿到结果。总结复盘能力能够帮助你找出自己的不足,并形成方法论去指导后面的工作。


如何理解这些软素质之间的关系呢,如果把人比作汽车的话,自驱力就是一台汽车的发动机,好奇心和学习能力是燃料,沟通表达能力、技术规划能力、总结复盘能力是实际表现出的外在性能。

如何识别软素质


如果拿冰山作比,软素质更多是隐藏在冰山之下,如果要识别考察一个人的软素质,就需要观察冰山之上的部分,也就是一个人的行为,所谓的透过现象看本质。下面就一一说明如何识别这些软素质。

自驱力

可以从两个方面来考察候选人的自驱力:目标感和自律。自驱力强的人做事情会有明确的目标,同时比一般人更加自律。



关于目标感,可以问候选人如下一些问题,是不是经常做计划?为什么会做这个计划?最近的计划是什么?计划是不是足够SMART


关于自律,可以结合上面的问题继续追问,比如之前制定的计划完成度如何?如果没有完成是遇到了什么原因?如果完成了是因为计划的挑战性不够吗?借用Keep的格言:自律给我自由。


结合上面的问题,我们以跑步为例来具体说明一下。假设候选人给自己定了跑步的计划,一个自驱力强的人首先会给自己设定个有挑战的目标,比如一周跑步 3 次,每次 6 公里。同时还会有足够的自律保证目标的实现,如果计划的完成度很低很难说这个人自驱力强。


综上,自驱力强的人对自己会比较狠,正所谓社会我*哥,人狠话不多。

好奇心

好奇心大概可以分为两个层面,一是知道有什么,二是知道为什么



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


再说知道为什么,也就是知其所以然,除了知道有什么外,好奇心强的人还会去了解为什么。以区块链为例,如果候选人对这个领域感兴趣,可以继续追问如下一些问题,比如区块链的技术原理是什么?如何实现去中心化的?共识机制有哪些?看过哪些相关资料?

学习能力


怎么识别一个人学习能力的强弱呢,笔者认为,候选人首先要有学习的意愿,其次要有行动,最后还有要有结果。面试时可以通过问如下的一些问题来了解候选人的学习能力,比如,最近读了哪些书?读完后有什么收获?是开阔了视野、


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


提高了认知、还是在工作中有实践?工作中遇到过哪些之前没遇到过的问题,是如何解决这些问题的?这类话题很多,出发点就是考察候选人在遇到自己不了解、不熟悉的问题时是如何通过学习来掌握相关技能来解决问题的。当然面试官要有能识别这些问题难度的能力,如果只是解决了一个相对简单的问题,并不能说明候选人的学习能力很强。


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

沟通表达能力

沟通的目的是要正确的传递信息,好的沟通表达要简单明了,且能抓住重点。


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



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


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


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

技术规划能力

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


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


  • 用的是一套开源系统,原始版本 bug 比较多,解决一个问题往往需要一周的时间

  • 高峰期性能问题严重,7 天有 4 天会报警,整体稳定性在 99.8%

  • 质量问题严重,4 次升级出现了 2 次 bug


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


  • 稳定性提升到 99.99%

  • bug 率降到 10%

  • 发现的问题当天跟进

  • 节省 70%的机器



用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
作为面试官,如何考察工程师的软素质,Android开发经典实战