数据分析秋招回顾-Day5: SQL知识点(Part 2)

作为一个2022届的数据分析岗位的秋招党,在去年的秋招中也成功上岸,在整个过程中也收获结识一群优秀的朋友,大家也都拿到不同大厂的数分offer,创作这个专栏主要是为了分享我们在去年整个秋招过程中如何准备面试,沉淀下来的一些知识点以及一些走过的雷区,希望能够尽量给予未来优秀的“数分人”一些帮助和岗位的资讯。也希望大家能够互相交流行业资讯,积累行业人脉。 详情见回复哦(记得添加来自‘ 牛客’备注哦)  ,也可关注公众号:收割鸡

Day5: SQL知识点(Part 2)

面试问题

1、高频面试问题 (重要!必须掌握)

1.1 SQL基础问题
1) sql执行顺序
2) where与on的区别、where与having的区别
3)几种join的含义与区别
INNER JOIN: 内连接,只有进行连接的两个表中都存在与连接标准相匹配的数据才会被保留下来。
LEFT JOIN: 左连接,左边表中符合 WHERE 子句的所有记录将会被返回,操作符右边表中如果没有符合 ON 后面连接条件的记录时,那么从右边表指定选择的列的值将会是 NULL。
RIGHT JOIN: 右连接会返回右边表所有符合 WHERE 语句的记录。左表 中匹配不上的宇段值用 NULL 代替。
FULL JOIN:完全外连接,取并集,将会返回所有表中符合 WHERE 语句条 件的所有记录。如果任一表的指定宇段没有符合条件的值的话,那么就使用 NULL 替代。
4) join与union的区别
5)row_number/rank/dense_rank区别
1.2 代码问题
现有一张用户登录表active_user,包括两个字段:user_id(用户ID):varchar,login_date(用户登录日期):DATE
1) 留存率/日活/月活
根据用户登录表active_user,求用户的次日留存率、日活跃用户数(日活率)、月活跃用户数(月活率) (快手、oppo)
2) 活跃用户分析
根据用户登录表active_user,查询登录天数最多的3位用户的最近一次登录日期。输出user_id(用户ID),login_date(用户登录日期)。
3) 连续时间问题
根据用户登录表active_user,求用户本月活跃天数、最大连续活跃天数
连续时间问题解法:
4) 时间间隔问题
5) 分组排序、窗口函数问题
现有商品订单表(order_info),有以下字段,求
a. 2020年1月销售金额最大的goods_id
b.每个用户购买金额最大的商品种类goods_type

2、 拓展面试问题(低频、难度较大,选择性掌握)

1) 一段时间内最大登录人数问题
2) 随机抽样
从数据集中随机抽取100条数据
Select * from t order by rand() limit 100;
推荐学习资料
书籍:《Mysql必知必会》《SQL基础教程》
(视频讲的比较详细,内容较多,时间紧张的建议跳过视频)
代码练习网站:leecode 牛客网
#数据分析##面试题目##笔试题目##春招##秋招##面试流程##MySQL##数据分析工程师#
全部评论
终于更新了~
点赞 回复 分享
发布于 2022-04-30 10:03
超级棒!
点赞 回复 分享
发布于 2022-04-28 16:01
很棒
点赞 回复 分享
发布于 2022-04-28 15:53
yz_wxhow
点赞 回复 分享
发布于 2022-04-28 11:18

相关推荐

06-23 16:36
已编辑
成都信息工程大学 Java
第一次面试,面试了一家小厂,凉面面经,也是因为自己2个月没写代码导致。首先,介绍一下自己,介绍项目。问了项目相关的,都答上来了。技术栈只能说答对一半,写代码的,很多没写出来。stream流怎么用,用在哪些场景,这个回答上来了,怎么限制一些人,我说用limit,请手写一下代码,忘了limit里面加什么了只记得有个()-,集合都有哪些以及底层都用什么实现的,回答上来了;set是有序的吗,不是;hashMap是有序的吗?这个我真没研究过,我说是,其实不是的,hashMap的底层实现原理,LinkedHashMap的底层原理,这两个我真不会;redis,spring怎么得到数据,stringtemplete.op.get(),这我真忘了,这些代码我很长时间没写过了;spring事务有了解吗,我说出来了,遇到过事务失效的场景吗,这我以前背过,但没有遇到过,真忘了;mybatis,问怎么把和user表相关联的course表的数据以一个字段的形式存到user表里,就是多个course表的name存到一个user表里,可能存到一个field里,不会;mysql的事务有了解吗,我回答了ACID以及这些是什么,事务会导致什么,就是那些脏读,幻读,可重复读,以及事务的隔离级别,以及默认隔离级别是什么,默认隔离级别是可重复读,我说的是读已提交,那个面试的还嗯了,他也不知道,还问了熟悉MVCC吗,因为简历上没写,所以说没有;问了索引,索引遵循什么原则,最左前缀,索引什么时候失效,怎么创建一个索引,我太紧张了,这个索引的创建是在问我JAVA底层原理后问我的,没自信了,index英语单词都忘了;问了有哪些锁,锁都是干什么的,这我回答的是全局锁,表锁和行锁,排他锁和互斥锁属于表锁和行锁都用的,以及他们的作用,还问了熟悉间隙锁吗,我说不知道,这我也没准备,考了一个sql就是查不重复身份证号的信息,用了子查询,select ✳️ from user where id not int(select distinct(id) from user),问我in是有界的吗,加入5000w条数据,还能用吗,好吧,又被难住了,八股里没看到。问我了解前端吗,我说会创建之类的。有熟悉的开源框架吗,我说若依,然后问怎么用,这我回答上来了,后端用的什么,我说是微服务,又问微服务是用的哪个技术,我想说springcloud,但我感觉有蒙的嫌疑,反正也凉凉了,就没说。最后,说了我面的不行,我也知道,我就准备2天,说有机会了,让我好好准备,我知道凉凉了。总结,考的代码题太多了,太基础了,没准备,以后要多写代码,至少写在简历的,要很熟悉。
查看30道真题和解析
点赞 评论 收藏
分享
评论
15
125
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务