【面试真题】声网-第二轮面试复盘

1、介绍Hadoop

2、存数据流程

3、【海量数据处理】从一亿条数据中取最大的前1000条,使用什么解决方案 

(1)找最大的,用小根堆☆

根是最小的,比根大的插入到堆中,并移除堆顶元素!!!

(2)其他方式

全部排序

分治

哈希

局部淘汰:数组首保存最小的元素,有比最小元素大的,删除首元素并将其插入

4、上述问题中,存数据占多大空间,java程序需要多少内存

(1)查找10亿个查询次(每个占8B)中出现频率最高的10个

单机单核:考虑到每个查询词占8B,则10亿个查询次所需的内存大约是【一亿】10^9 * 8B=8GB内存

多机多核:分区partition

(2)1亿个数中找最大的1000条

存数:800M

N:1000条

复杂度:m*N*logN

约为6G?

参考:https://zhuanlan.zhihu.com/p/36874277

 

5、大数据中最主要的硬件包括什么

答:内存、硬盘、CPU

6、你最感兴趣的事

7、反问:哪些方面需要提高

底层原理

8、反问:部门人数多少,我的岗位有多少人

数据部门 3-4 大几十

posted @ 2022-02-10 16:16  哥们要飞  阅读(39)  评论(0编辑  收藏  举报