美团优选大数据开发岗面试真题-附答案详细解析(一)

简介: 美团优选大数据开发岗面试真题-附答案详细解析

公众号(五分钟学大数据)已推出大数据面试系列文章—五分钟小面试,此系列文章将会深入研究各大厂笔面试真题,并根据笔面试题扩展相关的知识点,助力大家都能够成功入职大厂!


image.png


此面试题来自牛客网友分享的美团优选一面,面试时长一小时。网友情况:海外水本,在某三线中厂工作2年。


参考答案由本公众号提供。如有错误,欢迎指正!


以下为面试过程中提问,岗位为大数据开发,根据提问内容看出,主要偏数仓方向


  1. 自我介绍


  1. 到北京工作的意愿


  1. SQL题,给一张城市和交易额表,一张城市对应省份表, 取出 省份 总 交易额大于 500 的 省份 的名字


  1. SQL题,基于刚才, 得出 省份 总 交易额 [0,500 ] , [500,1000 ] , [1000,+∞ ] 在以下三个区间的 省份 的 数量


  1. SQL题,还是基于刚才, 按从小到大的顺序得出每个城市的累计交易额,可以用窗口


  1. 根据分隔符划分字段,可以用正则表达


  1. 主要负责的产品


  1. 产品的指标如何知道带来多少价值


  1. 指标如何做到精准


  1. 就项目中提到的某个实体,讲一下他对应的属性有哪些


  1. 如果你建模的话,你会如何建模


  1. 主要都抽取哪些数据源,使用什么工具


  1. 描述一下抽取的内部逻辑,怎么实现的


  1. 除了工作,有去读什么书学习吗


  1. 你觉得flink和spark streaming有什么区别


  1. spark streaming相比flink有什么优点


  1. 有什么想问的吗


答案详细解析


1. 自我介绍


面试的时候,面试官说的第一句话就是:“介绍一下你自己吧。”


很多人真的很实诚的就只说一句:“我叫xx,来自xx,今年xx岁。”然后双方冷场。


这样的自我介绍还不如前段时间流行的一句话:“我叫xx,我喜欢唱跳、rap、篮球。”起码你还让面试官知道了你的特长。


所以这里就需要你用最短的时间让面试官记住你,突出自己的优势、有论证力的说服对方。


原则如下:不要大段背诵简历内容;不要说流水账,内容冗长;自我介绍时间尽量控制在一分钟左右。


那么怎么在最短时间内满足以上三条。


罗振宇说过:“笨拙的人讲道理,而聪明的人会说故事。”


所以面试时我们要摆脱常规回答,学会“讲故事”。那故事怎么讲,记住以下八个字,将自己的经历或想法套进去:


  • 目标:就是我想要做什么,我想要成为什么样的人;
  • 阻碍:做这件事的难点是什么,有哪些“质疑”点;
  • 努力:为了克服难点和“质疑”,我做了哪些事情;
  • 结果:通过我的努力,我现在获得了什么样的成就。


有时间了针对 自我介绍 我再详细的讲解下,这部分还是很重要的,因为这部分就是“推销”自己,给自己打广告的时间。


2. 到北京工作的意愿


招人肯定是希望找到一个踏实,稳定的人,而不是那种来了几天或一段时间就走的人。


面试官问你这个问题,一是在看你大概能在公司呆多久,二是看公司是否有必要培养你或者录用你。


所以回答时一定要表达出你一定能来北京并且能长时间待下去(即使你不是这样),具体回答发挥个人想象。


3. SQL题,给一张城市和交易额表,一张城市对应省份表, 取出 省份 总 交易额大于 500 的 省份 的名字


为了便于理解,根据上面的问题,我们先构造这两张表:


城市交易额表 business_table


city_num:城市编号


gmv:交易额


city_num gmv
1001 210
1001 90
1002 250
1003 200
1004 700
1005 350
1005 150
1006 250
1007 150


城市对应省份表:province_table

province_num:省份编号

province_name:省份名称

city_num:城市编号


province_num province_name city_num
11 a 1001
11 a 1005
12 b 1002
12 b 1003
13 c 1004
13 c 1006
13 c 1007


