页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

简介

这篇博客是在一个大神的个人技术网站上摘录下来的,原文链接:http://lilian.info/blog/2016/08/BaiduInterviewAboutDataMining.html ,非常感谢大佬,下面也将以大神的第一人称口吻来叙述面试过程~

  • 时间:2016.8.4
  • 岗位:数据挖掘实习生
  • 部门:系统部

面试主要围绕项目,数据挖掘算法,java 的一些特性,以及周边 python, linux 等的了解程度。整个过程面试官非常 nice,气氛很融洽。

一、自我介绍

二、针对项目,问一些细节

主要包括,这个项目主要是干什么的,你在里面负责了什么,要能把具体过程说清楚。然后里面涉及的具体技术点要懂得原理。

三、数据挖掘算法,其实这块主要和项目结合起来问的。

主要从经典的几大算法,比如:

  • SVM,说明它的详细原理,主要从分类平面,到求两类间的最大间隔,到转化为求间隔分之一,等优化问题,然后就是优化问题的解决办法,首先是用拉格拉日乘子把约束优化转化为无约束优化,对各个变量求导令其为零,得到的式子带入拉格朗日式子从而转化为对偶问题, 最后再利用 SMO (序列最小优化)来解决这个对偶问题。说明它与其他分类器对比的优缺点,它的速度等等。
  • logistic 回归,原理,它是怎么从回归到分类的,它的优缺点,能不能处理非线性分类,与 SVM 对比有什么优缺点。
  • 贝叶斯分类,这是一类分类方法,主要代表是朴素贝叶斯,朴素贝叶斯的原理,重点在假设各个属性类条件独立。然后能根据贝叶斯公式具体推导。考察给你一个问题,如何利用朴素贝叶斯分类去分类,比如:给你一个人的特征,判断是男是女,比如身高,体重,头发长度等特征的的数据,那么你要能推到这个过程。给出最后的分类器公式。
  • 项目中涉及到频繁模式挖掘,于是问了一下如何实现的? 用的是 Apriori 算法,描述他的原理过程,关键字眼:支持度,支持度计数,k项候选频繁项集,怎么从 k 项到 k+1 项等,连接剪枝过程。

四、常用优化算法

  • 梯度下降法:又有随机梯度下降和负梯度下降
  • 牛顿法

主要是问了各自的优缺点,速度,能不能得到全局最优解,牛顿法的二次收敛等

五、Java 知识考核(和其他公司的有点混淆了,记不清楚哪个是哪个公司考的了)大体是这样子的

  • 进程与线程的区别,线程的同步问题,两个线程访问一个临界资源该怎么做?线程什么时候终止?(还问到一个daemon函数,我当时完全不知道这是什么)
  • hashmap与hashtable区别
  • String 与StringBuffer的区别,有什么好处?
  • 问了用过java的数据挖掘,数据分析包吗?用过哪些?
  • 还问了一个异常处理机制,,try和finally里面都有return的时候,会不会执行finally的return。
  • final的作用。。。

六、Python

  • 了解 python 吗?了解一些,平时偶尔看看别人写的程序。
  • 用过什么 python 的数据分析包? 什么 panda 呀,。。。我说我就用过 scikit learn , 还有两个网络图的包 networkx, igraph 。。。
  • 基本语法都知道吧?恩都知道。不过不是很熟,要是工作需要的话,可以尽快入门。

本人对 python 的了解也仅限于此,所以面试官没有继续问了。

七、Linux

(我简历上写的也是了解linux的基本命令)

  • linux 了解多吗?不多。。
  • 比如文件权限命令, chmod , chown, 777 什么的了解吗? 恩了解一些,只知道是关于用户组,用户,还是啥的对文件的读写,执行权限,具体没太记得各种命令的具体含义。。
  • 那关于创建文件,移动删除这些命令呢?恩这个知道,比如创建文件夹mkdir, 创建文件的话我平时直接用 gedit, 移动 mv(面试官打断,,不让我继续说了)

八、好像没有其他方面的了

后面就是问了问实习时间,什么时候能来,我就说 8月10号以后。。。然后面试官就说我这里没什么问题了,你有什么问题?我就开问了两个。

  1. 你们这边具体是做哪些项目的? 答曰:我们这边是百度的数据中心,基本就是处理数据的安全,以及一些偏底层的东西,会去分析一些数据故障还是啥 。。。。(记不清了,反正当时就想,哇这和我之前做的那个关联规则挖掘根源分析的好像啊哈哈哈)
  2. 你们是哪个部门?我之前投递了两个内推,不知道是哪个了。。答曰:我们部门名称就做系统部。。。
  3. 其他好像也没问了。。。

结束

总共1个小时,到此结束。。。。