GrowingIO面试题

今天面了一家专门做数据的公司GrowingIO,是一个数据总监面试的我,上来先给了一张笔试题,如下:

然后让我20分钟之内用代码给他手写出来,嗯,我果然没写出来,因为代码太长而时间有点短,就大概写了下思路,主要就是按照用户id和位置id进行分组,然后是一组的判断时间是否连续,不是一组的直接输出,等等巴拉巴拉一大堆扯,以下就开始进入挖坑环节了:

1.项目中你主要做的是哪块?是你独立完成的吗?都遇到了什么困难?怎么解决的?

2.你们这个数据量多少啊?这个数据量你们是根据什么来计算的?

3.你们的数据源是从哪收集来的?怎么收集的?你们GPS是在你们APP上嵌入的吗?为什么不在APP上嵌入啊?

4.你们数据每隔多久收集一次啊?那万一收集失败了你是怎么知道的?有报过错吗?你亲眼见过吗?报的什么错?怎么解决的?

5.你觉得数据分析处理的框架里你最擅长哪个?HDFS啊?那假如现在有个100G的文件,我要用命令行hdfs -put给它上传到hdfs上,你能给我讲讲输入这个命令行之后按下回车后都发生什么了吗?不要讲原理,就讲具体发生的事情?那假如现在这个文件同时有两台机器去完成,会出现什么问题?这个问题是出现在哪个环节了?为什么会出现?你怎么去解决怎么调优?

6.你近期工作中你觉得对你来说最大的挑战的事情是什么?具体到技术点上?那这个问题你是怎么解决的?

7.收集数据的时候肯定会有一些冗余数据啊,你怎么解决的?用的什么选择器?怎么过滤的?

8.你们存储数据是存储到哪了?那rowkey怎么设计的?为什么这样设计?为什么不倒过来设计呢?你们为什么用取Hash的方法来避免热点问题而不是加前缀或者其他方式来解决呢?

9.为什么MapReduce要分map,shuffle,reduce三个阶段呢?为什么不是四个五个更多呢?你觉得分区和combine有什么区别?

10.你们的离线转化成实时具体是怎么实现的?

11.然后滔滔不绝的跟我讲了一遍他们公司的业务以及发展史后,你还有什么问题想问吗?

虽然面试pass了,但是还是学到了很多东西,面试官是11年就开始做大数据的,从面试官的侃侃而谈,不得不说真的是个技术大牛,问的有些问题真的是醍醐灌顶,问的时候懵逼,回来的路上细细一想的确感觉意味深长,人生漫漫路,学无止尽啊,加油吧!

猜你喜欢

转载自blog.csdn.net/Sunshine_2211468152/article/details/83626911