热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据挖掘_应聘数据挖掘岗位之前,先看看这5个问题的答案

篇首语:本文由编程笔记#小编为大家整理,主要介绍了应聘数据挖掘岗位之前,先看看这5个问题的答案相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了应聘数据挖掘岗位之前,先看看这5个问题的答案相关的知识,希望对你有一定的参考价值。







应聘数据挖掘岗位之前,先看看这5个问题的答案

作者   纪路

本文转自知乎,转载需授权

原文链接:https://www.zhihu.com/question/52149097/answer/129623798



「 关于数据挖掘就业方面的问题」,这是近期有人在知乎上的提问,题主顺带也把这个大问题细化成了几个小问题:





  1. 数据挖掘主要是做算法还是做应用?分别都要求什么?


  2. 北上广以外的普通公司用的多吗?待遇如何?


  3. 和前端后端程序员比有什么区别?有什么优缺点?


  4. 目前在学习机器学习,如果想找数据挖掘方面的工作应该学习哪些内容?


  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生态圈,机器学习,深度学习(后两者需要高等数学和线性代数基础,如果你的大学专业学这些不要混)。


选定其中一个方向做一些钻研和学习,网上有很多现成的资料(基本上是英文的,所以我说了,不能看英文的赶紧去背单词),科学上网用谷歌这个大家都懂。希望我的建议能对你有一些帮助。











CDA志愿者招募令










CDA数据分析师旗下的CDA志愿者组开始招募啦



申请报名


点击「阅读原文」或扫描下方二维码:




推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 全面解析JavaScript代码注释技巧与标准规范
    在Web前端开发中,JavaScript代码的可读性和维护性至关重要。本文将详细介绍如何有效地使用注释来提高代码的可读性,并探讨JavaScript代码注释的最佳实践和标准规范。通过合理的注释,开发者可以更好地理解和维护复杂的代码逻辑,提升团队协作效率。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在当今的软件开发领域,分布式技术已成为程序员不可或缺的核心技能之一,尤其在面试中更是考察的重点。无论是小微企业还是大型企业,掌握分布式技术对于提升工作效率和解决实际问题都至关重要。本周的Java架构师实战训练营中,我们深入探讨了Kafka这一高效的分布式消息系统,它不仅支持发布订阅模式,还能在高并发场景下保持高性能和高可靠性。通过实际案例和代码演练,学员们对Kafka的应用有了更加深刻的理解。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 数字经济浪潮下企业人才需求变化,优质IT培训机构助力技能提升
    随着云计算、大数据、人工智能、区块链和5G等技术的迅猛发展,数字经济已成为推动经济增长的重要动力。据信通院数据,2020年中国数字经济占GDP比重达38.6%,整体规模突破39.2万亿元。本文探讨了企业在数字化转型中对技术人才的需求变化,并介绍了优质IT培训机构如何助力人才培养。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • PHP 使用 Cookie 进行访问授权的方法
    本文介绍了如何使用 PHP 和 Cookie 实现访问授权,包括表单验证、数据库查询和会话管理等关键步骤。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • 本文总结了在SQL Server数据库中编写和优化存储过程的经验和技巧,旨在帮助数据库开发人员提升存储过程的性能和可维护性。 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 回顾过去十多年的开发经历,我在技术能力、培训机会、国际视野以及大型企业的工作经验方面都有了显著的提升。特别是从最初的月薪8k到如今的38k,这一过程中,我深刻体会到系统化学习对提升架构能力的重要性。最初踏入职场时,面对众多未知,我主要依赖团队领导的指导,专注于编写代码、管理数据库和进行测试。随着经验的积累和技术的不断进步,我逐渐意识到,只有通过系统化的学习和实践,才能在技术领域取得更大的突破。 ... [详细]
author-avatar
mobiledu2502916573
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有