ohmyblog

#海量数据

从 Top-K 面试题延伸:内存装不下的时候,海量数据 Top-K 还有哪些招

这是一篇知识延伸文章:此前一篇真题解析讲了内存装得下时的 Top-K——扫一遍数据、维护一个 K 大小的小顶堆,O(N log K) 收工。本文换主轴:当数据量远超内存,堆解法的前提不复存在,此时有哪些方法、各自的精度代价是什么?堆解法的细节不再重复。

从海量日志面试题延伸:单机装不下怎么办——分治、外排序与哈希分片

之前解析「海量日志里找访问最多的 IP」这道真题时,核心动作只有一个:按 IP 哈希分片。那篇文章把这道题解完就停了,这篇把镜头拉远——分片只是整套「超内存数据处理方法论」的第一步,后面还有片内处理、全局合并,以及从单机走向分布式的那一步迁移。

从位图面试题延伸:布隆过滤器、Roaring Bitmap 与海量集合工具箱

上一篇真题解析用位图解了「40 亿个整数里判断某个数在不在」这一道题,本文不再重复单题解法,而是把镜头拉远:海量集合问题在工程里有一整个工具箱,位图只是第一件。四件工具各自回答一个不同的问题,选错工具比不会用工具更常见。

历史题目复盘:40 亿个整数里,怎么快速判断一个数在不在

先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料,与任何公司的当前招聘无关。海量数据题是数据处理方向的经典门类,这道「40 亿个整数判断存在性」又是其中出镜率最高的一道——它考的不是算法技巧,是「内存不够时如何表示一个巨大集合」的思维方式。

历史题目复盘:海量日志里,如何找出某天访问最多的 IP

先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料(见文末来源说明),与任何公司的当前招聘无关。海量数据处理类题目有一个共同的开场白:数据大到内存装不下。这道题也不例外——一天的访问日志可能有几十上百 GB,问:访问次数最多的那个 IP 是谁?