颍上新闻,颍上资讯

您当前的位置:颍上人才网 >> 颍上资讯 >> 面试技巧 >> 数据挖掘:从入门到求职,一年经验总结,BAT 岗位能力需求全解析
数据挖掘:从入门到求职,一年经验总结,BAT 岗位能力需求全解析
2024-10-20|资讯来源: 网络整理|查看: 222

《数据挖掘——从入门到找工作》

作者:徐扎克

PS:文章涉及的信息可以通过以下链接获取(含简历模板)

近日,秋季招聘已慢慢落下帷幕。从去年8月底开始,我参加了datacastle、阿里巴巴天池、牛客网举办的数据挖掘比赛(均为前10名)。今年4月,我去百度和腾讯实习。现在秋招已经快结束了,已经快一年了,最终拿到的比较有意义的offer主要是来自腾讯、百度、华为这三个公司,都是SP。这是过去一年的一些经验。简单总结可能不是最合适的方法,但是在没有头绪的时候可以参考。

(一)简介

1、先介绍一下公司对这个职位的一些能力要求,直接把bat贴在这个方向对应的职位jd上:

(1)百度:机器学习/数据挖掘工程师

(2)阿里巴巴:算法工程师

(3)腾讯:基础研究

2.个人感觉数据挖掘是一个比较大的概念,可以理解为:

数据挖掘=商业知识+自然语言处理技术(NLP)+计算机视觉技术(CV)+机器学习/深度学习(ML/DL)

(一)商业知识具体指个性化推荐、计算广告、搜索、互联网金融等; NLP和CV分别是处理文本、图像和视频数据的领域技术,可以理解为将非结构化数据提取并转换为结构化数据;最终的ml/dl技术属于模型学习理论;

(2)在选择职位时,每个公司都没有一套标准的职称,但他们所做的无非是两个大方向。一是主要钻研某一领域的技术,如自然语言处理工程师、计算机视觉工程师、机器学习工程师等;一是将各领域的技术应用到业务场景中解决业务需求,比如数据挖掘工程师、推荐系统工程师等;具体职称并不重要,重要的是平时的工作内容;

PS:在互联网行业,数据挖掘相关技术最成功的应用主要是在推荐和计算广告领域,涉及的数据主要是文本,因此NLP技术相对重要。至于CV技术,主要是在人工智能领域。 (无人车、人脸识别等)应用很多,本人理解有限,所以相关描述会比较少;

3、根据前面的分析,我们也可以看出,这个职位所需要的三个基本能力是业务经验、算法能力和工程能力;

(2) 入门

1、工程能力

(1)编程基础:需要掌握一大一小两种语言,大的一门指C++或JAVA,小的一门指python或shell脚本;您需要掌握基本的数据库语言;

建议:MySQL + python + C++;语言只是工具,看语法就行;

推荐书籍:《C++ Primer Plus》

(2)开发平台:Linux;

建议:掌握常用命令,掌握Linux下源码编译原理;

推荐书籍:《Linux私房菜》

(3)数据结构与算法分析基础:掌握常用数据结构和操作(线性表、队列、列、字符串、树、图等),掌握常用计算机算法(排序算法、搜索算法、动态规划、递归) ) 等待);

建议:多打代码,去OJ平台答疑;

推荐书籍:《大话数据结构》《剑指Offer》

(4)海量数据处理平台:hadoop(mr计算模型,java开发)或spark(rdd计算模型,scala开发),强烈推荐后者;

建议:主要是会用的话,有精力的话可以看源码了解集群调度机制等等;

推荐书籍:《大数据Spark企业级实践》

2.算法能力

(1)数学基础:概率论、数理统计、线性代数、随机过程、最优化理论

建议:这些都是必须要理解的事情。即使基础不能扎实,至少也要掌握各学科的理论体系。当涉及到相应的知识点时,您可以通过查阅资料实现无障碍理解;

