一个面试题

来源:互联网 发布:stackblur.js 使用 编辑:程序博客网 时间:2024/05/12 08:23
题目是:

假设一个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个。          
    为获得最佳性能,请说明设计的数据结构、搜索算法,以及资源消耗。如果系统数据量扩大,该如何多机分布处理?      
” 

    刚才看到网友发的这个问题,感到一头蒙,我什么时候才能学到能编出这样的程序呀?