我在编程面试中被问到这个问题。我在下面详细描述了这个问题。这是一个开放式的问题。
鉴于数十亿个网址(深层链接),如何对哪些网址指向重复内容进行分类。问题进一步扩展到发现在重复页面的情况下,哪些是真实的。这是第一部分。 我的方法(有效假设)是在域的基础上对它们进行分类,然后匹配同一桶中URL的内容。
在第二部分中,采访者缩小了问题,说明: 仅给出两个URL,URL1是关于名人的维基页面(例如:Brad Pitt),URL2包含许多名人的信息,包括Brad Pitt。 我们如何识别哪一个是真实的哪个是重复的? 我的回答是基于他们的引用来比较两页。
面试官让我从头开始构建答案,并希望我假设我们没有关于URL上重复内容的任何先前信息。 由于它是一个开放式问题,任何领导都会证明是有帮助的。
答案 0 :(得分:1)
您可能会发现本文有用:" Finding Near-Duplicate Web Pages: A Large-Scale Evaluation of Algorithms"由Monika Henzinger在谷歌,因为这个问题吸引了大量的研究。来自论文:
一个天真的解决方案是将所有对与文档进行比较。既然如此 Manber [11]和Heintze [9]在大型数据集上过于昂贵 提出了用于检测近似重复文档的第一算法 减少了比较次数。两种算法都适用于序列 相邻的人物。布林等人。 1开始使用单词序列 检测侵犯版权。 Shivakumar和Garcia-Molina [13,14] 继续这项研究,并专注于将其扩展到数千兆字节 数据库[15]。 Broder等人。 [3]也使用了单词序列 有效地找到几乎重复的网页。后来,Charikar [4] 开发了一种基于随机投影的方法 文献。最近Hoad和Zobel [10]开发并比较了方法 用于识别版本化和抄袭的文档。
换句话说,这是一个复杂的问题,各种各样的解决方案取得了不同的成功,而不是具有“正确”的解决方案。回答。大多数答案涉及检查单词或字符序列。