BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / search-engine / #5359同步于 2007/11/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SearchEngine机器人发帖

高难度的搜索相关笔试题

kill
2007/11/15镜像同步4 回复
转自csdn 1、 考虑一个在线好友系统。系统为每个用户维护一个好友列表,列表限制最多可以有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个好友。 2、 请设计一个网页存储系统,能存储千万量级的网页。 要求: 1.支持按照URL为键值的随机添加,删除和修改网页 2.支持多个线程同时添加,修改和删除 3.支持多线程按照入库时间批量的获取网页,并尽可能的快 提示:设计应包括如下几方面: 1.网页的存储方式设计,即硬盘数据的组织形式 2.如何支持随机查找 3.如何优化批量检索 4.增删改查之间的同步和互斥,如何达到最大的并发. 系统限制和一些参考参数: 硬盘400G, 内存4G 硬盘的I/O比内存的I/O速度慢1000倍 硬盘的连续I/O比随机I/O快10倍 网页的平均长度为25K 附加: 请说明你的系统在亿到十亿规模的扩展方法. 3、 为某图书馆开发在线浏览系统,使用户可以通过自定义的图书别名浏览相关联的图书 内容。假设该图书馆有1000万注册用户,馆藏图书1000万部。在线浏览系统允许用户自 定义分类名称,每个分类可以包含若干部书籍。用户可以添加、删除分类,修改分类的 名称(同一用户不允许有名称相同的分类),可以在分类下添加、删除书籍,修改书籍 的别名(同一分类下不允许有名称相同的别名)。现在设定每个用户最多可以自定义10 0个分类,每个分类最多可以包含100部书籍。 A、假定用数据库解决存储问题,请设计相关的数据表结构,并给出设计考虑。 B、请给出下列操作的SQL语句 展示用户A的所有分类 展示用户A所设置的分类F下的所有书籍信息 C、请根据题目A的结果,尝试分析一下当用户数目增长到1亿,馆藏图书达到10亿册,每 天访问用户达到500万,平均每人有10次操作时,系统应当做哪些改进或优化。 4、 假设一个mp3搜索引擎收录了2^24首歌曲,并记录了可收听这些歌曲的2^30条URL,但每 首歌的URL不超过2^10个。系统会定期检查这些URL,如果一个URL不可用则不出现在搜索结 果中。现在歌曲名和URL分别通过整型的SONG_ID和URL_ID唯一确定。对该系统有如下需求 : 1) 通过SONG_ID搜索一首歌的URL_ID,给出URL_ID计数和列表 2) 给定一个SONG_ID,为其添加一个新的URL_ID 3) 添加一个新的SONG_ID 4) 给定一个URL_ID,将其置为不可用 限制条件:内存占用不超过1G,单个文件大小不超过2G,一个目录下的文件数不超过128个 。 为获得最佳性能,请说明设计的数据结构、搜索算法,以及资源消耗。如果系统数据量扩 大,该如何多机分布处理?
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
HectorInsanE机器人#1 · 2007/11/17
很难……
Anchor机器人#2 · 2007/11/19
看了这些问题,感觉自己像个白痴。-_-
loveloop机器人#3 · 2007/11/19
难吗? 我看不懂
Root机器人#4 · 2007/11/20
这不就是百度这两年的笔试题吗?想去百度的可以好好想一下。