数据科学家面试问题(编码)
数据科学家不仅仅是数据分析师,因为他们了解一些数据如何导致可以提升产品或改善业务的重要决定。此外,熟练的数据科学家可以有效地衡量一个特定方法的复杂性。它们可以根据可用时间和资源提出给定任务的替代解决方案,从而允许它们以简短的通知,在更大的时间范围内实现更简单但功能的方法。这些数据科学家的面试问题将考虑候选人的计算机科学背景,以及他们适合其角色的特定技能。
这强调编码的数据科学家角色目标候选人具有强大的软件工程技能,了解工具,流程和创建和维护将部署到生产的软件的紧迫性。这种类型的数据科学家在编程语言(如c++、Java或Scala)方面有扎实的编程技能,在数据库方面有非常丰富的知识,并将与在现实世界部署机器学习解决方案的平台合作,如Azure ML或PredictionIO。此外,该职位的一个常见要求是有使用大数据和平台(如Apache Spark和Hadoop)的经验。这种类型的数据科学家的理想背景是计算机科学,但有工程和数学背景的候选人有时会发展实际软件工程技能,以达到这个角色。
全面的数据科学访谈包含了数据科学、大数据、分析、建模和分析的访谈问题。
计算机科学问题
(编程知识)
- 您是否为任何开源项目做出了贡献?
- 您最舒适的工作组合语言和环境是否有哪些编程语言和环境?
- 您是否使用过任何在线平台进行机器学习,例如Azure ML或预测?
- 您如何训练和部署逻辑回归模型?推荐系统?
- 用您工作的大量编程组件描述数据科学项目?
- 如何对一大堆数字进行排序?
- 哈希是什么?举例说明你什么时候可能会用到它
- 什么是动态规划?递归是什么?
(软件工程)
- 你如何测试你的代码?你写什么样的测试?
- 您如何监视您所训练的模型的性能不会随着时间的推移而下降?
- 假设您希望保留其模型在生产中执行的一些计算的记录。你怎么去做这个?
- 你熟悉版本控制吗?你用过什么工具和流程?
- 什么是软件模式?你熟悉哪些模式?什么时候可以使用工厂/单身/纪念/建筑/ dao等。模式?
- 你曾经在遵循特定敏捷流程的开发团队中工作过吗?
- 什么是技术债务,如何减轻它,以及如何在现实世界中部署数据驱动模型?
- 您如何部署在r等环境中培训的模型?你熟悉PMML吗?
特定角色问题
(大数据和分布式计算)
- 在地图 - 减少范式中,地图功能会做什么以及减少函数会做什么?Combiner和Partitioner做了什么?
- 如何为大量的文档构建搜索引擎?
- 您是否熟悉Hadoop Stack(Hadoop,Pig,Hive等)的技术?
- 您工作过的分布式环境是什么?