编程测试被候选人吐槽了?原因可能是这些

本贴最后更新于 311 天前,其中的信息可能已经斗转星移

一位前 Facebook Tech Lead 曾经说过:面试就好像是在第一次约会的时候,就决定是不是要跟对方结婚。

这虽然是个无奈的笑话,但也真实地反映了技术面试中的一个难题:面试官需要在相当有限的时间里,准确地判断候选人的技术水平

因此,很多技术面试官都会在面试流程中加入一个编程测试的环节,来确认候选人是否真的具备了岗位所需的技术能力。但是,想要进行一次高质量的编程测试,却不是一件简单的事情。

那么,哪些因素会给编程面试的结果带来负面影响,又应该如何规避呢?

图片

4 个原因,让编程测试的考核效果大打折扣

在硅谷,编程测试往往是技术面试流程中的第一步。然而,在 Reddit、LeetCode 等平台上,很多工程师甚至会拒绝某些公司的编程测试。同样的声音,在国内的技术论坛中也并不鲜见。失败的编程测试,往往会让应聘者对公司留下糟糕的印象。

图片

我们在研究中发现,如果编程测试的效果不理想,通常可以归结为下面的一个或几个原因:

原因 1:平台使用不便

如果写代码的平台常常有故障,或者缺乏一些必备的功能,候选人就必须先花大量的时间弄清楚如何参加考核,而不是把注意力放在如何解决问题上。这时,候选人的答题体验势必不会太好,自然也就难以发挥出自己的正常水平。

原因 2:题目质量不佳

题目的质量是编程测试的灵魂。在设计考核题目时,技术面试官容易踩到这样的坑:

• 题目本身理解难度太高,需要太多的上下文进行解释,候选人很难在短时间内读懂题目;

• 用理论和算法题来考核候选人**,然而这类题目与岗位所需的技能关联性不足,解法在实际工作时基本用不上或者不常用,这类题目很容易淘汰一些编程能力强、但却不擅长刷题的工程师。

原因 3:互动性不足

编程测试不是大学里的闭卷考试,假如只有候选人一个人“埋头苦写”,面试官很容易只关注最终的结果,而忽视了候选人的编码思路是否清晰、细节考虑是否全面、遇到 Bug 的调试方法是否合理,这种单向的编程测试很容易让面试官得出片面的结论。

相反,编程测试最好能像打乒乓球一样,双方需要有来有回地“交锋”,面试官才可以更细致地评判候选人的技术思考力、架构能力和工程化能力。

图片

原因 4:面试复盘靠记忆

在发出一个 Offer 之前,技术面试官往往会面试多个候选人。面试过程中,面试官的关注点基本集中在倾听和思考候选人的回答上。面试结束后,多数面试官只能依靠记忆力或者一些简单的面试记录,来评定谁的代码质量更好。一旦面试人数增多或者面试流程拉长,面试官的记忆很有可能出现偏差,给用人决策带来风险

针对这些原因,面试官应该如何应对,才能让编程测试发挥原本应有的作用呢?《论语》中的一句话给了我们一点提示——工欲善其事,必先利其器

图片

基于 1024PaaS 上的轻协同 IDE 环境,让编程测试更流畅高效

寻找“利器”,看似是工匠提升手艺的捷径,但在技术面试中借助工具的力量也不失为一个好办法。ShowMeBug 就是技术面试官的“利器”。

早在 3 年前,ShowMeBug 构建了一个全新的基础设施研发团队(团队名为 1024PaaS),对云协同 IDE 进行了重构式的设计与研发,让它拥有了轻****量简洁的编程界面、自动化的环境配置与流畅的跨平台协作体验,能够深度考核技术人员的实战能力。

那它具备哪些特性呢?

第一,开箱即用的云上编程环境,不仅支持 38 种编程语言,更支持 Spring、Django、Rails、Vue、React 等 11 种实战工作主流的开发框架

第二,用户体验友好,支持答题区 TODO、答题区 FIXME、文件树锁定隐藏搜索等功能,让双方更针对具体问题进行讨论,最大程度降低题目理解成本。

第三,互动性强,文件树、编码区、Shell 和 Console 组件都可以实时同步状态,在面试环节,支持多人协作,实时看到对方的动作。

拥有了这个工具之后,我们又应该如何将它应用到编程测试中去呢?ShowMeBug 给你支招,接着往下看。

图片

使用 ShowMeBug,将编程测试升级为实战考核

基于 1024PaaS 上的轻协同 IDE,技术招聘不再束手束脚,技术面试官可以轻松在这个 IDE 上,使用以下功能,将“平台使用不便、题目质量不佳、互动性不足、复盘困难”这 4 个问题逐一击破。

项目级真实环境,候选人轻松上手

首先,基于 1024PaaS 上的轻协同 IDE 为候选人打造了一个项目级真实编程环境