根据以上表,sql 语句如下(以下仅为其中一种写法,仅供参考)


SELECT MAX(tmp.province_name)
FROM (
  SELECT bt.city_num, bt.gmv, pt.province_num, pt.province_name
  FROM business_table bt
    LEFT JOIN province_table pt ON bt.city_num = pt.city_num
) tmp
GROUP BY tmp.province_num
HAVING SUM(tmp.gmv) > 500;


4. SQL题,基于刚才, 得出 省份 总 交易额 [0,500 ] , [500,1000 ] , [1000,+oo ] 在以下三个区间的 省份 的 数量


参考 sql 语句如下:


SELECT 
  COUNT(CASE 
    WHEN tmp2.pro_gmv >= 0
    AND tmp2.pro_gmv < 500 THEN tmp2.pro_name
    ELSE NULL END) AS gmv_0_500,
  COUNT(CASE 
    WHEN tmp2.pro_gmv >= 500
    AND tmp2.pro_gmv < 1000 THEN tmp2.pro_name
    ELSE NULL END) AS gmv_500_1000, 
  COUNT(CASE 
    WHEN tmp2.pro_gmv >= 1000 THEN tmp2.pro_name
    ELSE NULL END) AS gmv_1000_
FROM (
  SELECT MAX(tmp.province_name) AS pro_name, SUM(tmp.gmv) AS pro_gmv
  FROM (
    SELECT bt.city_num, bt.gmv, pt.province_num, pt.province_name
    FROM business_table bt
      LEFT JOIN province_table pt ON bt.city_num = pt.city_num
  ) tmp
  GROUP BY tmp.province_num
) tmp2;


5. SQL题,还是基于刚才, 按从小到大的顺序得出每个城市的累计交易额,可以用窗口


参考 sql 语句如下:


# 既然面试官让用窗口函数,那咱们就别客气了
SELECT city_num, gmv
FROM (
  SELECT DISTINCT city_num, SUM(gmv) OVER(PARTITION BY city_num) AS gmv
  FROM business_table
) tmp
ORDER BY gmv;


6. 根据分隔符划分字段,可以用正则表达


# java
String address="上海|上海市|闵行区|吴中路"; 
String[] splitAddress=address.split("\\|"); //如果以竖线为分隔符,则split的时候需要加上两个斜杠 \\ 进行转义
#sql
hive> select split('abcdef', 'c') from test;
["ab", "def"]


7. 主要负责的产品


这个根据简历或者你自己的情况实际实说就行。


8. 产品的指标如何知道带来多少价值


这题没有标准答案,根据自己的理解回答即可。


以下仅供参考:


在《精益数据分析》一书中给出了两套比较常用的指标体系建设方法论,其中一个就是比较有名的海盗指标法,也就是我们经常听到的AARRR海盗模型。海盗模型是用户分析的经典模型,它反映了增长是系统性地贯穿于用户生命周期各个阶段的:用户拉新(Acquisition)用户激活(Activation)用户留存(Retention)商业变现(Revenue)用户推荐(Referral)


为什么要说这个模型呢,因为通过这个模型中的一些关键指标我们可以反推出产品的指标所带来的价值有哪些。


AARRR模型:


A 拉新: 通过各种推广渠道,以各种方式获取目标用户,并对各种营销渠道的效果评估,不断优化投入策略,降低获客成本。涉及关键指标例如 新增注册用户数、激活率、注册转化率、新客留存率、下载量、安装量等,我们通过这些指标就可反应出获取目标用户的效果是怎样的。


A 活跃: 活跃用户指真正开始使用了产品提供的价值,我们需要掌握用户的行为数据,监控产品健康程度。这个模块主要反映用户进入产品的行为表现,是产品体验的核心所在。涉及关键指标例如 DAU/MAU 、日均使用时长、启动APP时长、启动APP次数等。


通过这些指标可以反映出用户的活跃情况。


R 留存: 衡量用户粘性和质量的指标。涉及关键指标例如 留存率、流失率等。通过这些指标可以反映出用户的留存情况。


R 变现: 主要用来衡量产品商业价值。涉及关键指标例如 生命周期价值(LTV)、客单价、GMV等。这些指标可以反映出产品的商业价值。


