第11章 数据挖掘岗面试经验

您所在的位置:网站首页 数据挖掘算法岗 第11章 数据挖掘岗面试经验

第11章 数据挖掘岗面试经验

2024-07-15 08:37| 来源: 网络整理| 查看: 265

11.1 数据挖掘岗位面试主要流程         首先是自我介绍,时长在三分钟之内为宜。主要介绍下自己的专业背景,以及与岗位的契合度,不可时间过长,也不能过于吹嘘自己,不卑不亢即可。自我介绍时简单介绍:个人信息,教育背景,职业生涯,工作年限。还有技能的总结,开发语言,主要框架,中间件。         接下来面试官会问一些项目经历。校招生如果没有实习过,可以说说学校做得项目,或者自己实验室的项目。在准备项目时候可以适当包装一下话术。介绍项目需要包括以下几点:项目背景、项目技术选型的原因、项目架构、开发过程中的重难点及解决方案、反思与不足、还有没有优化空间等。项目经历是唯一在各个公司面试都会用到的部分,也是唯一可以提前准备的地方。建议在面试前多排练几次,做到胸有成竹。如果自己的项目没有那么多可以吹得地方,可以去github等地方找找别人的项目,把一些技术点和项目思路借鉴过来,取长补短。再有就是面试官可能会挑几个比较细节的点,去问具体实现的方法,以验证是否是亲自做过的。这里建议是在叙述项目时候主动挖几个坑,诱导面试官去问几个细节;或者在叙述时候说这块比较难做,当时想了好久,这样面试官会问是怎么实现这样。项目短则聊20分钟,长则聊40分钟,可以自己把握下节奏。另外选择项目时候,尽可能往与面试公司背景相契合的点去聊,做到让面试官也好奇,有话可说。面试官也可能会问最近在学些什么,或者业余时间学什么,要保持学习的状态。         之后会做两道左右的算法题。算法题决定着面试的成败。如果前面项目说成花一样,而算法题做不上来,基本是凉凉了。算法题一般公司会有题库,或者自己找的题,难易范围大概如LeetCode中等难度。国内感觉面试题都是比较常见的,很少有自己出题或者变种的,基本是很常见的问题。做的时候要首先说对题目的了解,问一下边界和特殊条件,并简要说思路和面试官确认。确认无误后再编写代码。切勿先写代码,最后才和面试官沟通,如果理解错题意就凉凉了。另外如果知道多个解法的话,先给暴力思路,然后再一点点优化,切莫一开始就上最优解,给面试官背题的印象,就算会的话也要多思考一下。面试出的算法题一般不会写太多代码,30行左右即可。         有的公司面试时候会问几道SQL题,一般会涉及几个表之间的操作,包括子查询等。需要会窗口函数,比如lateral view explode (split(regexp_replace()))这种字段清理,行转多列的操作。还有排序,比如row_number() over(partition by order by) 分组排序等。SQL题掌握套路之后其实就很好做了。如果sql写不上,可能是致命伤。说句实话,数据挖掘主要和数据打交道嘛,sql是必不可少的。如果数据间关系比较复杂的话可以求面试官简化一下题,多少都要硬写上一点。         接下来可能会问些基础知识,涉及到计算机基础(包括操作系统、组成原理、计算机网络、数据结构基础等),还有算法基础,以及语法基础等。我比较会Java,所以会问很多Java的八股文,比如垃圾回收、线程池、多线程,以及一些常用的框架等。问python的话可能会问GIL。基础能说个大概就行,主要看知识了解的深度和广度,不用拘泥于细节。当然如果最简单的知识都打错,会严重影响面试分数的。基础只要做到不减分就行了。         最后会问,你还有什么想问我的。这个时候就是大局已定,可以了解一下岗位的需求和平时做的业务是什么。面试是双向选择嘛,也可以看看工作是不是适合自己。另外也可以问下自己面试时候的表现,或者对面试中一些没说清的地方做个补充,甚至可以问下面试官对自己有哪些建议。有些面试官还是很好的,哪怕要挂你,也会给你指出哪里不行,应该重点提高哪块,算是一个免费的学习诊断了,对以后的面试和学习都有好处的。         等下一轮面试消息也比较煎熬的,怕他来也怕他不来,其实谋事在人成事在天,安心等待并多投简历即可。即使失败了也不要气馁,因为很多公司就不怎么招人,重要的是找到自己的不足,下次面试时候改进它即可。 11.2 数据挖掘面试经常被问到的问题 这里罗列一些常见的算法面试问题: 1.    有哪些激活函数?各有什么作用? 2.    池化层是怎么反向传播的? 3.    解决过拟合的方法? 4.    RNN和LSTM有什么不同? 5.    PCA降维 6.    K-means算法流程 7.    EM算法 8.    word2vect 9.    pooling分几种,分别有什么特点和作用 10.    分别介绍L1和L2正则化的方式和优缺点

还会问一下大数据处理相关的知识: 1.    Spark任务调度 2.    Spark shuffle机制 3.    Application提交运行的过程 4.    HDFS写入机制 5.    Hadoop的NameNode宕了怎么办?

11.3 常被问到推导公式的题 1. LR 2. SVM 3. 交叉熵公式 4. 梯度下降公式 5. BP 6. LSTM 11.4 数据挖掘面试与实际工作的结合点         一般人们都说面试造火箭,工作拧螺丝,确实是这样的,面试超级难,实际工作非常简单。数据挖掘岗位,大部分时间都是在找数据源和做数据清洗。这是因为公司实际业务中,报表繁多,不同部门不同业务,数据源遍布各个角落,需要做拉通和对齐,大量时间在整合各种数据源,经常出现数据与数据之间不一致的情况。还有就是特征处理,业务表成百上千个维度,处理起来也会花费大量的时间。接下来是建模的过程,建模虽然很多是调包,以及调参,但还是要懂得算法原理的,知道原理才能给产品、老板、客户讲清楚模型。一般用到的算法也不会太复杂,和kaggle之类比赛的比容易多了,不会用上太多奇淫技巧。另外就是一些大数据的知识会在工作中用到,因为经常是会在集群上跑数,训练起来会快得多。同时在工作中会发现,用spark sql比较常用,会一些调优还是很有用处的。一些面试时问到的调优方法也会被用上。         总之就是,面试题绝对难于日常工作的,不要担心自己胜任不了岗位,把你招进来肯定足够cover工作的,甚至在大厂,很多工作都是螺丝钉,简单重复做一块的事情。即使以后在工作中,也要不断积累和丰富自己,学更多的知识,愿本面试指南能够帮到你。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3