(2)机器学习/深度学习:掌握常用机器学习模型(线性回归、逻辑回归、SVM、感知器;决策树、随机森林、GBDT、XGBoost;贝叶斯、KNN、K-means、EM等);掌握常见的机器学习理论(过拟合问题、交叉验证问题、模型选择问题、模型融合问题等);掌握常见深度学习模型(CNN、RNN等);

建议:这里的掌握是指熟悉推导公式,了解模型的适用场景;

推荐书籍:《统计学习方法》、《机器学习》、《机器学习实践》、《UFLDL》

(3)自然语言处理:掌握常用方法(tf-idf、word2vec、LDA);

3.从业经验

(1)了解推荐和计算广告相关知识;

推荐书籍:《推荐系统实践》《计算广告》

(2)通过参加数据挖掘比赛,熟悉相关业务场景。常见的竞赛有Kaggle、阿里巴巴天池、datacastle等;

PS:以上是一些入门级的介绍。在长期的学习中,应该多读顶级论文,多读开源代码,学习更多优秀的解决方案;

PS:以上推荐书籍电子版请联系我(Q:1434909067)

PS:链接:

(3) 求职

1. 简历

(1)格式:个人信息(姓名、联系方式、学历、求职意向、照片可选)+竞赛经历+实习经历+项目经历+掌握的技能+奖项;

PS:最好写在一页纸上;

(2)奖励积分:博客、github、Top 10竞赛、顶级会议论文;

PS:有兴趣可以联系我索简历模板(Q:1434909067)

PS:一份优秀的简历可以给你更多的面试机会。更重要的是,它可以让面试官在面试时下意识地给你打高分。当然,前提是简历必须是真实的,所以为了一份出色的简历,你必须多做一些事情。准备;

2.海头

(1)国内有这个地位并且还不错的公司:

百度、腾讯、阿里巴巴、网易(互联网、游戏、有道)、华为、今日头条、滴滴研究院、一点资讯、360、美团等;

(2)如果选择留在广东深圳发展,就业机会会较少。比较好的是百度深研、腾讯总部、华为深圳、京东好像在深圳有数据挖掘团队; (发帖人更愿意去深圳发展。)

(3)个人建议3月份可以进入相关公司实习,争取留住实习生;一般来说,企业对应届毕业生的hc分配比例大致是实习生的留用比例:校园招聘提前批:校园招聘正式=4:3:3,留住实习生相对容易;

(4)投递简历时,尽量联系公司内部的前辈或熟人,帮助将简历直接投递给组长。这样做的好处是可以同时面试同一个公司的多个团队,前提是简历是在公司学校的。在招聘系统未锁定的前提下,具体情况最好咨询公司内部熟人。在求职过程中,信息来源非常重要。这点一定要注意,否则会陷入很多陷阱;

(5)加入各种求职交流群,结识更多人,共享资源;

(6)投递简历时尽量进行内部推荐。很多公司如果内部推荐可以免笔试;

PS:笔试纯靠rp。简而言之,就是多回答问题。就去牛客网多练习,有针对性的复习;

3.面试

(1)一般该职位至少有3轮面试,2轮技术面试,1轮HR面试。 HR面试主要看情商,这里就不多说了。 2轮技术面试的区别在于,面试官的级别越高,面试官的水平越高。高,所以面试风格可能更偏向于技术愿景等讨人喜欢的话题;

(2)通用技术环节包括以下几个环节:自我介绍、项目介绍、算法题(推公式)、数据结构题(写代码);

1)自我介绍:一般尽量简短,主要说明自己的研究方向、成果和优势;

2)项目介绍:您必须熟悉简历上的项目。引言分为三个部分:项目背景、项目计划、项目成果;您必须熟悉项目中涉及的一些技术点;

3)算法题:一般都是问常见的机器学习模型的原理或者一些常见的机器学习问题的解决方案(比如正负样本不平衡),所以常见的机器学习模型原理一定要非常清楚,而且必须能够推导出公式。 ,如果你能懂得一些工程实现的技巧,那你离SP就不远了;

