百度面试题 - 范文中心

百度面试题

01/18

从搜索引擎版转过来的,挺有意思。大家多想想 +U

1 完成函数

size_t foo(unsigned int *a1, size_t al1, unsigned int* a2, size_t al2)

其中a1和a2都为无符号数组,al1和al2为数组的长度,数组的长度为偶数。

无符号数组由一对数字区间组成。如下例:

a1 为 0,1,3,6,10,20

a2 为 0,1,20,50,4,5

则 a1表示以下区间[0,1] [3,6] [10,20]

a2表示以下区间[0,1] [20,50] [4,5]

则a1,a2的重叠部分为[0,1] [4,5],其长度为2

函数foo要求返回重叠区间的长度。上例中为2.

要求:

详细说明自己的解题思路,说明自己实现的一些关键点。

写出函数foo原代码,另外效率尽量高,并给出代码的复杂性分析。

限制:

al1和al2的长度不超过100万。而且同一个数组的区间可能出现重重叠。

如a1可能为 0,5, 4,8, 9,100, 70,80

使用的存储空间尽量小。

2 多人排成一个队列,我们认为从低到高是正确的序列,但是总有部分人不遵守秩序。如果说,前面的人比后面的人高(两人身高一样认为是合适的),那么我们就认为这两个人是一对“捣乱分子”,比如说,现在存在一个序列:

176, 178, 180, 170, 171

这些捣乱分子对为, , , , , ,

那么,现在给出一个整型序列,请找出这些捣乱分子对的个数(仅给出捣乱分子对的数目即可,不用具体的对)

要求:

输入:

为一个文件(in),文件的每一行为一个序列。序列全为数字,数字间用”,”分隔。

输出:

为一个文件(out),每行为一个数字,表示捣乱分子的对数。

详细说明自己的解题思路,说明自己实现的一些关键点。并给出实现的代码 ,并分析时间复杂度。

限制:

输入每行的最大数字个数为100000个,数字最长为6位。程序无内存使用限制。

二、下面是两道选做题,请根据自己的情况选择其中的一道作答(WEB方向请答第4道,其他职位方向答第3道)。

3

考虑一个在线好友系统。系统为每个用户维护一个好友列表,列表限制最多可以有500个好友,好友必须是这个系统中的其它用户。好友关系是单向的,用户B是用户A的好友,但A不一定是B的好友。

用户以ID形式表示,现给出好友列表数据的文本形式如下:

1 3,5,7,67,78,3332

2 567,890

31 1,66

14 567

78 10000

每行数据有两列,第一列为用户ID,第二列为其好友ID,不同ID间用”,”分隔,ID升序排列。列之间用”t”分隔。

要求:

请设计合适的索引数据结构,来完成以下查询:

给定用户A和B,查询A和B之间是否有这样的关系:B是A的二维好友(好友的好友)。

如上例中,10000为1的二维好友,因为78为1的好友,10000为78的好友。

详细说明自己的解题思路,说明自己实现的一些关键点。并给出实现的伪代码实现建立索引过程和查询过程,并说明空间和时间复杂度。

限制:

用户数量不超过1000万,平均50个好友。

4

有关系模式:User(userId, userName), Article(articleId, userId, title, content),Vote(articleId, score),User为用户关系,Article为用户发表的文章关系,Vote为文章得票关系,title为文章标题、score为得票数。

(1)用SQL语言查询所有没发表过文章的用户名;

(2)用SQL语言查询得票数大于100的所有文章标题,按得票数倒序排列;

(3)用SQL语言查询出发表文章数大于5,文章平均得票数大于100的用户名,按平均得票数倒序排列;

(4)设计这些表的主键、外键和索引,并指出上面三个查询所使用的索引。

(5)当用户数超过1000万,文章数超过1亿时,如何考虑存储及性能的改进和优化?


相关内容

  • 运营的三大职业发展方向,你会选择哪条? | 人人都是产品经理
    产品经理.运营人专属学习社群招募队友,人人都是产品经理联合200+BAT产品运营人打造 点此查看详情 在参加面试的最后,面试官通常会说"有什么要问我的嘛?" 在没想到更好的问题时,我们通常会选择咨询一个跟前途相关的问题& ...
  • 20**年河南省商丘市虞城县特岗教师招聘面试工作实施方案
    2013年河南省商丘市虞城县特岗教师招聘面试工作实施方案 2013年8月27日 来源:网络综合 考试必看 发布课程 加入收藏 自动改卷考试阅卷专家www.easybo.cn实现各考试模块自动改卷, 北京易事宝专业提供自动化阅卷机河南成人高考 ...
  • 最常见软件测试面试题
    1. 软件测试流程 2. 简述一下软件测试活动的生命周期 3. 网络协议 4. TCP/IP分几层 5. TCP/UDP位于哪一层,有什么区别 6. 交换机.无线路由器分别的实现原理是什么,位于工作 在哪一层 一般来说交换机是工作在数据链路 ...
  • 网友版的20**年海南高考作文范文:人生必经的一课
    网友版的2013 海南高考作文范文:人生必经的一课--编者按:2013 年海南高考语文刚刚结束,作文题目一公布,就引起了网上强烈关注.网友纷纷投稿南海网,参加"网友写作文,名师来点评"征文活动.截至下午4 点,已经收到来 ...
  • 投简历技巧
    1) 准确筛选职位信息.根据自己的专业,希望所从事的行业以及以往工作经验等情况,有 针对性的选择招聘网站,一些行业招聘网站发布信息对你来说比较有价值点.比如是学旅游管理的,就可以去类似JOB36行业招聘网的中国旅游人才网去注册简 历比较好, ...
  • HR人员必备的招聘技巧-人力资源-世界经理人论坛
    HR人员必备的招聘技巧 - 人力资源-世界经理人论坛行业导航 管理频道 企业战略 领导力 人力资源 事业规划 销售与营销 IT科技 运作管理 金融财务 经理人论坛 管理博客 互动专区 管理实践 经理人•圈 新书试读 杂志文章 中小企业 生活 ...
  • 公司年会爆笑话剧剧本[骗局]
    公司年会爆笑话剧剧本<骗局> --更多年会策划请百度欧凯传媒 赵本山重大转型,从无聊忽悠到关注职场骗局! 长安县令原创小品<招聘骗局> ,帮你识破形形色色招聘骗局! 直面2017严峻就业形势,讽刺企业招聘中的欺骗现状 ...
  • 上海电信20**年校园招聘求职大礼包
    上海电信篇 应届生论坛上海电信版: http://bbs.yingjiesheng.com/forum-1118-1.html 应届生求职大礼包2015版-其他行业及知名企业资料下载区: http://bbs.yingjiesheng.co ...
  • 如何写微信公众号标题
    微信文章标题分析 一.用户一般分为以下几类: 1. 积极热情:基本上推任何活动文章都有Ta,点赞,提建议等 2.冷静观望:低频的互动,也不取关,选择感兴趣的内容打开 3.概率用户:最不可控,可能是偶遇关注的一类人,推文掉粉的那批人. 4. ...
  • 斯皮尔伯格最经典的冒险动作大片
    斯皮尔伯格最经典的冒险动作大片][夺宝奇兵三部曲]+++荐+++ [欧美全明星超火暴犯罪动作喜剧大片][十二罗汉]+++荐+++ [美国经典惊悚动作大片] [爱国者游戏] [美国经典西部动作大片][沙漠骑兵] [07奥斯卡全明星阵容大片][ ...