应聘数据挖掘岗位之前,先看看这5个问题的答案
「 关于数据挖掘就业方面的问题」,这是近期有人在知乎上的提问,题主顺带也把这个大问题细化成了几个小问题:
数据挖掘主要是做算法还是做应用?分别都要求什么?
北上广以外的普通公司用的多吗?待遇如何?
和前端后端程序员比有什么区别?有什么优缺点?
目前在学习机器学习,如果想找数据挖掘方面的工作应该学习哪些内容?
hadoop,hive之类的需要学习吗?
今天收录在这里的,是目前获赞最高的回答。答主纪路分别就以上5个问题给出了比较有针对性的回答,分享给大家。
最近在招聘这方面的工程师,我想通过回答题主的这些问题,来帮助一些新人选择方向和正确的入门。
1.数据挖掘主要是做算法还是做应用?分别都要求什么?
这个问题太笼统,基本上算法和应用是两个人来做的,可能是数据挖掘职位。做算法的比较少,也比较高级,其实所谓做算法大多数时候都不是设计新的算法(这个可以写论文了),更多的是技术选型,特征工程抽取,最多是实现一些已经有论文但是还没有开源模块的算法等,还是要求扎实的算法和数据结构功底,以及丰富的分布式计算的知识的,以及不错的英文阅读和写作能力。但即使是这样也是百里挑一的,很难找到。
绝大多数数据挖掘岗位都是做应用,数据清洗,用现成的库建模,如果你自己不往算法或者架构方面继续提升,和其他的开发岗位的性质基本没什么不同,只要会编程都是很容易入门的。
2.北上广以外的普通公司用的多吗?待遇如何?
实际情况不太清楚,由于数据挖掘和大数据这个概念太火了,肯定到处都有人招聘响应的岗位,但是二线城市可能仅仅是停留在概念上,很多实际的工作并没有接触到足够大的数据,都是生搬硬套框架(从我面试的人的工作经验上看即使是在北上广深这种情况也比较多见)。只是在北上广深,可能接触到大数据的机会多一些。而且做数据挖掘现在热点的技术比如Python,Spark,Scala,R这些技术除了在一线城市之外基本上没有足够的市场(因为会的人太少了,二线城市的公司找不到掌握这些技术的人,不招也没人学),所以我推测二线城市最多的还是用JAVA+Hadoop,或者用JAVA写一些Spark程序。北上广深和二线城市程序员比待遇是欺负人,就不讨论了。
3.和前端后端程序员比有什么区别?有什么优缺点?
和传统的前后端程序员相比,最主要的区别就是对编程水平的要求。从我招聘的情况来看,做数据挖掘的人编程水平要求可以降低一个档次,甚至都不用掌握面向对象。但是要求技术全面,编程、SQL,Linux,正则表达式,Hadoop,Spark,爬虫,机器学习模型等技术都要掌握一些。前后端可能是要求精深,数据挖掘更强调广博,有架构能力更好。
4.目前在学习机器学习,如果想找数据挖掘方面的工作应该学习哪些内容?
打基础是最重要的,学习一门数据挖掘常用的语言,比如Python,Scala,R;学习足够的Linux经验,能够通过awk,grep等Linux命令快速的处理文本文件。掌握SQL,MySQL或者PostgreSQL都是比较常用的关系型数据库,搞数据的别跟我说不会用数据库。
补充的一些技能,比如NoSQL的使用,Elasticsearch的使用,分词(jieba等模块的使用),算法的数据结构的知识。
5.hadoop,hive之类的需要学习吗?
我觉得应当学习,首先Hadoop和Hive很简单(如果你用AWS的话你可以开一台EMR,上面直接就有Hadoop和Hive,可以直接从使用学起)。我觉得如果不折腾安装和部署,还有Linux和MySQL的经验,只要半天到一天就能熟悉Hadoop和Hive的使用(当然你得有Linux和MySQL的基础,如果没有就先老老实实的学Linux和MySQL,这两个都可以在自己的PC上安装,自己折腾)。
Spark对很多人来说才是需要学习的,如果你有JAVA经验大可以从JAVA入门。如果没有那么还是建议从Scala入门,但是实际上如果没有JAVA经验,Scala入门也会有一定难度,但是可以慢慢补。所以总的来说Spark才足够难,以至于需要学习。
最后的最后我有一些建议。
第一要对自己有一个系统的认知,自己的编程水平够么,SQL会用么,Linux会用么,能流畅的看英文文档么?如果上面任何一个问题的答案是No,我都不建议直接转行或者申请高级的数据挖掘职位(因为你很难找到一个正经的数据挖掘岗位,顶多是一些打擦边球的岗位,无论是实际干的工作还是未来的成长可能对你的帮助都不大)。
无论你现在是学生还是已经再做一些前段后端、运维之类的工作你都有足够的时间补齐这些基础知识。补齐了这些知识之后,第一件事就是了解大数据生态,Hadoop生态圈,Spark生态圈,机器学习,深度学习(后两者需要高等数学和线性代数基础,如果你的大学专业学这些不要混)。
选定其中一个方向做一些钻研和学习,网上有很多现成的资料(基本上是英文的,所以我说了,不能看英文的赶紧去背单词),科学上网用谷歌这个大家都懂。希望我的建议能对你有一些帮助。
数据分析咨询请扫描二维码
数据分析涉及多个方面的学习,包括理论知识和实践技能。以下是数据分析需要学习的主要方面: 基础知识: 数据分析的基本概念 ...
2024-11-22数据分析适合在多个单位工作,包括但不限于以下领域: 金融行业:金融行业对数据分析人才的需求非常大,数据分析师可以从事经 ...
2024-11-22数据分析是一种涉及从大量数据中提取有用信息和洞察力的过程。其工作内容主要包括以下几个方面: 数据收集与整理:数据分析师 ...
2024-11-22数据分析师需要掌握多种技能,以确保能够有效地处理和分析数据,并为业务决策提供支持。以下是数据分析师需要掌握的主要技能: ...
2024-11-22数据开发和数据分析是两个密切相关但又有所区别的领域。以下是它们的主要区别: 定义和目标: 数据开发:数据开发涉及数据的 ...
2024-11-22数据架构师是负责设计和管理企业数据架构的关键角色,其职责涵盖了多个方面,包括数据治理、数据模型设计、数据仓库构建、数据安 ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列的技能和能力,以确保能够有效地处理、分析和解释数据,从而支持业务决策。以下是数据分析师所需的主要 ...
2024-11-22需求持续增长 - 未来数据分析师需求将持续上升,企业对数据驱动决策的依赖加深。 - 预测到2025年,中国将需要高达220万的数据人 ...
2024-11-22《Python数据分析极简入门》 第2节 4 Pandas条件查询 在pandas中,可以使用条件筛选来选择满足特定条件的数据 importpanda ...
2024-11-22数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21数据分析是一项通过收集、整理和解释数据来发现有用信息的过程,它在现代社会中具有广泛的应用和重要性。数据分析能够帮助人们更 ...
2024-11-21数据分析行业正在迅速发展,随着技术的不断进步和数据量的爆炸式增长,企业对数据分析人才的需求也与日俱增。本文将探讨数据分析 ...
2024-11-21数据分析的常用方法包括多种技术,每种方法都有其特定的应用场景和优势。以下是几种常见的数据分析方法: 对比分析法:通过比 ...
2024-11-21企业数字化转型是指企业利用数字技术对其业务进行改造和升级,以实现提高效率、降低成本、创新业务模式等目标的过程。这一过程不 ...
2024-11-21数据分析作为一个备受追捧的职业领域,吸引着越来越多的女性加入其中。对于女生而言,在选择成为一名数据分析师时,行业选择至关 ...
2024-11-21大数据技术专业主要学习计算机科学、数学、统计学和信息技术等领域的基础理论和技能,旨在培养具备大数据处理、分析和应用能力的 ...
2024-11-21