一路面试题的思路
一道面试题的思路
注意:请尽可能详细描述你的数据结构、系统架构、设计思路等。建议多写一些伪 代码或者流程说明。 1. 假设一个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个。 ------------------------------------------- 1、URL_ID为SONG_ID+10位; 2、歌曲id按照每六位为一段创建目录,每个歌曲对应一个文件,第一行为歌曲名称,第二行为URL_Id计数,之后的每行为歌曲id 及url; 3、如果给定了一个URL_ID则取前24位定位歌曲文件的路径,接着根据找到制定的URL_ID并删除;