在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
程序员在面试时如何考察原始编码能力?在面试中通过较快的方式测试出候选者的原始编码能力呢?传统的 coding 办法并不好用,反而某些别的方式更能发掘到人才。
企业在招聘开发时需要考核多轮面试来确保候选人的能力合格。在众多的能力之中原始编码能力可以说是最重要考核标准之一。可以很快地训练一个人掌握某个领域的知识,但即便再广泛深入实践的训练,也很难弥补缺乏原始编码能力的短板。
一、关于传统方法的弊端
典型的 Coding 笔试:“编写一个函数,反转字符串中单词的字母顺序。”然后在接下来的半小时或更长的时间里候选人在白板上划掉一些东西。这种方法看起来能筛掉不少人,但其实作用很“弱”根本达不到测试能力的要求。
首先,同样的问题被传来传去,考生通常会非常努力地练习记忆答案。你是在考核他们的编程技能还是记忆答案的能力?
其次,这些问题通常是“吊诡”问题,需要某种深刻的洞察力才能提出 O(log(n)) 解决方案。在面试的时间范围内即使是最聪明的候选人,也几乎从来没有真正的洞察力。
面试主动权的天平向有利于面试官的方向倾斜。谁喜欢在法官面前笨拙地编写代码,而面试官却将决定你未来几年的职业前景?
在白板甚至文本文档上编写代码既不自然又缓慢。没有人在白板或记事本上“画”代码作为日常工作的一部分。大家真正做的是:在一个 IDE 中用大量的 Google 来编写代码。
在实践中是如何做到这一点的,在实践中,面试候选人的过程一般是这样的:对于每一个新的面试周期,创建一组预测输出的练习,这些练习一开始很容易,然后变得更难。当前的设置从一个基本函数调用开始,然后是多级函数调用,然后是递归,然后是 side effects 。这些通常都是“假装”的功能,旨在让应聘者迅速取得成功,并为提供面试剩余部分的一些线索。
对于更高级的问题从写的东西中提取代码。目前,考核的“难题”是探索对“读”操作和异步操作的同时进行的抽象能力,其他的,比如阅读一段未标记的例程,它们执行大家相当熟悉的算法,例如排序或树遍历,以及从错误输出中查找错误等。
二、面试者如何提升技能
每年都有大量的开发者前来应聘,他们可能想知道如何提升自己的技能,以便在这样的面试中表现出色。的答案很简单:多动手写代码,因为常规的练习是无法替代的。
如何练习?简单的方法是启动一些你感兴趣的、非琐碎的次要项目。如一个游戏,一个网站,一个应用程序等。每周花 4-8 个小时研习这些代码,让它成为你喜欢使用的东西并能引以为荣。此外,这样也方便应聘者将来的面试呈现,比如将源代码放在 github上,以便未来的雇主可以看到候选人平时的功底积累和工作方式。
面试应当结合实际,所有编程工作都更需要代码阅读,而不是编写代码。能够清晰地思考,并辨别出别人的胡说八道是至关重要的。
通过让某人反转字符串或排序数组来面试他们,简直是在考核错误的能力。不在乎你以前是否见过这个问题,是否像许多算法测试一样记住了答案——唯一重要的是你能否思考、理解问题、设计和实施解决方案。能够阅读真实世界的代码并说出它的优点和缺点,这比粉碎一个冒泡式的练习更能说明你的能力。
基于浏览器的编码环境使情况变得更糟。在工作中开发者所习惯的编辑器使用自动完成的建议、脚本、宏、代码片段等进行调整。而在代码考试中却经常使用 CoderPad 之类的东西,不具备上述调整功能,而且不时会造成浏览器窗口关闭或其他情况浪费更多的时间。
开发者参与面试时,往往会被要求手写一段代码,这种做法在网络上一直持有反对的声音:“考察的背题能力”、“代码写得好,不代表能当面写算法”等。通过文中“阅读一段代码,要求候选人预测输出”的面试过程不失为一种有效的初步技术筛选手段,节省淘汰不适合者的时间成本。 输入代码是工作中最不重要的部分。阅读、理解和解决问题才是工作中更被重要的能力。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
面试常见问题汇总 人际交往篇
本文整理了面试常见的问题,并专门汇总了一篇被问到关于职场中人际交往的面试题及答案,希望可以帮助大家在面试的时候,能够胸有成竹面对面试官。
6947
2019-07-30 19:14:16
如何选择IT培训机构?有哪些注意事项?
随着互联网的迅猛发展,IT人才成为各大企业争抢的“香饽饽”。IT人才市场的巨大空缺使得培训机构如雨后春笋应运而生。那么如何选择IT培训机构?有哪些注意事项?这些问题成为摆在初学者面前的首要难题。其实IT培训机构的选择,主要看口碑和教学,下面小编为大家详细讲一下其中的注意事项。
3887
2019-08-20 11:02:51
微盟程序员删库事件始末
相信这几天闹得沸沸扬扬的微盟程序员删库事件,大家都有所耳闻了。近年来,类似程序员删库跑路的新闻屡见不鲜。其实无论是对于程序员,还是公司管理层来讲,这类事件的出现都是完完全全可以避免的。因此,我们都应该从中吸取到一些教训和经验。下面我们一起来回顾这件事情的始末,分析一下具体的损失情况和从中得到教训。
12284
2020-03-03 20:37:01
零基础转行做程序员要学什么?
随着IT技术的不断发展,程序员成为了大众眼中高薪和好前途的代名词,这也不断吸引许多计算机零基础的小白纷纷转行想成为程序员。不过程序员是一个技术门槛比较高的行业,要想入行首先要有过硬的专业知识和技能。那么,零基础转行做程序员要学什么?一般来说,计算机组成原理、编程语言的特性、计算机网络、操作系统和数据库这些底层基础知识必须掌握,这样才能在IT行业走得更远!
5591
2020-07-14 11:29:31
常见面试题之Spring的循环依赖
最近几年,Spring的循环依赖可以说是经常会被问到的面试题。在许多大厂的开发面试中,Spring的循环依赖总是被频频问起。本文为了帮助大家更好地准备面试,总结了循环依赖的一些相关问题。相信大家看完下面的内容,就能对Spring的循环依赖有一个全面的认知!
4753
2020-07-14 15:51:19