第1章 前言
求职者:我们为什么要学习数据挖掘呀?
程序员大树:纵观互联网时代,发展已经进入了下半场。App和网站发展的格局已定,岗位的需求量已至饱和。然而随着海量用户数据的积累,数据挖掘却越来越热门。只要数据在,数据挖掘岗位的需求就在。而且数据是不断增长的,所以数据挖掘岗位需求量也会不断增加。利用数据挖掘可以从用户行为特征中发现价值规律,从而辅助公司决策,提升商业价值。为了帮助广大面试者提升数据挖掘技能,提升面试水平,找到满意的工作,特开此专栏。我将会以面试交流的方式,将知识点娓娓道来,最大程度还原真实的面试场景。求职者:那看起来数据挖掘还是很有前景的,我一定跟你好好学。
程序员大树:放心吧。我先后在百度、阿里、美团等大厂,做数据挖掘工作,是有五六年经验的老司机了。只要你耐心看完这个专栏,BAT面试全搞定!1.1 数据挖掘工程师平常都做啥?
求职者:看起来数据挖掘很热门,那么数据挖掘工程师平常都会做什么呀?
程序员大树:数据挖掘工作内容其实会非常多。首先是数据统计和分析。需要基于业务,和产品、运营协调,将他们的需求抽象出数据模型,进行数据提取和挖掘。
其次是做一些数据预测算法。比如电商的产品销量预测、广告投放效果的预估、产品个性化推荐等,为业务决策做数据支撑。
更深入的是专门做算法优化的专家。基于业界一流的数据挖掘论文和算法,改善算法模型和一些前瞻性、探索性的工作。
求职者:那可以说说你工作的日常吗?
程序员大树:
我负责的项目比较多,会比较忙。首先是检查数据日报各项指标是否有剧烈波动和异常,如果有,就需要排除异常情况,给大幅度的波动做出合理的解释。接下来是和产品对接,对于一些新的需求和业务,设计新的指标和数据模型。另外我还负责GMV(成交金额)的预测和商品推荐系统的搭建。每天有些忙,但很充实,有很多收获,成长还是蛮大的。
1.2 数据挖掘岗位薪资和发展?
从20届校招的情况来看,一般硕士做数据挖掘的,在一线,能拿到35w年薪左右,还是普遍较高的。二线城市也会在25w左右,远高于其他岗位的。工作三年左右的可以拿到50w左右,五年及以上的专家可以拿到七八十万,甚至百万的年薪。所以工资上还是很诱人的。
职业发展上看,即可向算法方向深入发展,做数据科学家,辅助高层决策和分析;也可做工程上的专家,做个性化推荐系统、数据挖掘系统架构上的开发。
1.3 数据挖掘技术简要介绍
求职者:数据挖掘岗位既然这么有前景,都需要我掌握哪些技术呀?
程序员大树:
数据挖掘岗位要求其实蛮高的,在这里简单分类罗列一下。
首先是CS基础技能。数据挖掘是计算机专业里的一个方向,需要掌握一些计算机的基础内容。比如数据结构、计算机网络、操作系统等,这些是CS核心课程,也是作为一个程序员应该知道的内容。在实际工作中,会用到一些linux命令、git使用、一些简单脚本的编写。其次是一些数据方面的基础技能。包括Excel、SQL、一些图表的分析和制作等。
接下来是对大数据平台的了解。比如Spark,hive,flink等的原理和使用。
最后是算法上的要求。算法要掌握:
(1)数学基础,包括概率论,数理统计,线性代数,随机过程,最优化理论等,这些是基本功。
(2)一些机器学习和深度学习的内容,比如线性回归、逻辑回归、SVM、GBDT、XGBoost、贝叶斯、K-means等。
(3)自然语言处理,tf-idf, word2vec,LDA等。
核心的知识点我们专栏都会详细讲解的,用通俗易懂的方式,最大程度还原面试场景,让知识点有趣又好记。
最后祝大家都能拿到满意的offer!