〔沙尘暴〕引言〔沙尘暴〕 Medium网站上有很多用户都在找数据科学家或数据分析师的岗位,当然他们对这两种职位的面试过程也很感兴趣。 而我曾经分别在几家公司参加过这两个岗位的面试。 所以接下来我会详细地介绍这两个职位的面试过程,并着重分析它们的异同点。 〔沙尘暴〕数据科学家面试〔沙尘暴〕 数据科学家们有望在自己的公司实现人工流程的自动化。 通过使用sklearn和TensorFlow等库里的机器学习包,他们可以提取数据、清理数据、训练和评估模型,并为终端用户提出建议或预测。 在这一过程中,一部分侧重于编程和算法,而另一部分侧重于软技能,比如开发商务问题、向终端用户解释结果等。 还会用到jupiterNotebook之类的工具,以及Python和R(有时是SAS)这样的编程语言。 图源:SebastianHerrmann 数据科学家面试的准备过程可能会让人抓狂,希望以下的步骤能为你带来一些启发和帮助,让你对下一次的数据科学家的面试充满信心。 总体来说,招聘过程包括了招聘人员或经理对你的的电话筛选。 之后,再和团队一起进行概念和编程面试(有些面试不包括编程,但会让你对一个将来可能在公司遇到的常见商务问题做一个评估项目)。 接下来,需要你向其他数据科学家或高级产品经理等高层领导阐述你的发现。 最后,总结一下你从之前的面试中学到了什么,以及为什么你认为自己是这个职位的最佳人选。 〔沙尘暴〕数据分析师面试〔沙尘暴〕 理想的数据分析师要能够查询数据库表(databasetables),执行连接(performjoins),进行子查询(subqueries)和报告数据请求(datarequests)。 会与其他利益相关者共同收集每个诉求相关内容。 会使用SQL、PostgreSQL等工具或者其他的查询平台,包括Tableau,PowerBI及其他图表工具。 数据分析师的整个面试过程有很多步骤都和数据科学家非常相似。 不过,他们也有一定的区别与独特之处,就是面试过程中测试的概念和编程题目。 面试一开始,招聘人员或招聘经理会对你进行电话面试。 然后,你会见到团队中的其他数据分析师,并与他们一起讨论数据库等关键概念。 之后,你需要完成一个编程挑战,这个步骤通常会涉及到join和subquery等常见的SQL问题。 接下来,你得向另一个数据分析师或利益相关者(如客户成功经理)解释你得到的结果。 最后,需要你跟招聘经理讨论之前的面试,以及你对整个团队的看法,并阐述为什么你可以胜任该公司的数据分析师。 〔沙尘暴〕相同点与不同点〔沙尘暴〕 图源:MarandaVandergriff 面试过程 接下来你会看到,数据科学家和数据分析师的面试其实是一个相似的过程。 不过,虽然他们的过程相似,但细节却大有不同,这点在后文会提到。以下是面试过程中的一些共性: 相同点: 招聘人员的电话初选与招聘人员间的通话招聘经理的筛选与未来招聘经理的通话专业概念面试与职位专业人员面试(团队中的另一位数据科学家或数据分析师)专业性编程面试与职位专业人员面试(团队中的另一位数据科学家和数据分析师)领导面试向非技术用户解释结果招聘经理的最终面试总结自己为什么适合该职位 常用工具:SQL,Tableau和Jira(票务平台) 不同点: 虽然过程上大致相同,但在这两个职位在专业面试的方面还是有很大区别。 专业概念面试 数据科学: 常见的机器学习算法,比如随机森林(randomforest)和逻辑回归(logisticregression)。 常见的机器学习和数据科学,比如无监督学习和有监督学习。 数据分析: join之间的区别,如内连接(inner)、外连接(outer)、左连接(left)和右(right)连接 子查询(Subqueries)索引编制(Indexing)通过。。。分组(Groupby)Where子句(Whereclauses) 专业编程面试 数据科学: 使用Python进行编程(循环forloops,数组arrays和函数functions) 用R进行编程 在JupyterNotebook中编程并注释代码 有时候,不一定会是编程面试,也可能是一项takehome项目,需要后续合并数据,探索性分析和清理数据,构建模型,输出并对结果进行解释。 数据分析: SQL查询 Tableau(不是编程相关,而是一种特殊技能,需要了解常用界面中的常见函数和计算) 领导力面试 数据科学: 向非技术用户解释模型及预测 数据分析: 向非技术用户解释查询及结果 〔沙尘暴〕小结〔沙尘暴〕 可以你会发现,这些职位他们的面试过程出现了很多相似之处。 而很多相似之处都是整体面试的过程,以及一些常见工具,如SQL。 其他相似之处就是开发新项目、会见不同的利益相关者所需要了解的软技能。 但毋庸置疑的是职位间的专业性是存在明显差异的。 比如数据分析师会使用Tableau进行更为复杂的SQL查询和报告, 而对于数据科学家而言,会重点关注例如决策树(decisionstrees)和时间序列(timesseries)之类的常用机器学习算法, 还会使用Python编写一些典型的函数以及用于将来职位的循环(forloops)。 以上就是本期内容,感谢你的阅读!