唯品会数据分析实习面经(已凉)

写在前面:约的晚上八点半面试,直接是业务面,预估至少四个人面这个岗位,总共四个问题

1、经典GMV异动分析—指标拆解分析

2、业务方询问AB测结果分析——我说了要进行业务上以及统计上的分析,面试官补充说考虑对实验组进一步细化,找出唯一的影响变量

3、数据倾斜了解吗?—一脸懵逼,直接说不会,面试结束后自己去了解一下

4、sql题:唯品会APP页面有可能同时出现id不相同,但实际上是同一商品的情况,对用户造成冗余的感觉,查找出出现这种情况的uid,search,good_id,当时没做出来,自己面试结束后总结了两种方法

用户行为表User表,有三列,uid,search,good_id,其中search代表用户第几次看APP

商品映射表good表,有两列id_1,id_2,同一行代表是id不同但实际上同一种商品,这两列都可以与User表的good_id进行匹配

方法一:步骤1: User表分别与good表第一列和第二列左连接后删除没有匹配上的数据,然后用ifnull函数替换数据,让同一商品都显示good表上的id_1:

With table_A as (select uid,search,good_id,ifnull(C.id_1,B.id_1) id_all

                 From User  left join good B

                 On User.good_id = B.id_1

                 Left join good C

                 On User.good_id = C.id_2

                 Where B.id_1 is not null

                 or C.id_2 is not null);

 步骤2:在对上一步骤产生的table_A进行计数,大于2即为答案

 Select uid,search, id_all,count(uid,search, id_all)

From table_A Group by uid,search, id_all Having count(uid,search, id_all) >= 2

方法二:用row_number()给表二打上唯一的标签,然后用两个id分别匹配表二,用count()计数,筛选出大于等于2的uid

请各位牛友批评指正!

 

全部评论
为什么还会问数仓相关的问题....
点赞 回复 分享
发布于 06-30 16:49 浙江

相关推荐

12 25 评论
分享
牛客网
牛客企业服务