『拼多多』数据分析岗面经!(含参考答案)

数据分析之——大厂面经详解系列又来啦!

之前写过 字节跳动、阿里、腾讯等大厂 数据分析岗面经+考点拆解(有答案+备考tips)
可戳链接(或者来六哥主页看):


本篇,讲一讲业界薪资天花板之

—— 『拼多多』


一如既往,为大家整理了拼多多面试真题

可以自测模拟,直观感受下难易程度

(含参考答案+备考Tips)



------正文手动分割线------
本文结构速览:

一、SQL题

二、机器学习与概率论

三、开放性问题

ps.文末送惊喜!有求职题库



一、SQL题

现有一张用户成交订单表

表名:user_order_summary,字段如下:

  • uid  用户ID,主键

  • order_cnt 成交订单数

面试真题1:

请使用mysql计算出成交订单数的众数
解题思路

首先先了解一下众数的概念

众数(Mode)是指在统计分布上具有明显集中趋势点的数值,代表数据的一般水平。也是一组数据中出现次数最多的数值,有时众数在一组数中有好几个。

情况①:一组数据中,出现次数最多的数就叫这组数据的众数。

举例:1,2,3,3,4的众数是3。

情况② :如果有两个或两个以上个数出现次数都是最多的,那么这几个数都是这组数据的众数。

举例:1,2,2,3,3,4的众数是2和3。

情况③:如果所有数据出现的次数都一样,那么这组数据没有众数。

举例:1,2,3,4,5没有众数


参考答案

SELECT  order_cnt
FROM
(
    SELECT  order_cnt
           ,user_cnt
           ,rank()over(order by user_cnt desc) AS rank_id
    FROM
    (
        SELECT  order_cnt
               ,COUNT(1) AS user_cnt
        FROM user_order_summary
        GROUP BY  order_cnt
    )a
)a
WHERE user_cnt > 1 -- 剔除情况3
AND rank_id = 1

面试真题2:

请使用mysql计算出成交订单数的四分位数


解题思路

首先先了解一下四分数的原理及计算逻辑

四分位数(Quartile)也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。它是一组数据排序后处于25%,中位数和75%位置上的值。四分位数是通过3个点将全部数据等分为4部分,其中每部分包含25%的数据


四分数的位置:

  • Q1的位置= (n+1) × 0.25

  • Q2的位置= (n+1) × 0.50

  • Q3的位置= (n+1) × 0.75

n表示项数,也就是计算样本量


▼ 情况①
数据为: 6, 47, 49, 15, 42, 41, 7, 39, 43, 40, 36

由小到大排列: 6, 7, 15, 36, 39, 40, 41, 42, 43, 47, 49

总共11项

  • Q1的位置=(11+1)×0.25=3,所以Q1=13

  • Q2的位置=(11+1)×0.50=6,所以Q2=40

  • Q3的位置=(11+1)×0.75=9,所以Q2=43


▼ 情况②

数据总量: 7, 15, 36, 39, 40, 41

一共6项

  • Q1的位置=(6+1)×0.25=1.75,在第1和第2个之间

  • Q2的位置=(6+1)×0.50=3.50,在第3和第4个之间

  • Q3的位置=(6+1)×0.75=5.25,在第5和第6个之间

▼ 当Qi的位置并非整数,如何计算呢?

  • 第一步:将数据从小到大排序,计为数组a,a[i]表示第i个位置的数值
  • 第二步:确认四分位数的位置P,将P的整数部分计为c,小数部分记为d,比如Q1的位置为1.75,那么c=1,d=0.75

  • 第三步:计算位置P对应的值,a[p] = a[c]+(a[c+1]-a[c])*d,比如Q1的位置1.75计算结果为a[1.75]=a[1]+(a[1+1]-a[1])*0.75=7+(15-7)*0.75=13

以此类推,可以计算得到

  • a[Q1]=a[1.75]=a[1]+(a[2]-a[1])*0.75=13

  • a[Q2]=a[3.5]=a[3]+(a[4]-a[3])*0.5=37.5

  • a[Q3]=a[5.25]=a[5]+(a[6]-a[5])*0.25=40.25


