ask.hellobi.com/blog/musper
曾经面试过很多家公司,面试过很多岗位,如今沉淀一下仔细想想,有很多地方可以给一些建议,这一篇写给想入门、想转行的同学。
一、职业方向
谈面试之前,先聊聊数据的职业方向如何,大数据方向根据目前的行业情况主要有:
1、岗位:数据分析师(BI/BA)
方向:数据分析、运营、商业分析
2、岗位:数据开发工程师(大数据开发)
方向:报表开发、模型设计、ETL、技术支持
3、岗位:平台开发工程师(负责平台运维开发)
方向:数据平台开发、运维、工具开发
4、岗位:数据产品经理(数据方向)
方向:产品设计、推广、需求对接
5、岗位:数据挖掘工程师(算法工程师)
方向:算法实现、算法改良、数据应用
6、岗位:机器学习、人工智能(高端方向)
方向:人工智能应用、图像、语音、文本等方向
以上几个岗位(5、6一般都要求研究生学历,有些会要求985、211),大家熟悉的话 ,应该也能自己理出来,每个岗位都有细分,比如数据开发工程师下面会细分:ETL、模型设计、报表开发等。很多人都知道现在大数据相关职业赚钱,所以大家都想入行,入行前你可以参考上面的岗位选择自己对应的方向。
二、优劣及选择
选择方向之前,再三确认一下,你是否喜欢这个方向?想做这行吗?如果答案是确定的话,那么你可以考虑入行了,要说入行不得不先说两个词:专业壁垒和行业壁垒(学历壁垒暂时不谈)。
专业壁垒:一般来说岗位招聘都会写一个要求:专业为计算机、数学、统计学等相关专业,有这个要求并不奇怪,因为经过大学这几年的培养,这类专业的人相对其他专业的人有优势,企业培养这个方向的人成本低,会优先考虑这一类人。
行业壁垒:就拿金融和互联网来说,招聘时会带有行业色彩,一般来说跨行进入的人员不会太受欢迎,所以互金的人很吃香。
如果你不存在这些壁垒,那么恭喜你,比其他起点高。如果你存在这些壁垒,那么也不要气馁,后期学习更重要。
以我自身为例,本科学过c、学过sql,再说我是统计学出身,那我觉得我入行数据分析没问题,考考我sql我可以过,至于后来为啥转开发了,因为部门缺开发(泪奔,被迫的~)。
那么如果你不是科班,也没有学过sql编程怎么办?那么你可以选择:1、网络课程,2、面授班进行学习,有一定的基础这是前提,学习过程一定要能匹配岗位要求,现在的课程基本也是匹配岗位要求的,如果心里没底,那么你可以看第三项职位简述。一般网络课程是自我驱动,面授班都是被金钱驱动的多,自己边学边实践,到火候了就可以多投几家公司开始试试水,好好准备面试,不要怂,一定要把自己学习能力、积极向上的一面表现出来。
在此说一句良心话,所有的学习不如实践来的重要,所有的面试都会看重这一点,有机会尽量在工作中实践,入门前自己多搭环境自己实践,不要被自己的学习所框住,学的东西只有在用的时候才知道什么时候不行,什么时候能行!
三、职位简述
做好了准备,明确了自己的选择方向,那么就可以好好准备你的职业成长方向了,找几个大公司的招聘JD(职位介绍),会细分到岗位里面的具体要求,这些要求其实就是对应这些岗位你所能匹配的能力选项,如果你能到这些选项都匹配,那么恭喜你,你已经是个牛人了。一般匹配度60%,匹配项3项以上基本就可以开始面试看看了。
这几个岗位里面,算法、机器学习有学历要求,不是科班难度很大。分析、产品、平台基本要求工作经验,数据开发要求学习和编程能力,相对而言,1-4这几个岗位是比较好入门的,后面成长要看学习能力和自我驱动能力。
数据分析:
1、本科及以上学历,2年以上工作经验,数学、计算机专业优先;
2、有一定的创新能力,在以往的数据分析、挖掘等工作中有自己独特的见解;
3、具有较强的逻辑思维能力、数据洞察能力和沟通协调能力,拥有强烈的责任心和团队合作精神;
4、具有探索精神,从数据中发现价值用以支持决策;
5、拥有电商行业背景、或财务、品类管理背景优先。
数据开发:
1.计算机,软件等相关专业;具有较强的编程能力(Java/Python);
2.具有海量数据计算,实时流式计算等相关项目经验;
3.熟练应用Hadoop、Hive、Spark,Storm等大数据相关技术并了解其原理;
4.优秀的分析问题和解决问题的能力,能够把理论成功应用于实践;
5.有极强的责任心和工作主动性;
6.有数据分析和BI系统研发背景者优先。
数据产品:
1、3年以上互联网产品相关经验,其中2年以上大数据产品经验,对于数据平台搭建、数据体系建设有实战经验以及成熟的思路,可考虑大数据相关研发人员的转岗;
2、熟练使用Axure、XMind、MindManager、Visio等产品工具,清晰表达产品流程和交互流程;
3、具有较强的逻辑思维能力和沟通能力,对产品设计,产品生命期管理等有成熟的经验和思路。
4、文字呈现和执行能力强,能够快速的生成方案;
5、熟悉Hadoop、Java,R、Python、Spark等主流技术,有业务建模和数据挖掘经验者优先;
6、良好的业务理解能力、逻辑思维和沟通能力、跨团队沟通协调能力;做事积极主动,有较好的自主学习能力;
7、有大规模数据挖掘、推荐系统、机器学习的产品设计经验者优先
数据平台:
1.两年以上大数据平台设计和开发经验,具备优秀的编程能力和良好的开发习惯。
2.具备独立架构设计、内核开发、测试与运维的能力,有过大规模系统设计和工程实现的经验。
3.熟悉Spark、Spark SQL和Spark Streaming内核原理;了解Hadoop生态组件相关技术,例如Hadoop、Hive、Storm等。
4.精通Java、Scala语言,熟悉Linux 操作系统,熟练使用Python、Shell脚本语言。
5.具有认真的技术态度,良好的团队沟通和协作能力。
数据挖掘:
1.硕士及以上学历,计算机科学或数学相关专业毕业;
2 了解LR,聚类,分类,神经网络,强化学习等相关机器学习理论和算法;
3.熟悉linux平台,掌握C/C++/Java某一种编程语言,具有良好的编程习惯和算法基础;
4.熟悉hadoop,spark等平台上面向海量数据的算法实现及数据分析技能;
5.出色的问题分析及解决能力,能自我驱动,持续面对新挑战。
机器学习:
1.硕士或博士,应届生或工作经验1-3年;
2.计算机、统计、电子、数学、数理统计等相关专业,机器学习/数据挖掘/信息检索/自然语言处理/统计分析相关背景;
3.掌握常用的分类、回归、聚类、预测、关联规则、序列模式等挖掘算法,了解数据挖掘前沿技术;
4.熟练使用一种或多种数据挖掘工具,使用python/shell/scala等脚本语言;
5.具有很强的学习和研究能力,英语熟练,能够熟练阅读英文技术资料,积极创新、乐于协作、善于沟通。
四、多交流、勤学习
如果你成功入门,那么恭喜你,进入了所谓的高薪行业,其实,里面的坑太多了,那么你得找几个群和同行业的我们多交流、多踩坑,那么慢慢的你会发现你也可以diss人了。
学习不要落下了,推荐几本书:
1、算法:数据挖掘导论、机器学习、统计学习方法,
2、编程:java入门到精深、java编程思想、JVM深入浅出
3、数据:快学Scala、深入理解Spark核心思想与源码
4、hadoop相关的可以多看看视频