作者:李诗怡,CDA二级持证人,大数据工程技术专业大三在读
今年不少互联网大厂的数据分析岗面试中,都出现了同一类高频考题,“用SQL计算用户的最大连续活跃天数”。
这道题表面考的是窗口函数,实际上考的是你处理时间序列分组的底层逻辑。今天带你从业务场景出发,逐行推导,直接上手跑SQL。
一、面试是怎么考连续活跃的
先理解这个指标在业务上干什么用。
用户连续活跃分析,核心逻辑是中断即重置。用户只要有一天没打卡,连续计数就归零,下一次重新开始算。
- ●举个例子,假设你有一个健身打卡App,用户行为是这样的:
![]()
1.这个指标的三个典型用途:
- 产品侧:用来找粘性拐点,用户连续打卡多少天后流失率明显下降
- 运营侧:圈出高价值用户,比如连续打卡30天以上,定向给激励
- 预警侧:发现即将流失的用户,连续活跃突然中断,及时做召回
面试时如果能先讲清楚这个业务背景,再开始写SQL,会比直接敲代码加分不少。
2.真题长这样:
一张用户打卡记录表,记录了用户每日打卡行为。要求统计每个用户历史至今的最大连续打卡天数。
- ●表结构:
- 用户101:1、2、3号连续3天→ 4号断 → 5、6号连续2天→ 最大连续 = 3
- 用户102:1号单独 → 2号断 → 3、4、5号连续3天→ 最大连续 = 3
- 用户103:1号单独 → 最大连续 = 1
这类问题在SQL里叫间隙与岛屿。核心逻辑是同一段连续日期内,日期减去行号,得到的值是相同的。
- ●来推导一下(以用户101为例):
只要日期连续,日期-行号就恒定不变。一旦中断,这个值就变了。按这个差值分组,数出每组多少天,取最大值就行了。
三、实操:逐级写SQL (一)Step 1:按用户分组,按日期排序,打上行号![]()
- ●输出:
- ●输出:
- ●输出:
面试官几乎一定会追问这个问题。如果同一天有多条打卡记录,直接打行号会导致行号虚高,日期-行号算出来的基准值就错了。
- 解法:在打行号之前,先对user_id, checkin_date做一层去重。
把这一步加到回答里,面试官会认可你的严谨性。
四、面试答题的四个层次
面试官考这道题,看的不只是你会不会用ROW_NUMBER。他真正想知道的是你处理业务问题的完整思路。
(一)第一层:先对齐业务口径
不要上来就写SQL。先问一句:"在写之前,我想先确认一下连续活跃的定义。是按自然日连续,还是按24小时滑动窗口?同一天多次打卡只算一次对吧?"
这一个问题就能让你从"SQL工具人"里脱颖而出。
(二)第二层:给出方法论
这类问题我用的是间隙与岛屿模型。把打卡日期按时间排序打上行号,用日期减行号得到一个基准值。连续时基准值不变,中断时跳变。按这个基准值分组取最大值就行。
(三)第三层:提出落地优化方案
算出最大连续天数之后呢?面试官会追问。
可以这样接:"算出最大连续活跃天数后,我会结合最近一次活跃距今来做用户分层:
- 高粘性用户(连续≥30天):给专属权益,重点维护
- 成长中用户(连续7-29天):推打卡提醒和挑战赛,帮他们跨过30天大关
- 沉默预警用户(历史连续活跃但最近3天未打卡):发push做断签召回
另外还可以按渠道细分,比如对比发现参与早起打卡群的用户连续活跃天数更高,运营就可以加大社群运营的投入。
(四)第四层:总结成闭环
所以这本质上是一个监控→分层→干预→再监控的闭环。SQL只是计算工具,真正价值在于用这个指标驱动运营策略的动态调整。
五、知识点速查![]()
下次遇到这类题,记住这个节奏就行,先问口径 → 再写SQL → 最后聊业务落地。面试官听完会觉得你不只是一个会写SQL的人,而是一个真正懂业务的数据分析师。
很多人卡在数据分析面试,不是不会写SQL,而是只会套代码、不懂业务逻辑,答不出连续活跃天数这类高频真题,更不会落地用户增长策略。想要摆脱工具人身份、拿捏大厂面试核心考点,CDA数据分析师认证是绝佳选择!
CDA聚焦实战能力,覆盖SQL高阶解题、间隙岛屿模型、用户分层、增长漏斗等面试高频内容,贴合企业真实业务场景。作为德勤、联通等大厂认可的行业资质,持证能大幅提升简历通过率,适配应届生入行、在职者进阶。扫码“CDA认证”小程序,获取更多行业模型、知识资料。
![]()
往期干货文章:
~~~~资源汇总~~~
~~~~AI工具+数据分析技能~~~~~
~~~~CDA持证人干货:数据分析从业者经验分享~~~~
【干货】零基础转行数据分析经验+ 工具使用指南,新手直接抄
~~~~数据分析重难点~~~~
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.