海量数据处理面试题集锦与Bit-map详解
十七道海量数据处理面试题与Bit-map详解 作者:小桥流水,redfox66,July。 前言 本博客内曾经整理过有关海量数据处理的10道面试题( 十道海量数据处理面试题与十个方法大总结 ),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。 同时, 程序员编程艺术系列 将重新开始创作,第十一章以后的部分题目来源将取自下文中的17道海量数据处理的面试题。因为,我们觉得,下文的每一道面试题都值得重新思考,重新深究与学习。再者,编程艺术系列的前十章也是这么来的。若您有任何问题或建议,欢迎不吝指正。谢谢。 第一部分、十五道海量数据处理面试题 1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 遍历文件a,对每个url求取 ,然后根据所取得的值将url分别存储到1000个小文件(记为 )中。这样每个小文件的大约为300M。 遍历文件b,采取和a相同的方式将url分别存储到1000小文件中(记为 )。这样处理后,所有可能相同的url都在对应的小文件( )中,不对应的小文件不可能有相同的url。然后我们只要求出1000对小文件中相同的url即可。