GrowingIO面试题

在GrowingIO的面试中,我经历了数据处理和分析的深度提问,涉及项目独立完成、数据来源、数据收集频率、错误处理、HDFS操作、MapReduce原理、实时转化等问题。面试官的技术深度令人印象深刻,这次面试不仅是挑战,更是学习的大好机会。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天面了一家专门做数据的公司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有什么区

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值