百度(上海)商业基础平台电面

百度今年新成立了一个商业基础平台部(CID),意在流量变现,通过富媒体的展示将一些信息放到竞价广告系统中,跟凤巢做的是平行工作,也就是假如之前凤巢在广告系统中占用7条记录,现在会减为4条,另外这3条则给这个基础平台做展示。信息广告的展示主要有好几块,上海这边主要做的是游戏、团购、二手房,北京那边主要是旅游、教育等。其实这些都是电面的时候得知的,这个部门来浙大做了一次讲座,没听到太多实质性的东东,只是大家纷纷在问hr百度上海的情况,他们是从北京来的团队,稍显失落啊,哈哈。当时是现场投简历,没几天就给大家打电话要求电面了,其实电面的题目每个人都不太一样,这个完全是看你的面试官了,我这里也只是简单回顾一下。

电面一面

一面是个女面试官,25分钟的样子就结束了。自我介绍+对C++中多态的理解+两个大数据问题(海量数据处理的常见题就可以大致知道思想了,主要就是表达的问题了)+有没有用过linux(没有= =#)

电面二面

二面的面试官也很nice,首先问了哈希函数的设计和碰撞的解决,当我提到用链式解决碰撞,还问到如果一个pocket有很多个结点时怎么办,我不知道,乱扯用树。然后问到twoSum问题,这个leetcode上有,说明思路并要求纸上写代码读给他听(==#),最后就是个开放性的题:当你在搜索框中输入若干关键字,关键字补全是怎么做到的?以及补全列表怎么做到流畅并且不影响用户的体验。我的回答也只有尽自己所想扯扯扯。

电面三面

三面从约面试时间上就一直坑坑坑,勉强约了个双方都okay的时间点,结果等了四十分钟都没电话过来,我一个电话就打过去了(不知道这样好不好,但是面试官也不能这么不守时啊!!),然后还好没让我拨分机号什么的直接给通了,面试官说十分钟后再电话我,直到二十分钟后电话终于打过来了。一上来就感觉他说话很不清晰,气场不和真心各种别扭想哭。自我介绍后表了个态说明可以做不对口的工作,然后面试官就表达出我考虑得太多,几乎很少人能对口这个意思(多此一举?)面试题一一列出,问的好多通信、多线程问题,赶脚回答得十分的虚,事后跟同学讨论了下,做下面这些整理:

  • 文件是压缩后加密好还是加密后压缩?是压缩后加密好,原因一加密比压缩复杂,因此先压缩再加密速度快效率高;原因二,从用户的角度想,拿到一个文件要解压后才知道有没有加密,是很不方便的
  • 两个文件分别有100万条电话号码记录,求这两个文件的交集并集分别存起来。答:这题也是典型的大数据问题
  • 有一个系统是可以在用户与服务器间同一时刻单向通信,怎样让用户可以感觉起来像实时通信?答,至今还是没搞太明白,我就扯了点多线程
  • 于是问了进程和线程的概念及关系,线程的切换需要记录哪些信息。
  • 线程主要有两类:界面线程和工作线程,界面线程用的消息队列完成,那么工作线程需要这种机制麽?答:对多线程没有实践答不上来,后来听同学讲了下工作线程是不需要的,一个工作线程工作完成后就自动销毁,而界面线程因为要实时捕捉用户的动作,所以其实设定的是一个死循环,因而需要消息队列机制
  • 100亿个数据,找出前100个。答:先讲了用堆,他还问有没有其他方法,然后我就说分桶,每个桶中用划分找前100个,最后几个桶之间归并
  • 数据库里大概有1000万条信息(用户ip,用户上线下线的状态),每个小时会收到这么多条实时更新的状态信息,但实际上需要修改数据库的状态的改变可能只有800条,这么多条信息需要查询数据库,是个庞大的耗时过程,该怎样处理?(面试官形容了很长很长的题目,最后我理解成这个样子他也没反对==)答:我扯的是把用户ip按区段分桶,在一个桶中可以取出一大块数据库数据,而不需要一条条取,并且桶与桶之间还可以并行处理,这样进行查询状态并更新会快很多。

p s:三面果然跪了,伤感。但确实回答的不好XD,一方面是问到的那些方面知识储备太少,另一方面知识储备少又带来对开放性问题理解的偏差,于是大概电面的时候思路是越走越远,只是面试官没明说。

总的来说,遇到气场和的面试官很重要,其次网络、通信、多线程这些,我确实知之甚少,甚至连常识的基本要求都没达到,任重而道远啊!

crystal /
Published under (CC) BY-NC-SA in categories 面试  tagged with 面试总结