参考答案
SELECT  int_q1_value+(int_q1_next_value-int_q1_value)*decimal_q1_place AS q1
       ,int_q2_value+(int_q2_next_value-int_q2_value)*decimal_q2_place AS q2
       ,int_q3_value+(int_q3_next_value-int_q3_value)*decimal_q3_place AS q3
FROM
(
    SELECT
    -- Q1的相关数据 
            MAX(if(int_q1_place = b.rn,order_cnt,NULL))              AS int_q1_value
           ,MAX(if(int_q1_place+1 = b.rn,order_cnt,NULL))            AS int_q1_next_value
           ,MAX(decimal_q1_place)                                    AS decimal_q1_place
    -- Q2的相关数据
           ,MAX(if(int_q2_place = b.rn,order_cnt,NULL))              AS int_q2_value
           ,MAX(if(int_q2_place+1 = b.rn,order_cnt,NULL))            AS int_q2_next_value
           ,MAX(decimal_q2_place)                                    AS decimal_q2_place
    -- Q3的相关数据
           ,MAX(if(int_q3_place = b.rn,order_cnt,NULL))              AS int_q3_value
           ,MAX(if(int_q3_place+1 = b.rn,order_cnt,NULL))            AS int_q3_next_value
           ,MAX(decimal_q3_place)                                    AS decimal_q3_place
    FROM
    (
        -- 位置取整数和小数部分
        SELECT  FLOOR(q1_place)          AS int_q1_place
               ,q1_place-floor(q1_place) AS decimal_q1_place
               ,FLOOR(q2_place)          AS int_q2_place
               ,q2_place-floor(q2_place) AS decimal_q2_place
               ,FLOOR(q3_place)          AS int_q3_place
               ,q3_place-floor(q3_place) AS decimal_q3_place
        FROM
        (
            -- 位置
            SELECT  MAX(rn)          AS n -- 样本数
                   ,(MAX(rn)+1)*0.25 AS q1_place
                   ,(MAX(rn)+1)*0.50 AS q2_place
                   ,(MAX(rn)+1)*0.75 AS q3_place
            FROM user_order_rn
        )a
    )a
    INNER JOIN user_order_rn b
    ON 1 = 1 -- 笛卡尔乘积
)a

Tips:

无论是社招还是校招,笔试还是面试

拼多多均会重点考察SQL题

且相比其他大厂,拼多多对SQL的要求较高

所以,请务必熟练熟练再熟练!


二、机器学习&概率论

面试真题1:

模型过拟合怎么处理

参考答案

模型过拟合主要可以从以下几个方面入手

  • 获取更多数据,扩大数据量。

  • 降低模型复杂度。

  • 添加正则项。

  • 改为集成学习。


面试真题2:

请介绍一下SVM原理


参考答案

SVM是一种二类分类模型。它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。(间隔最大是它有别于感知机)

  • 情况①:当训练样本线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;

  • 情况②:当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;

  • 情况③:当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机



Tips:

这类问题碰到一些偏技术向面试官,会揪着细节不断发问,以来考察你的基本功是否扎实,所以还需要对原理进行详细的理解和推导


下面补充两个SVM的衍生问题,供大家参考:

衍生问题:

▍问题①
SVM为什么采用间隔最大化?

参考答案

当训练数据线性可分时,存在无穷个分离超平面可以将两类数据正确分开。感知机利用误分类最小策略,求得分离超平面,不过此时的解有无穷多个。线性可分支持向量机利用间隔最大化求得最优分离超平面,这时,解是唯一的。另一方面,此时的分隔超平面所产生的分类结果是最鲁棒的,对未知实例的泛化能力最强。


问题②
为什么SVM要引入核函数?

参考答案

当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。


三、开放性问题

▌面试真题1

假设拼多多近期GMV下滑严重,请问如何分析

