数据科学与大数据技术面试建议与技巧之危险信号
2018-09-30 来源:raincent
本文列举了12个危险信号,当数据科学家职位面试中发现公司存在这些危险信号时,你应该要远离这家公司。如果你想加入一家公司作为他们的第一个数据科学家,你将面临一系列不同的挑战。例如你极有可能要做很多数据工程工作(参见信号1),拓宽自己的数据科学思维模式。这些工作的确需要有人来完成,但我们通常建议你不要担任第一个数据科学角色,除非你有数据工程背景并且想做这方面的工作。
如果你所面试的公司只有一位数据科学领导者并且他们正在建立一个团队,你可以询问他们计划如何处理下面提出的问题。但请记住,承诺一个理想的系统总是比实现一个更容易。
数据科学团队运行方面的危险信号
1、没有数据工程或基础设施
数据科学要求数据在分析环节能被方便使用或获取。如果公司没有一个维护良好的数据基础设施,那么你将无法获得工作所需。数据工程师的职责是获取数据以供数据分析环节使用,如果公司没有数据工程师,那么你不得不自己完成数据获取工作。如果你觉得你能胜任数据工程师的角色,上述问题可能无所谓,否则你不得不在获取有价值的数据上花费很多精力。
在面试期间要问的问题:贵公司的数据基础设施是什么样的?维护者是谁? 数据通常采用什么格式(Excel、SQL数据库、csv)?
2、没有数据科学家之间的同行评审
一个强大的数据科学团队有办法确保任何错误不被遗漏。实现方法包括代码审查、练习演示以及与团队的一致性检查。如果团队不能始终如一地执行这些操作,那么错误在工作交付之后才会被发现,并导致某些人因此受到斥责。
在面试期间要问的问题:团队采取哪些步骤进行质量保证和同行评审?
3、团队中没有标准的语言集
许多数据科学团队允许团队中的任何人使用他们想要使用的任何语言。这个想法的初衷是,如果每个人都使用他们喜欢的语言,工作将更快完成。但这种做法存在一个很大的问题:当每个人都使用不同的语言时,人们无法将自己的工作交付给其他人。每项数据科学任务都由独立的个体负责,如果他们辞职了、生病了、或者需要帮助时,没有人能够接手他们的工作或者帮助他们,这就会造成一个非常紧张的工作环境。其实在工作中使用R、Python、甚至SAS其实都是可以的,但团队必须使用一套一致的语言。
在面试期间要问的问题:您的团队使用哪些语言?贵公司如何决定是否采用新语言?
4、不了解数据的需求层次
与没有数据基础设施类似,有些公司对人工智能这样的概念感到非常兴奋,但却没有相应的基础。机器学习和人工智能要求公司具备高水平的数据科学成熟度,包括了解如何构建模型、它们的局限性以及如何部署它们。当公司不切实际的期望与现实相遇时,你可能会受到指责。
在面试期间要问的问题:公司如何平衡花费在实现复杂算法(如人工智能)与基础性工作(如清洗数据、检查数据质量和添加日志)上的时间?
5、团队没有版本控制
成熟的数据科学团队使用git(开源的分布式版本控制系统)来跟踪分析和代码的变化。不够成熟的团队则使用诸如共享网络文件夹之类的方法,采用这些方法会导致你无法了解内容是何时被更改的、内容为何被更改、以前版本的内容是什么。甚至有些团队根本不会共享代码,只依靠数据科学家的个人笔记本电脑进行工作。你应当像避免瘟疫一样,对最后列举的这种团队敬而远之。 因为团队若无法共享代码,则团队成员也无法一起工作。
在面试期间要问的问题:贵公司如何在团队中共享代码?是所有代码都是共享的还是只是其中一部分?
6、未划分运行报表和做分析间的界限
创建和维护报表、构建数据科学模型、将机器学习模型投入生产等不同的工作任务所需的技能组合都是不同的。如果公司无法明确每个人具体做什么工作,那么你将以完全不同于你预期的方式开始并结束你的工作。相信你并不希望在第一天进入公司时,期望的工作内容为建立时间序列预测,结果发现实际工作任务却是刷新月度销售的Excel电子表格。
在面试期间要问的问题:贵公司如何划分报表管理、分析、生产模型构建的任务?
公司如何评估他人方面的危险信号
1、面试过程是非结构化的
结构化的面试过程意味着每位应聘者都能得到相同的问题集,从而可以更平等地进行比较。这样做不仅可以减少偏见,还可以促使团队仔细思考在被面试者身上,什么是团队所看重的。如果面试过程是非结构化的,即面试官似乎总是在问一些即兴的问题,那么这就充分表明公司还没有弄清楚自己到底想从应聘者身上得到什么、以及如何得到它。如果公司不知道自己想要什么,那么在工作中你也很难给出他们想要的东西。
建议:观察公司是否为面试准备了一系列问题,或者询问他们是如何选择问你的问题。
2、在面试中没有为你预留提问时间
因为面试也是为了让你了解公司情况,所以你需要有时间去询问、去了解。如果公司没有为你预留提问时间,那么说明面试官并不关心你在面试中是否感到舒适,也没有兴趣让你评估自己是否适合该公司和该职位。
建议:如果在面试中你没有时间提问,那么你可以给面试官一张纸条,询问面试官何时适合询问他们问题。
3、在面试中没有考察编程能力
虽然编程不是数据科学家最重要的技能,但它是工作中你不得不做的事情。面试的编程部分可以是现场测试,也可以是带回家的测试,但无论如何它肯定是应该存在的。 如果面试过程不包括编程,可能是出于以下几个原因:(1)数据科学团队是新建立的,所以没有人可以主持面试。在这种情况下,你应当意识到你可能无法在工作上获得支持。(2)团队没有时间进行编程面试,这是他们不重视招聘的一个迹象。(3)工作中不需要编程,使用诸如Tableau和Excel等BI(商业智能)工具即可满足工作需求。(4)他们非常信任你的简历内容,所以他们不需要测试你。虽然听起来像是夸赞,但这表明他们迫切希望雇用你。
建议:如果面试不包括编程部分,请询问他们是如何判断哪些应聘者具备该工作所需的技术技能。
4、对你入职的前期工作没有计划
公司对于发布的职位招聘应当是有充分理由的。如果公司无法清楚地说明你在前几个月要做些什么,那原因可能是:公司被现有的工作所压垮,需要招聘一些人来一起解决问题。对于团队而言,这是一种非常危险的成长方式。更糟糕的是,这通常发生在没有新员工入职流程的公司。所以这些情况对整个团队来说都非常有压力的,而且这些压力通常也会落在你身上。
建议:请询问公司是否有明确的项目和入职流程。如果他们没有非常明确的答案,那就赶紧溜吧。
5、对员工的进修不提供支持
数据科学是一个快速发展的大型领域,如果你不能持续地学习,你就会落后。因而团队应该有相应方法来帮助团队成员保持学习进度。例如可以为员工的在线教育和会议提供资金支持,可以每月组织会议让员工们讨论行业博文,也可以鼓励员工参加会议、开源项目或系列演讲。如果公司愿意这样做,表明公司愿意投资于他们的职员。
建议:询问公司如何支持团队的持续进修。公司是否为会议或研习班提供资金支持?
6、不同面试官对职业的认知不一致
通常,面试让你能与公司内部的许多人进行交谈,包括你未来的经理、队友和商业利益相关者。如果对于你所应聘职位的责任、工作类型、角色提供的内容、以及工作的时间,他们有不同的理解与要求,那么他们可能都不认可彼此的观点。如果他们不能达成一致,尤其是在关于你最终要做的工作的相关事情上,那么你的工作最终会充满冲突。
建议:记住面试官们在不同面试中的发言。如果发现不一致,询问为什么。
标签: 大数据 大数据技术 代码 数据分析 数据科学与大数据 数据科学与大数据技术 数据库 网络
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。