4)数据结构题:常用数据结构必须掌握,基本代码必须手写(快速排序、冒泡、栈排序、归并排序、二分查找、二叉树遍历、二叉树增删改查);剑指的是报价。你必须知道这些问题;有精力可以刷leetcode;

(3)面试时多准备材料,面试时积极引导面试官提问。比如,当面试官要求你解释一下gbdt的原理时,你可以告诉他,一般在谈论gbdt时,我们会谈论rf和xgboost。说话,然后你就可以主动向面试官输出你的知识;面试不是死板的问答,而是一种沟通,所以尽量把面试变成聊天式的对话,输出更多对自己有价值的观点,而不是仅仅回答面试官的问题;

(4)面试过程中,除了掌握基础知识外,还可以适当向面试官展示你的一些其他亮点,比如和面试官聊一些最近的论文进展和一些技术思路等,以突出你自己。与众不同;

(5)不同公司面试风格略有不同:

1)百度:技术派,现场面试,最大的风格就是写代码,2个技术方面加一个经理方面,技术方面一定要写代码;

2)阿里巴巴:内部推荐的话,可以电话面试,主要是聊项目,问一些基础的数据结构知识。一般可以通过查看建志报价来处理;

3)腾讯:内部推荐可以通过电话进行,主要讲项目和推广公式;

4)华为:主要聊项目、困惑、价值观;

5)滴滴研究院:百度系,面试风格与百度类似;

(6)常见面试题(因为有些面试时间较长,所以主要是凭记忆写下来的)

1)几种模型(svm、lr、gbdt、em)的原理及公式推导;

2)rf和gbdt的区别; gbdt和xgboost之间的区别(不好的问题最好从底层原理来分析和回答);

3)决策树如何处理连续值;

4)特征选择方法;

5)过拟合的解决方案;

6)kmeans的原理、优点、缺点和改进;

7)常见分类模型(svm、决策树、贝叶斯等)的优缺点、适用场景以及如何选择;

8)svm为什么引入拉格朗日优化方法;

9)假设面试官一无所知,详细解释CNN的原理;

10)海量条目文本相似度计算优化方法;

11)梯度下降的优缺点;

12)em与kmeans的关系;

13)L1和L2的区别以及如何解决L1的求导困难;

14)如何在保证模型性能的情况下用尽可能少的样本来训练模型;

15)讲解word2vec的原理以及哈夫曼树的改进;

16)对推荐算法的未来看法;

17)模型训练迭代时如何评估效果;

18) 有好几G的文本,每一行记录了访问IP的日志。如何快速统计出现次数最多的10个IP?仅使用Linux指令如何解决问题;

19) 烧一根绳子需要1小时。假设所有的绳子材质不同,也不统一,怎么取出1小时加15分钟呢?

20)假设有一个M*N的方格。您从左下角开始,到右上角。每次你只能向右或向上。有多少种方法?假设中间有几个格子不能移动。还有有多少种方法?

21)实现hmm的状态转移代码;

22) 最短路径代码;

23) 乘车共享软件如何定价和优化;

24) 有100张牌,一次只能抽一张牌。抽到的牌将被丢弃。如何选择最大的牌;

25)如何预测降雨量;

26)kmeans代码;

27) mr解法求解矩阵乘法的代码;

28)sql语句的一些优化技巧;

29)您对集群调度有多少经验?

30)设计一个系统,可以实时统计过去一小时内任意IP的访问次数;

31)设计LRU系统;

PS:以上面试问题仅供参考。主要是为这个职位的面试评估方向提供一个方向和一个大概的了解。详情需要温习面试经历(牛客网);

点击作者名字即可与作者交流~

  • 温馨提示:以上数据挖掘:从入门到求职,一年经验总结,BAT 岗位能力需求全解析的资讯来自颍上人才网(颍上地区找工作,发布招聘信息的颍上人才网招聘网站),每天更新颍上最新招聘信息。本内容地址:http://www.ysjob.cc/article/articledetail-640.html转载请注明
最新资讯
微信分享

关注微信公众号

访问手机版本