好家伙,原来拼多多这么神秘。。。

点击关注公众号,SQL干货及时获取

 
 
后台回复:1024,获取500G视频教程
往期热文
钱比命重要,拼夕夕员工反对双休。。。
牛逼,OpenAI新模型 o1 国内直接连!
《SQL145题第2版》正式发布!

大家好,我是岳哥。

今天看到一个关于拼多多的帖子,说是拼多多的神秘与保密超乎你的想象,主要有以下几点:

  1. 上海总部外无任何拼多多公司标识。其他城市的办公点,也无工牌无标识,你根本不知道拼多多就在这个写字楼里面。

  2. 从不参加互联网业内的所有分享会议,包括技术和管理。

  3. 无任何对外开源技术项目。

  4. 高管从不公开与外部公司高管进行接触。

  5. 内部通讯工具看不到员工的岗位,部门。且任何部门的组织架构都看不到。

  6. 从不公布任何大促活动的销量战绩。

d4db7901c39c878195bcb4d2d34ad71f.png

评论区有内部员工说是因为经常有商家上门维权才这么低调,怕被商家打,平时下楼都不敢戴工牌。

这个可信度很高,之前拼多多的海外品牌Temu广州总部,就有不少商家上门维权,这么说来,拼多多的低调和神秘就说得通了。

下面给大家分享一道拼多多的面试题

题目:求解最大连续支付失败的次数

有一张支付流水表pay,字段如下

3ac4cdcbb9b0312daebeb0f31312df23.png

求每个用户的最大连续支付失败次数

输出字段:uid,cnt(失败次数)

解题思路

这是一个连续性问题,连续性问题通常是创造一个自增长的虚列,来和目标判断是否连续的列相比较。是解决连续性问题的常见思路。

比如题目中,需要时间连续的某人最大的支付失败数量,那么就需要按照时间排序了,那么如何判断时间连续,题目中并没有规定时间的出现频次,所以直接和时间来做比较判断连续并不是一个好的解决办法。

这里其实最简单的就是生成两次行号了。

具体步骤

1.按照用户编号开窗,按照时间排序,增加行号,这样就得到了每个用户按照时间排序的订单序号。

2.筛选掉支付订单成功的,再根据用户编号开窗,按照时间排序,增加行号,这样就得到了每个用户按照时间排序的失败的订单的序号。

3.两个序号相减,相等的数字则表示连续。

4.按照用户和得到的数字分组,或者最大的组,就是最大的连续支付失败的订单数量。

参考答案

WITH Customer AS(
 SELECT p1.*, 
 p1.rowNumber - RANK() over(PARTITION by p1.uid ORDER BY p1.time) as diff 
 FROM (
  SELECT *,RANK() over(PARTITION by uid ORDER BY time) as rowNumber 
  FROM pay
  ) p1 WHERE p1.status = 'fail'
),
CustomerCounts AS(
 SELECT uid,count(1) as times 
 FROM Customer GROUP BY uid,diff
) 
SELECT uid,max(times) as cnt 
FROM CustomerCounts GROUP BY uid

a1754c60c3c85687bf96ad9ea543286f.gif

给大家推荐一下我们的GPT 4.0/4o/o1 preview系统,

一次性买了200多个Plus会员放在这个系统的池子里,

无需梯子即可直连,费用还比官网便宜一半,包售后。

29d7eaeab08c01237ac7fbf0060471c3.png

更多介绍点击这里

每月仅需88元!

扫码加我微信购买,备注:GPT

每天仅需一瓶可乐钱

413a0529fe7adf566e635c93ce9f736e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SQL数据库开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值