参考思路

  • 问题确认:首先,需要确认该问题是否真实存在,即校验数据的准确性。例如:数据提取是否存在逻辑错误,上游表是否存在重复记录的问题?

  • 确认有无外因,举例:

    • 环境影响:是否存在外界因素,比如受疫情影响,快递公司无法正常配送。导致线上无法成交。

    • 时间因素:是否存在季节性的波动,比如双十一大促属于用户成交高峰期,而非双十一大促成交相对较少。

    • 竞品因素:比如竞品淘特/抖音等上线大型补贴活动,势必会对拼多多产生较大的冲击。

  • 内因分析拆解,提供一种思路,具体大家可以拓展发挥举例:

    • 货-商品维度拆解:例如可设计相关指标(如:贡献度)定位异常行业、店铺等

    • 人-用户维度拆解:例如可根据用户的属性,比如地域,年龄,新老客,价值等级等维度进行拆分解析

    • 场-场景维度拆解:例如可根据大盘常见场景有无做功能变动、策略迭代等进行拆解确认等等


Tips
针对内因分析拆解的贡献度计算,可参考公众号:『数据攻略』如下篇:
『指标异动』贡献度定量归因之法,带你知因又知果!



面试真题2

怎么估算上海外卖员的数量


参考答案

▶ 指标拆解

外卖员的数量 = 每天订单总数 / 每人每天可配送的订单数

  • 每天订单总数 = 目标用户数 / 点单频度

    • 目标用户数 = 上海市总人数*点外卖人数占比

  • 每人每天可配送的订单数 = 每天工作时间 / 完成一个订单需要的时间

    • 完成一个订单需要的时间 = 商家距离/骑手速度+排队等待时间+目的地距离/骑手速度 + 用户等待时间

▶ 已知及假设
  • 上海市总人数:2500w

  • 点外卖人数占比:假设为40%

  • 骑手每天工作时间:10H

  • 商家距离:假设为3KM

  • 骑手速度:25KM/h

  • 排队等待时间:0.25H

  • 目的地距离:4KM

  • 用户等待时间:0H


▶ 计算可得

  • 每天的总订单数 = 200w

  • 每人每天可配送的订单数 = 18.9单

  • 外卖员的数量=10.5万人

Tips:

估算类问题重点考察解题思路,重在会从大到小拆解为可量化的指标,多练习几道总结规律,熟能生巧!


以上就是拼多多面试真题解析参考~


🔶 福利时间!!

为助力大家冲刺心仪offer
六哥为大家整理了笔面试真题库需要的同学
可在评论区dd留言:求职资料

资料库部分资料列举:







#字节跳动数据分析师面经##数据分析师##数据分析##秋招##数据分析工程师#
全部评论
求职资料
点赞 回复 分享
发布于 2022-09-19 01:38 广东
求职资料
1 回复 分享
发布于 2024-09-15 22:11 辽宁
求资料
1 回复 分享
发布于 2022-10-05 21:08 河南
求职资料
1 回复 分享
发布于 2022-09-28 00:45 上海
求职资料!感谢
1 回复 分享
发布于 2022-09-21 22:31 广东
求职资料!!
1 回复 分享
发布于 2022-09-20 13:52 安徽
求职资料 谢谢~
1 回复 分享
发布于 2022-09-20 09:49 上海
求职资料!
1 回复 分享
发布于 2022-09-19 20:37 江苏
求职资料
1 回复 分享
发布于 2022-09-19 16:30 浙江
求资料
点赞 回复 分享
发布于 04-30 09:32 四川
求职资料
点赞 回复 分享
发布于 04-20 21:47 湖北
求职资料~
点赞 回复 分享
发布于 03-17 18:30 北京
求职资料
点赞 回复 分享
发布于 03-13 14:44 上海
求职资料
点赞 回复 分享
发布于 01-16 15:38 美国
求职资料!
点赞 回复 分享
发布于 01-06 17:10 辽宁
求职资料
点赞 回复 分享
发布于 2024-10-31 22:45 台湾
求职资料
点赞 回复 分享
发布于 2024-10-26 22:57 美国
求职资料
点赞 回复 分享
发布于 2024-10-23 22:22 上海
求职资料
点赞 回复 分享
发布于 2024-10-22 19:21 新西兰
求职资料
点赞 回复 分享
发布于 2024-10-09 22:10 广东
求职资料
点赞 回复 分享
发布于 2024-09-08 14:26 四川

相关推荐

