你的位置:首页 > 数据库

[数据库]百度互联网数据研发部电面:一面记录


  其实距离此次电面过去有几天了,因为之前一直忙论文开题的事情,没有时间整理,今天抽时间总结一下。

  先说一句,百度的部门真的太多了,好像很多部门都有自己的数据开发团队……具体不太了解,我这次面的是互联网数据研发部的大数据研发岗位。要求语言主要是Python,但是我主要使用Java,之前对Python也是了解一点而已……导致原本内推过去的简历挂掉了,得到的反馈好像是主要是因为不太擅长Python,且简历上的项目涉及大数据的比较少,但是好在是内推,还是给了一次机会。

  所以我当时万分激动、对这次面试机会倍加珍惜。

  言归正传,记得那天是大约下午3点钟左右来的电话,是一个声音非常和蔼,入耳和谐的男声,反正听起来很舒服,约了晚上7点。这期间因为在公司实习,自由时间不是很多,故赶紧抽空复习了下常用的基础知识。默默等待晚上7点的到来。

  电面开始时,面试官陈述了面试要求——环境相对安静,周围不要有电脑,和考察角度——三个方面考察,简历上的项目+基础知识+大数据相关的扩展问题。

  关于项目经验,由于我只写了实习工作期间的项目,对学校项目没有过多笔墨描述,故主要问了:现在在什么公司实习?说说你做的这几个项目,把需求,设计,多少人参与,你做了什么工作,遇到了什么问题,如何解决的,用了哪些技术,从中学习到了什么都谈一谈,最后就是让我陈述下项目中的亮点。

  然后进入了基础知识考察阶段,主要问的是操作系统,项目中的算法,设计模式,Java语言,以及对Python的了解。其中操作系统问了:说说Linux进程之间的通信机制,同步和异步的区别,进程和线程的区别,说下Linux的锁机制,如何设计一个互斥锁(思路),语言问的是都学过什么语言(c,c++,Java,oc……),问了下对新语言的学习能力,和接受程度。Java的垃圾回收机制,以及和c++相比内存管理的区别,最后是问了操作系统内存碎片的概念,以及如何在编程层面尽量减少内存碎片,说说优化的思路。关于编程语言还问了有没有用过Python(很遗憾,没用过,但是我知道Python也是面向对象的,入门比Java还要简单些,拿起来问题不大)。针对算法,问我的项目中有没有用过什么算法?我顺便把我的研究生论文(在公司做的)中的算法给说了说。最后让说了说单例模式及其各种坑和应用就结束了基础知识的考察。

  最后进入大数据相关问题考察阶段,全部是没用标准答案,都是考察的思路和大数据思维,非常有扩展性,大概八九道,捡着重点回忆下:百度百科重名人物查询匹配的问题,重复的大数据文件查询问题,存储n多数字的数组里判断哪些数字出现 了多少次?ps:一步步扩展的,从O(n)时间复杂度到常量O(1)复杂度的思路。网页相似度检测,判断的思路?多台机器,多个文件,随机输出大量数据的问题,大文件中匹配词表片段的问题,最后问了数据挖掘和机器学习有没有学过……

  到这里持续了大概1个小时多,最后让我提问、之后评价了我的面试过程,整体结果面试官给的是ok(当然了,具体面试官怎么打分的,我也不清楚),临近结束面试官说等待后续安排,最好是面谈,就结束了。看了下表,一个小时20分钟左右。

  不管有没有结果,继续努力。