一、SQL
0.知识点
1)日期计算函数:date_sub,datediff
2)窗口函数:
- rank函数:对于4,4,4,8,也就是如果有并列名次的行,排序结果是:1,1,1,4
- dense_rank函数:对于4,4,4,8,也就是如果有并列名次的行,排序结果是:1,1,1,2
- row_number函数:对于4,4,4,8,也就是如果有并列名次的行,排序结果是:1,2,3,4
- lag函数:lag(user_age, 1, 0) over(ORDER BY user_id),第一个为待查询的参数列名,第二个为向上偏移的位数,第三个参数为超出最上面边界的默认值
- lead函数:查询当前行向下偏移n行对应的结果
- sum/max/avg函数:截至到order by对应字段值的累积求和
3)其他:
coalesce(表达式1, 表达式2,..., 表达式n) n>=2, 返回第一个不为空的表达式,如果都为空则返回空
nvl()、nvl(T v1,T v2):空值判断。如果v1为空则返回v2,不为空则为v1.v1,v2 为同类型数据
concat_ws()、concat_ws(separator,str1,str2,....):指定分隔符(第一位)连接字符串函数。参数需要字符串
collect_list()、 collect_list(T col):将某列的值连在一起,返回字符串数组,有相同的列值不会去重
collect_set()、 collect_set(T col):将某列的值连接在一起,返回字符串数组,有相同的列值会去重
regexp_replace(). 用一个指定的 replace_string 来替换匹配的模式,从而允许复杂的"搜 索并替换"操作
1.连续登录天数
表A:ID date
select ID,date_sub(date,rk) date1,count(*)
from
(select ID,date,row_number() over(partition by ID order by date DESC) rk
from
A) a
group by 1,2
2.分组聚合、留存
表table_a:dt, city_id, device_id, gmv
tips:每个device一天可能有多条记录
(1)求每个城市每天gmv最高的5个device_id
with tmp as
(select dt, city_id, device_id
from table_a
where row_number() over(partition_by dt,city_id order by gmv DESC) rk <=5)
(2)求连续三天每个城市每天gmv都在前5的device_id 本质是计算留存
select
a.dt,a.city_id,a.device_id
from tmp a left join tmp b on a.dt = date_sub(b.dt,1) and a.city_id = b.city_id
left join tmp c on a.dt = date_sub(c.dt,2) and a.city_id = c.city_id
where b.device_id is not null and c.device_id is not null
3.累加
编写sql实现每个用户截止到每月为止的最大单月访问次数和累计到该月的总访问次数
表A:userid,month,visits
select user_id,month,visits,
sum(visits) over(partition by user_id order by month) cumsum_visits,
max(visits) over(partition by user_id order by month) cummax_visits
from A
order by 1,2
4.间隔
当同一个用户id的本次开始时间跟上一次浏览的结束时间的间隔大于10分钟时,需要分到下一组
如果小于10分钟,就将2条数据合并
表A:userid,start_time,end_time,flow
select user_id,group,min(start_time),max(end_time),sum(flow)
from(
select userid,start_time,end_time,flow,sum(flag) over(partition by userid order by start_time) group 分组依据
from(
select userid,start_time,end_time,flow,
lag(end_time) over(partition by userid order by start_time) prev_end_time,
if(start_time - lag(end_time) over(partition by userid order by start_time)>=10,1,0) flag
from
A)a)b
group by 1,2
二、统计
1.大数定理与中心极限定理:
- 辛钦大数定律:随机变量独立同分布,一阶矩存在且等于a,样本均值依概率收敛于期望值a,即当样本数据无限大时,样本均值趋于总体均值
- 中心极限定理: 当样本量逐渐趋于无穷大时,样本的均值的频数逐渐趋于正态分布,其对原总体的分布不做任何要求,应用:假设检验中大样本取渐进分布
2.线性回归的五个基本假设:回去看PPT吧
- 线性关系
- 误差项之间应相互独立
- 自变量之间应相互独立:当多重共线性性出现的时候,变量之间的联动关系会导致我们测得的标准差偏大,置信区间变宽,采用岭回归,Lasso回归或弹性网(ElasticNet)回归可以一定程度上减少方差,解决多重共线性性问题
- 误差项的方差应为常数:
- 误差项应呈正态分布
3.分布:
4.假设检验:

