如何测试开发人员、数据科学和 devops 求职者?

在没有看到一些代码的情况下,几乎不可能评估一个全栈开发人员 ,数据科学候选人或devop候选人。 面对面访谈和其他主观评估形式是不正确的偏见来源 。 因此,查看实际工作对于雇主找到合适的人至关重要。

如果您是候选人怎么办

拥有实际的投资组合可以使开发人员,数据科学和开发求职者与其他申请人区分开。 但是,候选人可能没有公开可参考的工作-NDA或知识产权合同条款涵盖了他们所做的一切。 它们也可能太入门,根本无法进行任何可参考的工作。

候选人创建投资组合的一种方法是构建一些有用的东西,然后将其放置在GitHub上 (或者一旦Microsoft以Yammer的方式对其进行修改 ,便替换掉它 ),雇主可以考虑将其与其他申请人区分开。 作为一名招聘经理,我通过GitHub托管的工作快速跟踪人员。

招聘时该怎么办

作为雇主,在使用了此类公共工作来筛选候选人之后,您应该考虑为通过初始公共代码测试的申请人创建一个项目,以完成该项目。 通过此类项目,您可以根据自己的具体情况评估应聘者,从而使应聘者对他们将要做的工作有更好的了解。

以下是一些评估不同类型候选人的项目构想。

为全栈和应用程序开发人员测试项目

所有项目均应具有清晰的规范和说明,并可能具有UI的屏幕图。

  • 奶奶的通讯录:编写一个简单的应用程序来保存奶奶的地址。 她不需要安全性(需要在计算机上运行它),可伸缩性或任何风吹草动。 此应用程序显示您可以编写一个简单的CRUD应用程序来测试数据库,HTML,代码组织和单元测试技能。 它还确定您的本机编程语言。
  • REST股票报价:考虑让Web开发人员候选人编写一个应用程序以从上市公司获取股票和财务信息 。 该项目显示了他们是否可以使用他们不直接控制和设计简单接口的API。 它还测试代码组织和完成全栈工作所需的其他技能。 在评估Web开发人员候选人时,我自己使用了这个tst。
  • 图像搜索应用程序:对于更多高级数据工程师候选人,请考虑要求他们创建图像搜索应用程序 。 这将测试他们是否可以使用定义良好的API( 例如Google Vision ),具有ETL技能以及是否可以在非RDBMS中处理复杂的数据问题。 如果您要求他们创建前端,您甚至可以使用它来测试他们的UI开发技能。

数据科学家测试项目

  • 偏好设置应用:请数据科学家和数据科学开发人员候选人预测用户的偏好或提出建议 。 目的是测试他们对现代机器学习技术的熟悉程度。 可能的数据集包括Best Buy , Movie Lens以及其他任何具有某种间接或直接偏好数据的数据。 他们应该能够获取任何这些数据集并为用户创建“建议” 。
  • 游戏AI:这是另一个测试数据科学概念(包括深度学习和规则系统)熟悉程度的项目。 您可以使用像国际象棋这样的基本游戏 ,但是也有开源游戏 。 (只要确保您的选择范围合理即可,例如Freeciv就是一款有些复杂的游戏,其AI需要花费数年的时间才能开发。)一个挑战是找到合适的语言和界面。 这也测试了开发人员面临的第一个问题:与他人的构建环境打交道。

开发人员测试项目

对于开发者候选人,假设所有项目都需要使用Ansible , Puppet , Chef或类似技术的脚本。 没有实际的开发工具就无法完成项目。

  • 在Amazon Web Services或Google Cloud Engine上托管和保护:选择一个开源应用程序或平台组件(例如Solr , Couchbase或MariaDB),然后让人员将其安全地安装在云中。 可以使用“免费”或试用节点来完成。
  • 检测并扩展:为更高级的devop候选人提供测试脚本,该脚本可以访问REST API并生成数据。 让他们创建脚本以检测过度使用,该脚本将自动分片并创建第二个节点。 选择更无状态的东西,例如用于简单测试的应用程序服务器,或更像Solr的高级测试。 道德上,您应该提供节点,因为这可能是成本更高的评估,候选人不应该为此付费。
  • 复制并提供冗余:使用与用于检测和扩展测试的测试脚本相似的测试脚本,使候选者还设置WAN 复制 (aka CDCR ,又称为“复制”)以进行灾难恢复。 结果应该仅仅是该技术固有的“可接受的”数据丢失水平及其延迟容限。

From: https://www.infoworld.com/article/3279725/how-to-test-developer-data-science-and-devops-job-candidates.html

你可能感兴趣的:(如何测试开发人员、数据科学和 devops 求职者?)