这个编程环境与本地开发环境非常相似:有源代码编辑器(支持代码补全、代码高亮、代码注释、语法检测与错误提醒、代码跳转等一系列本地 IDE 功能)、有可以看到代码实时渲染效果的内置浏览器、控制台(Console)、终端(Shell)与文件树

图片基于 1024PaaS 上的轻协同 IDE 界面展示

在这个易于使用又强大有力的开发环境下编程,候选人基本没有学习成本,有助于他们更充分地发挥自身的技术能力。

多种编程框架 + 海量实战题,面试随取随用

前文我们说到,题目的理解难度与质量会在相当程度上影响编程测试的结果。有了基于 1024PaaS 上的轻协同 IDE,面试官不仅可以快速自定义题目,还可以直接调用岗位题库

如果面试官想要自定义题目,可以一键调用所需的编程语言或框架,几乎每个框架和语言都有详细的使用说明,还可以提前设置好测试用例,在几分钟内完成出题。

图片前端框架 Vue3 的使用说明

当编程题目中有多个答题点需要候选人补充代码时,面试官可以给题目设置答题区、答题引导与评分引导。设置完成后,答题区就会在候选人的答题界面中被高亮标注,方便候选人快速定位、高效答题,进一步降低题目的理解成本。

图片候选人视角下已被高亮标注的答题区

当然,面试官也可以直接使用 ShowMeBug 的岗位题库。这个题库支持选择、填空等 10 种题型,其中最具特色的是实战工程题型,这类题目在考察候选人的代码能力上有着独特的优势

图片ShowMeBug 岗位题库

为什么这么说呢?我们来看一个例子:当一位面试官想了解前端工程师对 Vue3 样式绑定与列表渲染的掌握程度,可以选用下图的这道题,让候选人直接写出相应代码,实现题目中的功能需求。这类题目的答案无法通过“刷题”获得,候选人到底有没有真实力,只要拿出类似的实战编程题一测便知

图片ShowMeBug 前端框架题实例

为了保证题库的质量,ShowMeBug 成立了一支技术评估小组,专门优化与打磨这些编程题,并外聘了行业专家顾问,保证题库的时效性与专业性,有效降低了测评的误差。

截止目前,ShowMeBug 的题库中心已累计了 4000 多道题目,并正在以每月 400 道题目的更新速度高频扩充,面试官可以随时调用题库中的任意题目,不用再担心编程题目不实用、不够用的问题。

实时协同 Coding,提升面试互动感

面试的互动性不仅关乎候选人的体验,更有助于技术面试官观察候选人的编码思路,增加技术考核的深度。

基于 1024PaaS 上的轻协同 IDE 环境,让编程测试的互动感有了巨大的飞跃。它保证了代码编写过程中的组件同步、鼠标同步与视角同步,而且还做到了 0% 代码冲突率,延迟 50ms 以下,无论是线下还是远程面试,代码交流都能畅通无阻。

图片ShowMeBug 协同 Coding 功能展示

此外,ShowMeBug 还有一个特色功能——在线 Debug。在给代码打上断点并点击 Debug 按钮后,候选人就可以对代码逐行调试,并在调试完成后,点击运行用例查看调试结果。技术面试官可以借此考核候选人定位、调试、修复 Bug 的能力。

图片ShowMeBug 在线 Debug 功能

字节级回放技术,降低人才决策风险

当面试人数越来越多时,技术面试官需要将多个候选人的表现进行综合比较。这时候,ShowMeBug 的字节级回放技术就能派上用场。

ShowMeBug 会将候选人在技术测评与在线面试中的每一个操作完整记录下来,并自动将其储存在云端服务器上。其中,切屏、代码复制、Debug、运行用例等特殊操作,还会在时间轴上被特别标注,方便面试官直接跳转查看。

图片ShowMeBug 回放功能

在回看过程中,面试官还可以倍速播放或拖拽进度条,既能节省时间,也不错过任何细节,更好更快地完成面试复盘,降低人才决策的风险。

总的来说,只有当编程测试在一个上手简单、使用体验好、互动感强的环境下进行时,候选人才可以毫无保留地展示自己的编程技能,ShowMeBug 所倾力打造的就是这样一个环境。

更重要的是,1024PaaS 引擎是一个高效、可靠、易用的技术测评工具,这个工具不仅支持多种编程语言和框架,还具有友好的用户界面和强大的互动性,可以让面试更加高效、聚焦。

技术官面试官不必靠感觉、凭经验去判定一个候选人能否胜任岗位,而是可以通过科学的考核方法与系统性的面试复盘,更高效、更准确地完成技术招聘。

彩蛋时间

这个轻协同 IDE 背后,我们还有一个小小的故事... >>>《一次查找分子级 Bug 的经历,过程太酸爽了》

  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    529 引用 • 3527 回帖
1 操作
ShowMeBug 在 2023-05-22 15:19:49 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...