- Z-test:总体方差已知,或样本量大(30)
- T-test:小样本,总体方差未知
- F-test:样本方差的检验
- 卡方检验:分类变量之间相关性的检验
5.参数Vs非参数:
非参数统计:对总体的分布不作假设或仅作非常一般性假设条件下的统计方法
例子:机器学习:决策树,随机森林,SVM; 假设检验:符号,符号秩,秩和检验
优点:适用范围广,迅速完成计算
缺点:计算准确性较低
6. 数据降维:逐步回归,LASSO,PCA,随机森林等一些机器学习方法变量重要性筛选
7. 辛普森悖论:
三、机器学习
1.机器学习常见指标
AIC和BIC:
模型选择指标,似然函数+参数个数的形式,
![]()
![]()
2.决策树
剪枝:
预剪枝:预剪枝就是在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点记为叶结点,其类别标记为该节点对应训练样例数最多的类别。
后剪枝:后剪枝就是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行分析计算,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
四、业务
1.异动分析
维度太多了怎么快速定位:
- 首先可以按照链路拆解,乘法(取log)具体是哪一层出现问题,再横向拆解,加法判断是哪一类别出现了问题
- 自动化方法:基于Gini系数找到波动最大的维度,再挑选出Top维度具体分析;根因分析算法
2.指标体系构建
3.两个指标反向波动
如果推得电商广告太多,能提高电商的gmv,但会造成抖音流量的下跌,如何衡量这个策略的roi?
(1)第一个问题:
首先可以可以根据因果推断(找到相似的样本准实验)、abtest确定流量下跌的占比,并得出新老用户下降占比多少,然后根据新老用户下跌的占比估算用户剩余生命周期总价值,根据ROI投资回报率公式,分子为GMV,分母为流失用户生命周期总价值,可以以不同广告投放比例设置多个实验组,已知广告投放越多,gmv增长越多,流量下跌越多,分子上升,分母成本越高,可以设置ROI为一个阈值(最大容忍度),从而求得峰值,(多个峰值时取广告投放比例最小的那个),从而以此广告投放比例作为衡量阈值。
(2)第二个衍生问题:
首先,业务线流量可以按照总人数比例计算,调用流量不可以低于某个阈值,低于某个阈值可能影响该业务的正常运营。 其次,补充的流量=广告推广的总流量-电商业务线本身流量,某一业务线补充的流量=补充的流量*某一业务线总人数占其他业务线流量占比,可以设定一个范围,视业务对补充的流量进行阈值波动,并且对该业务线的流量根据活跃度进行分层——高活、中活、低活,并设定比例进行抽取,避免广告分发的过度倾斜导致破坏整体业务线内容氛围。 对每一业务线按规则抽取后,进行abtest,需要达到两个目标:(1)各业务线核心指标不受影响(不显著);(2)实验组gmv显著提升,roi在合理范围。
小红书的tab中,加号是一个生产入口,如果加了一个气泡的引导,"你快来发布视频吧",加了之后你觉得哪些指标会涨/跌?
如果在小红书的推荐流中,强插了一条视频,保量2000万,你觉得这对大盘指标来说是涨还是跌?比如说对大盘的留存和时长。在你的感知中,这些指标是涨还是跌?
快手和抖音最不同三点
短视频app双列展示优点
新用户,点赞/评论/拍视频等互动行为,具有哪个行为的用户最容易留存下来?如何研究
10%的用户有视频产出,他们中95%留存下来;剩下的无产出用户,50%留存下来;问,能否说明视频产出行为和留存与否有关?
五、简历
3.平时用的短视频软件然后主要观看什么视频,视频怎么评价这个视频垂类的质量。
4.平时搜索功能用的多吗?怎么评价这个功能?
面试官建议:希望多从面向的用户类型,以及理解功能(业务)的作用方面进行解释。

1383

被折叠的 条评论
为什么被折叠?



