今日头条 数据分析 面试题总结

SQL题:


表 Cost: date | cname(customer's name) | cost
找出每天花费最大的客户

SELECT date,cname
FROM Cost a INNER JOIN (SELECT date,max(cost) as maxcost FROM Cost GROUP BY date) b
ON a.cost=b.maxcost and a.date=b.date

一个日志表,有两列 date,cid(customer id),添加一列is_new表示当天这个用户是否是新用户,基本逻辑是当天用户id不在之前日期的id集合中,那么就是新用户

ALTER TABLE Log
ADD COLUMN is_new Boolean

UPDATE Log
SET is_new = 1 
WHERE date,cid in (SELECT min(date),cid from Log GROUP BY cid)

算法问题:


SVM算法和核函数:
SVM算法是一个二分类算法,从数据集合中找到一个超平面,使得两类数据分开,这个超平面距离两类数据之间的间隔最大。
优点:
1)可以解决小样本下机器学习的问题
2)提高泛化性能
3)可以解决文本分类、字识别图像等方面仍受欢迎
4)避免神经网络结构选择和局部极小的问题
缺点:
1)缺失数据敏感
2)内存消耗大,难以解释
SVM常用和函数:
线性核函数
多项式核函数
高斯(RBF)核函数
sigmoid核函数


PCA的原理和内容
是最常用的线性降维方法,它的目标是通过某种投影将高的数据映射到低维空间(一般为协方差矩阵的特征空间)中表示,并期望所在投影的维度上数据方差最大,以此使用较少数据的维度 ,同时较多保留原数据的特性。


分析问题:


如果次日用户留存率下降了 5%该怎么分析
留存率=新增用户中登录用户数/新增用户数 * 100%(一般统计周期为天)
次日留存率:(当天新增的用户中,在注册的第2天还登录的用户数)/第一天新增总用户数;
先判断这个下降是否合理,然后从各个方向头脑风暴
某公司做了很多拉新、推广的活动,用户是带来了很多,但是留下来或经常返回来的客户不一定增长,他们有可能是在减少,只不过是拉新过来的人太多了而掩盖了流失率居高不下的问题,实际上客户的留存是在逐渐降低的。
用户进入时来源于不同的渠道,通过不同的营销手段拉入游戏,这样我们交叉分析,通过用户的后期留存情况就能从一个层面把握渠道质量
(1)首先采用“两层模型”分析:对用户进行细分,包括新老、渠道、活动、画像等多个维度,然后分别计算每个维度下不同用户的次日留存率。通过这种方法定位到导致留存率下降的用户群体是谁
按照获取客户渠道进行分析
按照获取客户时间进行分析
按照用户行为进行分析
不同群组对产品不同模块使用状况的分析
(2)分析留下来用户的核心需求和流失用户的流失原因
内部因素
分为获客(渠道质量低、活动获取非目标用户)、满足需求(新功能改动引发某类用户不满)、提活手段(签到等提活手段没打成目标、产品自然使用周期低导致上次获得的大量用户短期内不需要再使用等);
外部因素采用PEST分析,政治(政策影响)、经济(短期内主要是竞争环境,如对竞争对手的活动)、社会(舆论压力、用户生活方式变化、消费心理变化、价值观变化等偏好变化)、技术(创新解决方案的出现、分销渠道变化等)


玉米如何提高收益,价格提高多少才能获取最大收益
收益 = 单价 * 销售量,那么我们的策略是提高单位溢价或者提高销售规模。
提高单位溢价的方法:品牌打造获得长期溢价,但缺陷是需要大量前期营销投入;加工商品占据价值链更多环节,如熟玉米、玉米汁、玉米蛋白粉;重定位商品,如礼品化等;价格歧视,根据价格敏感度对不同用户采用不同定价。
销售量=流量 * 转化率,上述提高单位溢价的方法可能对流量产生影响,也可能对转化率产生影响。
那么 收益 = 单价流量转化率,短期内能规模化采用的应该是进行价格其实,如不同时间、不同商圈的玉米价格不同,采取高定价,然后对价格敏感的用户提供优惠券等。


头条放多少广告可以获得最大收益
收益 = 出价流量点击率*有效转化率,放广告的数量会在提高流量,但会降低匹配程度,因此降低点击率。最大收益是找到这个乘积的最大值,是一个有约束条件的最优化问题。
同时参考价格歧视方案,可以对不同的用户投放不同数量的广告。

收益 = 广告数*单条广告收益
广告数量 : 广告数量影响着用户数量 减少广告对用户的影响:软广,精准广告等
单条广告收益:广告转化率广告价格:提升用户数听声,精准营销


用户的点击率下降2个百分点,该如何分析处理?
先看是什么的点击率
判断这个下降是否合理
然后可以先用户进行拆分(新用户和老用户,不用类型的用户),但不同类型用户的点击率
然后看不同时间段的点击率

从产品层、运营层、推荐算法层和用户体验层进行分析,得出结论。


