Data Science如何刷题?怎么刷?数据科学求职新趋势!

Data Science如何刷题?怎么刷?数据科学求职新趋势!

Data Science融合了各种工具,算法和机器学习的应用,旨在从原始数据中发现隐藏的模式。这与统计学家多年来一直在做什么有什么不同?如果你想了解更多关于数据科学的相关内容,可以阅读以下这些文章:
2022年,数据科学家文凭能让你赚多少钱?
谷歌数据科学家面试真题
基于云技术的数据仓库给数据科学带来的优势
职场转型与进阶:多年非Data相关工作经验,如何转行数据科学家?

数据科学求职趋势

近些年随着大数据的发展,数据科学家行业也在逐渐细分,分支越来越多,比如产品质量工程师、机器学习评估、以及app定制化等专业方向。现在的趋势就是各个公司在招聘数据科学家的时候都在进行工作的垂直细分,尤其是大型公司,对于数据科学家的技能要求都在一定的垂直和深度上延伸。那么2022年,求职数据科学家岗位变得更难了吗?从两个角度来考虑:

  1. 如果没有任何的行业经验的话,这确实变得更难了,因为越来越多的公司要求行业的垂直。
  2. 以前对于数据科学家的要求十分的广泛,包括数据库,大数据,分布式,计算机算法,分布式的内容,统计以及机器学习等。很多求职者面临的难题就是各方面知识都要掌握的面面俱到。现在因为知识的垂直,面试考到的知识点较为集中。

数据科学家求职包括哪些技能?

主要有三个方面:

  1. Data storage and management,其中很大一部分为数据库,分为SQL和NoSQL。SQL是一种关系型数据库的编程语言,经常接触的有,SQL,SQL server等。NoSQL为不在SQL范围内的,比较常见的就是基于documents的,以及Hadoop里的H-base。这些关系型数据库主要在大数据内的应用较多。数据科学家岗位使用的大部分为图片数据库。既然谈到了数据库,就不得不提一下大数据。因为现在不管是创业公司还是大型公司,所使用的系统都是基于云端大数据的。
  2. 第二类为分析以及机器学习,需要知道的知识为概率统计,高等数学里的计算,以及机器学习。但是大部分的数据科学家岗位对于机器学习的要求一般不高,deep learning不是必要技能,但是可以起到锦上添花的作用。但是NoSQL数据库内,包括文本,音频,数据,视频等,这些领域才会要求且大面积使用深度学习的技术。
  3. 第三类为把数据能力和分析方法应用到商业实例的能力。这是数据科学家需要掌握的最后一个重点能力,也是最难的一个。第三类技能要求把前面的知识运用到商业中,例如行业的垂直,用户的定制化,产品分析,推荐,用户体验的提升等。同学们需要注意在学习基础理论的同时,培养较强的动手能力。

Math, Probability, Statistics如何刷题?

数学,概率,统计为将来工作理论的基础,且面试必备环节。

主要知识点包括:

Random exampling随机选样、distribution等。统计方面的话,前面提到的分布就是统计的基础,概率的知识也是统计的基础,比如条件概率,联系概率等相关概念和知识点。统计方面最主要的就是实验设计。早期统计就是拿来给制药行业应用的,需要的知识点有A/B testing, 统计显著性的评估,p value,如何设计A/B testing等。在统计之上,有些是和机器学习重合的,比如线性回归,分类等。同学们可以根据自己知识点的欠缺来选择性的刷题。

Machine learning 如何刷题

机器学习是近些年才火起来的,主要有下面几个原因:

  1. 大数据提供了大量数据基础
  2. 分布式的机器学习提供了算力
  3. 算法方面的精进。

但是作为entry-level数据科学家,主要应该掌握包括统计里的线性回归,decision tree,SVM,基于basin的classification,聚类,以及机器学习中使用到的知识,例如降维算法等。

理论上来说,ML有三种考法,第一种讲解算法基本原理,第二种讲解算法的本身,第三种给一个真正的问题,让你使用机器学习方法来解 法由深度优先改为广度优先会带来什么后果。

