嗨,这是来自CareerCup采访之一的问题。
问题陈述:您将如何为 Google 之类的东西设计日志系统,您应该能够查询在两个时间范围内打开 URL 的次数。
i/p : start_time , end_time , URL1 o/p : URL1 在开始和结束时间之间打开的次数。
一些规范: 数据库不是最佳解决方案 对于给定的时间戳,可能已多次打开 URL。一个 URL 可能在两个时间戳内被打开了很多次。start_time 和 end_time 可以相隔一个月。时间可以精确到一秒。
我的做法:
日志系统:构建一个哈希表,键为 url,值为单击 url 的时间的数组列表。查询时间:当给定时间范围时,应用修改后的二进制搜索并获取该时间范围之间的位置,然后计算该时间范围之间打开网址的次数
有人可以评论我的方法或提出更好的方法。谢谢。
PS我看过这个(信息检索:时间范围内的URL命中)但我没有发现它很有帮助,所以再次询问。