联想数据开发工程师面经(2025届校招/实习)📌 背景:985本硕,计算机相关专业,有大数据项目经历,面试岗位为数据开发工程师(Base北京/上海)。📝 面试流程 & 问题回顾1. 笔试(线上编程+SQL)- 题型:- 算法题(********中等难度,考察数组、字符串、动态规划)- SQL题(多表关联、窗口函数、复杂查询优化)- 大数据基础(Hadoop/Spark原理简答)2. 技术一面(1小时)- 数据结构与算法- 手撕代码:合并K个有序链表(优先队列实现)- 时间复杂度分析,如何优化?- 大数据生态- Spark和Hadoop的区别?Spark为什么更快?- 数据倾斜的解决方案?- SQL实战- 写一个**连续登录用户统计**的SQL(使用窗口函数)- 项目深挖- 介绍一个大数据项目,你在其中负责什么?- 如果数据量增加10倍,如何优化你的方案?3. 技术二面(45分钟)- 系统设计- 设计一个实时数据仓库,如何保证低延迟和高可用?- Kafka和Flink在实时计算中的作用?- 数据库- MySQL索引原理,B+树 vs Hash索引- Hive内部表和外部表的区别?- 场景题- 如果某天发现报表数据异常,如何排查?4. HR面(30分钟)- 职业规划、为什么选择联想?- 对加班/出差的看法?- 期望薪资?💡 面试建议1. **重点复习**:SQL(窗口函数、优化)、Spark/Hadoop原理、常见大数据场景题。2. **项目复盘**:确保能清晰讲解技术选型、难点和优化思路。3. **算法刷题**:********热题100+剑指Offer,尤其是**链表、树、DP**。4. **反问环节**:可以问团队业务、技术栈、新人培养计划等。🌟 联想数据团队体验- 技术氛围浓厚,大牛导师带教,内部有完善的大数据平台。- 业务覆盖智能供应链、用户行为分析、风控建模等,实战性强!📢 投递Tips:联想对代码能力+大数据基础要求较高,建议尽早投递!📅 【投递链接】春招:https://talent.lenovo.com.cn/position?projectType=1暑期实习:https://talent.lenovo.com.cn/position?projectType=2【内推码】2025XZLMCX【内推入口】在“联想校招官网”投递校招职位,创建简历时“从哪儿获知招聘信息”选择“联想员工推荐”并且输入推荐人ITcode:2025XZLMCX投递的同学评论区留下【姓名缩写+岗位】,方便及时跟进加入联想,与创新者同行,用科技改变世界!(欢迎留言交流,祝大家offer多多!🎯) #内推#                        内推码                        #联想#                        26届                        #26届实习交流#                        数据人的面试交流地   
点赞 评论 收藏
分享
说说英文简历这件事。最近有遇到正在找工作的同学,找我来看TA的英文简历翻译得怎么样。这位同学想进外企,所以投的都是英文简历,但全都石沉大海,一个面试都没接到。TA把这个结果归因为英文简历翻译得不好。作为一个在外企干了快10年的HR,说一个可能大家不太知道,但却非常真实的情况:即使你申请的是外企的岗位,只要这个岗位是一个中国的岗位,直接汇报对象不是个外国人,你的英文简历翻译得怎么样其实不太重要。只要没有出现一眼就能看出来的语法和拼写错误,就是个完全够用的简历了。因为在你求职面试流程里的人,无论是HR,还是用人部门的一二级经理,大部分都是中国人,这些人的英文水平也就是大学英语四六级的水平(比如我,笑)。你想用四六级以外的单词来显示你的英语水平,说实话看简历的人也不一定看得懂。而且,其实大部分中国的面试官还是习惯看中文简历,公司要求你提供英文简历有时候可能就是为了存个档,或者外籍高管过问招聘情况的时候给他们看看。很有可能在整个面试流程中压根就没人看你的英文简历!所以,有这个时间,不如好好打磨自己的中文简历。很多朋友投出去的英文简历总是石沉大海,并不是因为翻译得不好,而是中文简历本身就写得不好,让HR觉得和这个职位匹配度不高,所以就被筛掉了。#牛客激励计划# #牛客创作赏金赛# #找工作有哪些冷知识#
点赞 评论 收藏
分享
04-09 09:21
已编辑
天津大学 Java
点赞 评论 收藏
分享
评论
41
233
分享

创作者周榜

更多
牛客网
牛客企业服务