除此之外,把关于data challenge的内容刷一遍对于机器学习也有很大提升。

需要刷算法题吗?如何刷

编程为数据科学家求职的必备技能。为什么大数据在近10年发展十分迅速,其实统计模型以及概率东西存在很长时间了,是因为分布式机器使得大数据成为了一种可能。

因此,想要处理大数据,编程就成为了必不可少的技能。一个程序员编程的好坏最核心的内容就是对数据结构算法的理解以及应用。面试的时候可能不需要过多的工作经验,只需要会使用Python以及SQL就足够。但是在工作以后,如果想要在工作中有比较好的提升,沟通以及story telling技巧也是十分重要,需要让非技术人员理解编程的内容。

如果想要提升自己的编程能力, leetcode是众所周知的绝佳资源之一,到网站上面后,第一个需要做的是理解数据结构的原理,支持的方法,以及效率如何。了解这些原理之后,可以多尝试一些网站开始刷题,刷题难度从简单开始。如果基础薄弱,一开始刷题数量不需要过多,50-100道题目即可。但是如果想要从事数据工程师工作的话,那么刷题就要从200道题目起。Leetcode上面题目的数量一直在陆续增加,如果想要全部刷完,那么时间可能需要半年到一年。

因此,刷题时可以选择性的选择题目,不需要每一道题目都做一遍。面试官在面试时,不仅要考编程技巧,行业知识,还要对数据结构的基本理解。作为一个数据科学家,机器学习,分析,以及数据库技能的优先值可能要高过算法题目,首先需要搞定优先值较高的技能,再选择性刷题。同时还要根据自己工作岗位的title来选择刷题的数量。比如如果从事偏IT行业的工作,则需要多刷一点。反之就可以少刷一点。

SQL如何刷题

SQL刷题可以分为三个层次。

  • 第一个层次为在w3网站上刷题,练习SQL基本语法,或者就是购买SQL官网的指南。这个层次需要把基本的编程东西概念做好。掌握比较高级的编程工具。同时如果是leetcode的付费用户,上面有40-50道可以刷的题目供大家考虑。
  • 第二个层次就是在真正商业运用的场景下写出SQL。第二个层次需要注意一些比较小的细节,比如使用unique,是否需要去做重复项的考量。
  • 第三个等级就是,在面试时,在面试者写完SQL后,大部分面试官会问,你觉得你写的SQL在performance上会有什么样的提高呢。面试官之所以问这种问题是为了拉开各个应征者的层次,会的话就加分,反之没有分。在最后评估时,分高的候选者被录取的机率也就随之提高。

Big Data会考吗?怎么刷题呢?

首先了解大数据的来源以及数据的挖掘——大数据从哪里来。在了解大数据的来源后,下一步需要注意的就是数据的清理与整合。最后一步就是数据的存储,例如SQL, NoSQL等。除了应用之外,还需要知道原理。在存储过后,还需要对数据进行计算。比如在过去半年什么商品卖的最好,价格如何调整等。大数据对于入门级的面试者来说,难度不会过高。一般情况下来说就是给予你一个文件来做建模。平常在学校可能只需要一层就足够,但是这种时候可能需要做2-3层。

做这一方面的题目需要有一定的基础,首先了解什么是分布式系统,然后利用分布式系统的思维方式去讨论。大数据需要多做小项目,培养自己分布式的思维方式。在实际情况中,我们平常碰到的大部分为数据库,数据放在那里,老板给你命题,自己选择需要什么数据或者不需要什么数据。在这种情况下,对大数据的挖掘是最基本的要求。

感谢阅读,希望今天的分享对大家有帮助!你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

Recap 作者:数据应用学院
美工编辑:过儿
校对审稿:Miya
公开课回放链接:https://www.youtube.com/watch?v=UvWsci-BBEw&list=PL39P3XK_jveHE89PgwwvVPAGAj2cuxRrT&index=81&ab_channel=DataApplicationLab