📣 独立日限时特惠: VIP通行证立减$68
楼主: rochellehx
跳转到指定楼层
上一主题 下一主题
收起左侧

FB DS 电面

 
🔗
iamyangnan 2018-3-23 11:26:49 | 只看该作者
全局:
点击这里快速回复?
回复

使用道具 举报

🔗
candy0761 2018-4-27 08:34:03 | 只看该作者
全局:
hypothesis 是reject null?
回复

使用道具 举报

🔗
Skylehan 2018-5-30 01:55:11 | 只看该作者
全局:
遇到了相同的SQL题目,第二题里面spend不能只简单的sum。因为有多个ad_id和conversion,所以可以group by之后sum distinct?
回复

使用道具 举报

🔗
wasabimao1181 2018-5-30 05:54:01 | 只看该作者
全局:
n0thing233 发表于 2018-2-26 11:57
看了很多这道题的面经,有一点不明白为啥大家都用left join 呢?
给我感觉因为已经assume了 price: The us ...

我也不用left join 我觉得你写的才对呢...left之后还要看右边table是不是null
回复

使用道具 举报

🔗
wasabimao1181 2018-5-30 06:10:39 | 只看该作者
全局:
maohappy2013 发表于 2018-3-1 23:47.1point3acres
select adv.advertiser_id,
     cost = sum(spend),
     rev = sum(isnull(ad.price,0)),

同意! 我直接left join 会导致每一个advertiser_ID,和ad_ID不唯一,所以 spend是错的。

SELECT advertiser_id, SUM(IFNULL(rev,0)) / SUM(spend) AS ROI
FROM adv_info t1
LEFT JOIN
  (SELECT ad_id, SUM(price) AS rev.google  и
  FROM ad_info
  GROUP BY ad_id) AS t2
ON t1.ad_id = t2.ad_id
GROUP BY advertiser_id
回复

使用道具 举报

🔗
wasabimao1181 2018-5-30 06:10:45 | 只看该作者
全局:
maohappy2013 发表于 2018-3-1 23:47
select adv.advertiser_id,
     cost = sum(spend),. Χ
     rev = sum(isnull(ad.price,0)),

同意! 我直接left join 会导致每一个advertiser_ID,和ad_ID不唯一,所以 spend是错的。
.1point3acres
SELECT advertiser_id, SUM(IFNULL(rev,0)) / SUM(spend) AS ROI. From 1point 3acres bbs
FROM adv_info t1 ..
LEFT JOIN
  (SELECT ad_id, SUM(price) AS rev
  FROM ad_info-baidu 1point3acres
  GROUP BY ad_id) AS t2
ON t1.ad_id = t2.ad_id
GROUP BY advertiser_id
回复

使用道具 举报

🔗
starfoe 2018-5-30 06:13:04 | 只看该作者
全局:
第一问:
select count(distinct adv.advertiser_id)/(select count(distinct advertiser_id from adv_info)
from adv_info adv join ad_info ad on adv.ad_id = ad.ad_id
这个问题认为不需要left join,只要在ad_info中出现的ad_id, 都认为是有点击量的,那么通过inner join,那些没有点击量的ad_id就自动filter out了,此时还能留在这个表里的,就是至少转化了一条广告的广告商
然后通过count+distinct来统计,有多少广告商有至少一条转化的广告
然后除以总广告商数量(select count(distinct advertiser_id from adv_info),得到率

ROI:
按ad来aggregate
select advertiser_id, adv.ad_id, sum(price)/sum(spend)
from adv_info as adv left join ad_info as ad on adv.ad_id = ad.ad_id and advertiser_id ="xxxx"
group by advertiser_id,adv.ad_id
having sum(spend)>0


.
回复

使用道具 举报

🔗
starfoe 2018-5-30 06:47:23 | 只看该作者
全局:
starfoe 发表于 2018-5-30 06:13
第一问:
select count(distinct adv.advertiser_id)/(select count(distinct advertiser_id from adv_inf ...

.google  и更正第二问,对于advertiser, 应先在ad_info上aggregate出每个ad_info的收入,再join到adv_info里,再按照advertiser进一步aggregate:

select adv.advertiser_id, sum(price)/sum(spend)
from adv_info adv left join
    (select ad_id, sum(price) price .1point3acres
     from ad_info
     group by ad_id) agg_ad. 1point3acres.com
on adv.ad_id = agg_ad.ad_id.--
group by adv.advertiser_id
having sum(spend) > 0

最后要考虑下一个广告商在没有任何投资的影响,那么sum(spend) == 0, 除法可能会出问题,所以我用了having sum(spend) > 0 来把这些广告商剔除
回复

使用道具 举报

🔗
starfoe 2018-5-30 07:49:48 | 只看该作者
全局:
不知道对不对啊求指正!

假设检验
uc: mean time spent on FB of the control group. 1point3acres.com
ut: mean time spent on FB of the treatment group

构造了单边检验(这一点不太确定,感觉双边也可以?). 1point 3 acres

h0: uc = ut . Waral dи,
ha: ut > uc. From 1point 3acres bbs

Assume alpha = 95%, 两组variance一样
用t检验. ----
t =(ut-uc)/sqrt(var/1000+var/1000) = 2/sqrt(4.5/1000) = 30 >> 1.65
so reject h0

评分

参与人数 1大米 +10 收起 理由
匿名用户-TOY7K + 10

查看全部评分

回复

使用道具 举报

🔗
nycpiggy2018 2018-6-17 23:43:19 | 只看该作者
全局:
谢谢分享了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表