APP激活量的来源渠道很多,怎样对来源渠道变化大的进行预警
1)如果渠道使用时间较长,认为渠道的app激活量满足一个分布,比较可能是正态分布。求平均值和标准差,对于今日数值与均值差大于3/2/1个标准差的渠道进行预警
2)对于短期的新渠道,直接与均值进行对比。


用户刚进来APP的时候会选择属性,怎样在保证有完整用户信息的同时让用户流失减少
采用技术接受模型(TAM)来分析,影响用户接受选择属性这件事的主要因素有:
1)感知有用性:
a. 文案告知用户选择属性能给用户带来的好处
2)感知易用性:
a. 关联用户第三方账号(如微博),可以冷启动阶段匹配用户更有可能选择的属性,推荐用户选择
b. 交互性做好
3)使用者态度:用户对填写信息的态度
a. 这里需要允许用户跳过,后续再提醒用户填写
b. 告知用户填写的信息会受到很好的保护
4)行为意图:用户使用APP的目的性,难以控制
5)外部变量:如操作时间、操作环境等,这里难以控制


男生点击率增加,女生点击率增加,总体为何减少
考虑用户群体比例的变化
因为男女的点击率可能有较大差异,同时此时低点击率群体的占比增大。
如原来男性20人,点击1人;女性100人,点击99人,总点击率100/120。
现在男性100人,点击6人;女性20人,点击20人,总点击率26/120。
即那个段子“A系中智商最低的人去读B,同时提高了A系和B系的平均智商。”


如何识别作弊用户(爬虫程序, 或者渠道伪造的假用户)
分类问题可以用机器学习的方法去解决,下面是我目前想到的特征:
1)渠道特征:渠道、渠道次日留存率、渠道流量以及各种比率特征
2)环境特征:设备(一般伪造假用户的工作坊以低端机为主)、系统(刷量工作坊一般系统更新较慢)、wifi使用情况、使用时间、来源地区
3)用户行为特征:访问时长、访问页面、使用间隔、次日留存、活跃时间、页面跳转行为(假用户的行为要么过于一致,要么过于随机)、页面使用行为(正常用户对图片的点击也是有分布的,假用户的行为容易过于随机)
4)异常特征:设备号异常(频繁重置idfa)、ip异常(异地访问)、行为异常(突然大量点击广告、点赞)、数据包不完整等


定价策略


数据分析通常包括几个阶段:
提出/发现问题——获取并清洗数据——建模——调整优化——输出结论。


数学问题:


假设检验:根据一定假设条件由样本推断总体的一种方法。
----对总体做假设
----由样本做检验
----假设检验的要素:
原假设(Null Hypothesis)
备择假设(Alternative Hypothesis):即与原假设相悖的陈述
检验统计量:用采样数据基于原假设计算出的统计量,用来检验原假设和备择假设
拒绝域:在该区间,拒绝原假设,而趋向于备择假设
----错误类型:
类型I: 在给定原假设是正确的情况下拒绝原假设的概率(False positive)
α = P(reject H0 | H0 true) 拒真
类型II: 在给定备择假设是正确的情况下接受原假设的概率(False negative)
β = P(accept H0 | H1 true) 取伪


F检验是干嘛的
1)F检验是检验两个正态分布的样本的方差是否存在显著差异
2)也可以用于对多组样本之间比较
3)计量中,F检验原假设所有自变量对因变量都没有影响,排除原假设说明至少有一个自变量对因变量有影响


P值
P值(P value)就是当原假设为真时所得到的样本观察结果或更极端结果出现的概率。
P值,碰巧的概率,对无效假设的统计意义
P>0.05 碰巧出现的可能性大于5% 不能否定无效假设 两组差别无显著意义
P<0.05 碰巧出现的可能性小于5% 可以否定无效假设 两组差别有显著意义
P<0.01 碰巧出现的可能性小于1% 可以否定无效假设 两者差别有非常显著意义


大数定律
大数定律是指在随机试验中,每次出现的结果不同,但是大量重复试验出现的结果的平均值却几乎总是接近于某个确定的值。原因是,在大量的观察试验中,个别的、偶然的因素影响而产生的差异将会相互抵消,从而使现象的必然规律性显示出来。


梯度下降
梯度下降法是一个最优化算法,通常也称为最速下降法。最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的。最速下降法是用负梯度方向为搜索方向的,最速下降法越接近目标值,步长越小,前进越慢。

缺点:靠近极小值时收敛速度减慢。直线搜索时可能会产生一些问题。可能会“之字形”地下降。


其他


存储和列存储的区别
1)行存储:传统数据库的存储方式,同一张表内的数据放在一起,插入更新很快。缺点是每次查询即使只涉及几列,也要把所有数据读取
2)列存储:OLAP等情况下,将数据按照列存储会更高效,每一列都可以成为索引,投影很高效。缺点是查询是选择完成时,需要对选择的列进行重新组装。

你可能感兴趣的:(今日头条 数据分析 面试题总结)