您的位置:首页 > 职场人生

百度电话面试

2008-09-06 22:08 204 查看
 
1. 笔试最后一题。就是那个song和url的题目。完全没有准备,被问倒了,我说用b+树,可是不知道怎么构造文件
2. 一个有100万个字符串的数组,要求除去重复的字符串。内存为1g我回答的是用hash表,面试官不满意,问hash表的hash函数和冲突率,然后我又说二叉排序树,还是有问题
3. 项目情况,介绍了一下我的项目,他说我的项目只有1个人,就不要吹成负责人了。还问了一下时间,我回答1年,他的口气还是是太长了
4. 问了一个网络通信和socket通信的问题。1个server,很多个client发送运算请求,比如说1+1,然后server回复2。问怎么样才能使得在某些运算比较复杂的情况下使得server能够处理的很快。答案是首先采用一个网络线程和多个处理线程。共用一个请求存储区,处理线程不断地去请求存储区中取请求,然后处理,然后再去取,这样的话,使得处理线程不空闲,就提高了处理效率。
5. 两个整型数组,一个大小为10万,另一个大小为64,求交集,内存为1g
第一种情况,如果64数组的元素大小小于2^30,可以遍历它,然后找到最大的建立一个数组a,大小为最大的数,标记64数组的数为1,然后遍历10万的数组,看其对应a的索引值是否为1。时间复杂度为
第二种情况,如果64数组的元素大小为任意整型数,那就可以根据它建立一个二叉搜索树,然后再遍历10万的数组,在二叉搜索树中查找,查到了就是交集
第三种情况,如果有百万个64的数组,那就根据10万数组建立一个hash表,然后依次从文件中读64数组,然后再看对因的hash值有没有
经验教训:面试前一定要再复习一下笔试的题目,特别是没有做出来的
附:
一个排序后的数组,把前面一些数放到后面,然后查找。求复杂度和算法。
使用二分查找变形
中间数要与欲查找数,数组的头尾两个数进行比较,确定搜索范围
时间复杂度O(lgn),空间复杂度O(1)
外排序

附:要想在电面中取得好成绩,去旁听其他人的电面是一个不错的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息