R 推荐: 衡量用户自传播程度和口碑情况。涉及关键指标例如 邀请率、裂变系数等。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
8月前
|
存储 缓存 NoSQL
Redis常见面试题全解析
Redis面试高频考点全解析:从过期删除、内存淘汰策略,到缓存雪崩、击穿、穿透及BigKey问题,深入原理与实战解决方案,助你轻松应对技术挑战,提升系统性能与稳定性。(238字)
|
10月前
|
存储 安全 测试技术
Python面试题精选及解析
本文详解Python面试中的六大道经典问题,涵盖列表与元组区别、深浅拷贝、`__new__`与`__init__`、GIL影响、协程原理及可变与不可变类型,助你提升逻辑思维与问题解决能力,全面备战Python技术面试。
572 1
|
11月前
|
存储 分布式计算 Hadoop
Hadoop框架解析:大数据处理的核心技术
组件是对数据和方法的封装,从用户角度看是实现特定功能的独立黑盒子,能够有效完成任务。组件,也常被称作封装体,是对数据和方法的简洁封装形式。从用户的角度来看,它就像是一个实现了特定功能的黑盒子,具备输入和输出接口,能够独立完成某些任务。
|
8月前
|
监控 Java 关系型数据库
面试性能测试总被刷?学员真实遇到的高频问题全解析!
面试常被性能测试题难住?其实考的不是工具,而是分析思维。从脚本编写到瓶颈定位,企业更看重系统理解与实战能力。本文拆解高频面试题,揭示背后考察逻辑,并通过真实项目训练,帮你构建性能测试完整知识体系,实现从“会操作”到“能解决问题”的跨越。
|
11月前
|
人工智能 分布式计算 DataWorks
多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望
阿里云ODPS技术栈通过MaxCompute、Object Table与MaxFrame等核心组件,实现了多模态数据的高效处理与智能分析。该架构支持结构化与非结构化数据的统一管理,并深度融合AI能力,显著降低了分布式计算门槛,推动企业数字化转型。未来,其在智慧城市、数字医疗、智能制造等领域具有广泛应用前景。
827 6
多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望
|
12月前
|
缓存 NoSQL Java
Java Redis 面试题集锦 常见高频面试题目及解析
本文总结了Redis在Java中的核心面试题,包括数据类型操作、单线程高性能原理、键过期策略及分布式锁实现等关键内容。通过Jedis代码示例展示了String、List等数据类型的操作方法,讲解了惰性删除和定期删除相结合的过期策略,并提供了Spring Boot配置Redis过期时间的方案。文章还探讨了缓存穿透、雪崩等问题解决方案,以及基于Redis的分布式锁实现,帮助开发者全面掌握Redis在Java应用中的实践要点。
644 6
|
12月前
|
缓存 算法 NoSQL
校招 Java 面试高频常见知识点深度解析与实战案例详细分享
《2025校招Java面试核心指南》总结了Java技术栈的最新考点,涵盖基础语法、并发编程和云原生技术三大维度: 现代Java特性:重点解析Java 17密封类、Record类型及响应式Stream API,通过电商案例演示函数式数据处理 并发革命:对比传统线程池与Java 21虚拟线程,详解Reactor模式在秒杀系统中的应用及背压机制 云原生实践:提供Spring Boot容器化部署方案,分析Spring WebFlux响应式编程和Redis Cluster缓存策略。
355 0
|
12月前
|
存储 Java 数据库
应届生面试高频 Java 基础问题及详细答案解析
摘要: Java数据类型分为基本类型(如int、float等)和引用类型(如类、数组)。final可修饰类、方法和变量,使其不可继承、重写或修改。static用于类级别的变量和方法,共享于所有实例。&quot;==&quot;比较基本类型的值或引用类型的地址,而equals比较对象内容(需重写)。Java只有值传递,对于引用类型传递的是地址副本。String对象不可变,拼接操作会创建新对象而非修改原对象。Java 10的var支持类型推断,Java 16的Record提供不可变类简化。
269 0
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?

热门文章

最新文章

推荐镜像

更多
  • DNS