搜索引擎日志中统计最热门的 10 个查询串(内存不超过 1G)。
How do you find the top 10 most popular search queries from search engine logs with memory limited to 1GB?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: 大数据计算, TopK问题, 日志分析
标签: TopK, Hash统计, 最小堆, Heap, Trie
参考答案摘要
核心答案 这是一个典型的 TopK 问题,可用 Hash + 堆 或 Trie 解决。 方案一:Hash 表统计 + 最小堆 TopK 第一步: 对海量数据做预处理,用 Hash 表在 O(N) 时间统计每个查询串出现次数。 第二步: 使用堆结构找出 TopK,维护一个大小为 10 的 小根堆 ,遍历去重后的查询串(约 300 万),时间复杂度为 N' * logK 。 总体复杂度: O(N) +...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。