其实距离这次电面过去有几天了,由于以前一直忙论文开题的事情,没有时间整理,今天抽时间总结一下。c++
先说一句,百度的部门真的太多了,好像不少部门都有本身的数据开发团队……具体不太了解,我此次面的是互联网数据研发部的大数据研发岗位。要求语言主要是Python,可是我主要使用Java,以前对Python也是了解一点而已……面试
因此我当时万分激动、对此次面试机会倍加珍惜。算法
言归正传,电面开始时,面试官陈述了面试要求——环境相对安静,周围不要有电脑,和考察角度——三个方面考察,简历上的项目+基础知识+大数据相关的扩展问题。编程
关于项目经验,因为我只写了实习工做期间的项目,对学校项目没有过多笔墨描述,故主要问了:如今在什么公司实习?说说你作的这几个项目,把需求,设计,多少人参与,你作了什么工做,遇到了什么问题,如何解决的,用了哪些技术,从中学习到了什么都谈一谈,最后就是让我陈述下项目中的亮点。设计模式
而后进入了基础知识考察阶段,主要问的是操做系统,项目中的算法,设计模式,Java语言,以及对Python的了解。其中操做系统问了:说说Linux进程之间的通讯机制,同步和异步的区别,进程和线程的区别,说下Linux的锁机制,如何设计一个互斥锁(思路),语言问的是都学过什么语言(c,c++,Java,oc……),问了下对新语言的学习能力,和接受程度。Java的垃圾回收机制,以及和c++相比内存管理的区别,最后是问了操做系统内存碎片的概念,以及如何在编程层面尽可能减小内存碎片,说说优化的思路。关于编程语言还问了有没有用过Python(很遗憾,没用过,可是我知道Python也是面向对象的,入门比Java还要简单些,拿起来问题不大)。针对算法,问个人项目中有没有用过什么算法?我顺便把个人研究生论文(在公司作的)中的算法给说了说。最后让说了说单例模式及其各类坑和应用就结束了基础知识的考察。数组
最后进入大数据相关问题考察阶段,所有是没用标准答案,都是考察的思路和大数据思惟,很是有扩展性,大概八九道,捡着重点回忆下:百度百科重名人物查询匹配的问题,重复的大数据文件查询问题,存储n多数字的数组里判断哪些数字出现 了多少次?ps:一步步扩展的,从O(n)时间复杂度到常量O(1)复杂度的思路。网页类似度检测,判断的思路?多台机器,多个文件,随机输出大量数据的问题,大文件中匹配词表片断的问题,最后问了数据挖掘和机器学习有没有学过……机器学习
到这里持续了大概1个小时多,最后让我提问、以后评价了个人面试过程,总体结果面试官给的是ok(固然了,具体面试官怎么打分的,我也不清楚),临近结束面试官说等待后续安排,最好是面谈,就结束了。看了下表,一个小时20分钟左右。异步
无论有没有结果,继续努力。编程语言