首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
小伸同学
商丘工学院 数据分析师
发布于河南
关注
已关注
取消关注
@响亮的名字嘎嘎嘎:
众安保险数据分析实习生面试
今天面了众安保险的数据分析岗,感觉很顺利,但是拢共就面了20min,还是有点没底更新一下:过啦,当天下午三点面 五点就通知通过了!! 效率真高。面试流程:1.自我介绍2.过去实习中影响最深刻的一个项目3.两个简单的SQL,口述就行 部门表(员工姓名、部门、薪资) 取出每个部门的最高薪资、平均薪资、总薪资 用户表(用户id、登陆时间) 取出每天每个用户第二次登录的记录(我用窗口函数做的)4.给我介绍了一下公司业务、部门构成、以及实习生的日常工作5.反问我反问了是按项目开展工作还是职能 答:职能感觉很顺利,但是拢共就面了20min,还是有点没底面试很简单,面试前做了一些准备也附上:1、sql的执行顺序FROM - ON - JOIN - WHERE - GROUP BY - WITH - HAVING - SELECT - DISTINCT - ORDER BY - LIMIT在 SQL 中,查询语句的执行顺序通常是按照以下步骤进行的:FROM:首先,从指定的表(或视图)中获取数据,这是查询的基本数据源。WHERE:然后,根据 WHERE 子句中的条件筛选出满足条件的行。GROUP BY:如果查询包含 GROUP BY 子句,则将结果按照指定的列进行分组。HAVING:在分组后,根据 HAVING 子句中的条件筛选出满足条件的分组。HAVING 子句可以被认为是 WHERE 子句针对分组后的结果的过滤器。SELECT:选择要检索的列,并且对数据进行计算、转换等操作。DISTINCT:如果查询包含 DISTINCT 关键字,则去除结果集中重复的行。ORDER BY:按照指定的列对结果集进行排序。LIMIT / OFFSET:如果使用了 LIMIT 或 OFFSET 子句,最后根据这些子句来限制结果集的大小或移动结果集的起始位置。需要注意的是,虽然这是一般情况下的执行顺序,但在实际执行过程中,数据库系统可能会对查询进行优化和重排,以提高性能。2、表连接方式有哪些及其区别?在 SQL 中,连接是用于联合两个或多个表的操作,以便获取相关的数据。有几种连接方式,主要包括 INNER JOIN、LEFT JOIN(或 LEFT OUTER JOIN)、RIGHT JOIN(或 RIGHT OUTER JOIN)和 FULL JOIN(或 FULL OUTER JOIN)。以下是它们的主要区别:INNER JOIN:INNER JOIN 返回两个表中符合连接条件的行。如果某一行在其中一个表中没有匹配行,则该行不会包含在结果中。LEFT JOIN (或 LEFT OUTER JOIN):LEFT JOIN 返回左表中的所有行,以及右表中符合连接条件的行。如果在右表中没有匹配的行,则结果集中右侧的列将包含 NULL 值。RIGHT JOIN (或 RIGHT OUTER JOIN):RIGHT JOIN 返回右表中的所有行,以及左表中符合连接条件的行。如果在左表中没有匹配的行,则结果集中左侧的列将包含 NULL 值。FULL JOIN (或 FULL OUTER JOIN):FULL JOIN 返回左右两个表中的所有行,如果在其中一个表中没有匹配的行,则另一个表中对应的列将包含 NULL 值。在实际应用中,选择连接方式取决于你需要的结果。如果你只想获取两个表中匹配的行,可以使用 INNER JOIN。如果你想保留左表中的所有行,并且将右表中匹配的行加入,可以使用 LEFT JOIN。同样,RIGHT JOIN 是保留右表中的所有行,而 FULL JOIN 保留两个表中的所有行。连接操作可以根据数据之间的关系和业务需求来选择,因此了解不同连接方式的特点对于写出准确的 SQL 查询语句是很重要的。3、sql题,表A和表B,a.id = b.id ,保留两表的所有字段,用哪种连接方式?若没有共同的字段,用什么连接?union 和 union all的区别?在MySQL中,FULL JOIN语法是不支持的,但你可以通过使用LEFT JOIN和RIGHT JOIN的组合来模拟FULL JOIN的效果。FULL JOIN可以获取左表和右表中的所有行,并将它们组合在一起,缺失的值用NULL填充。这在MySQL中可以通过UNION和LEFT JOIN以及RIGHT JOIN来实现。以下是一个示例:sqlCopy codeSELECT *FROM tableALEFT JOIN tableB ON tableA.id = tableB.idUNIONSELECT *FROM tableARIGHT JOIN tableB ON tableA.id = tableB.id这个查询首先使用LEFT JOIN从tableA获取所有行,然后使用UNION操作符将结果与RIGHT JOIN从tableB获取的所有行组合在一起。这样就模拟了FULL JOIN的效果。需要注意的是,UNION会自动去除重复的行,如果需要保留所有行,则可以使用UNION ALL。如果没有共同的字段,你可以使用CROSS JOIN连接方式。CROSS JOIN会返回两个表的笛卡尔积,即两个表的所有可能组合。sqlCopy codeSELECT *FROM tableACROSS JOIN tableB;但请注意,CROSS JOIN会返回非常大的结果集,特别是当两个表都很大时,它可能会导致性能问题。因此,在使用CROSS JOIN时,务必要仔细考虑数据量的大小和性能影响。union与union all的区别在于,union 进行去重,而union all不去重4、sql去重方式有哪些?在SQL中,有几种不同的方法可以去重,具体取决于你的数据和需要。以下是一些常见的去重方式:DISTINCT关键字:使用SELECT语句与DISTINCT关键字一起,可以从结果集中去除重复的行。GROUP BY子句:使用GROUP BY子句,将相同的值聚合到一起,并且可以结合聚合函数如COUNT、SUM等使用。使用子查询:通过在SELECT语句中使用子查询,可以选择不重复的行。使用ROW_NUMBER()窗口函数:使用ROW_NUMBER()函数可以为每一行分配一个唯一的数字,然后可以根据这个数字过滤出不重复的行。使用UNION或UNION ALL操作符:如果你有两个或多个表,想要将它们的结果合并并去重,可以使用UNION或UNION ALL操作符。UNION会自动去除重复的行,而UNION ALL会保留所有行。这些是一些SQL中常见的去重方式,选择合适的方法取决于你的数据结构、需求和性能考虑。6、窗口函数有哪些窗口函数(Window Functions)是一种SQL中强大的工具,用于在查询结果集中执行聚合、分析和计算操作。下面是一些常见的窗口函数:ROW_NUMBER():为结果集中的每一行分配一个唯一的数字。RANK():为结果集中的每一行分配一个排名,相同的值将获得相同的排名,但是会跳过相同排名数量。DENSE_RANK():与RANK()类似,但是不会跳过相同排名数量,排名是连续的。NTILE(n):将结果集划分为n个相等大小的桶,并为每个桶中的行分配一个桶号。LEAD(column, offset, default):获取当前行之后第offset个行的值。LAG(column, offset, default):获取当前行之前第offset个行的值。FIRST_VALUE(column):获取分组中第一行的指定列的值。LAST_VALUE(column):获取分组中最后一行的指定列的值。SUM(), AVG(), COUNT(), MIN(), MAX():这些聚合函数也可以用作窗口函数,用于在窗口内执行聚合操作而不是整个结果集。PERCENT_RANK():为结果集中的每一行计算百分比排名。CUME_DIST():计算当前行在整个分组中的累积分布百分比。PERCENTILE_CONT():计算分组中指定百分位数的近似值。LAG() OVER (PARTITION BY ... ORDER BY ...):在指定分区内根据指定顺序获取前一行的值。LEAD() OVER (PARTITION BY ... ORDER BY ...):在指定分区内根据指定顺序获取后一行的值。这些窗口函数可以在SELECT语句的SELECT列表、ORDER BY子句和GROUP BY子句中使用,并且通常与OVER子句一起使用,以定义窗口的边界和排序规则。窗口函数提供了强大的功能,可以在查询结果中进行复杂的分析和处理。
点赞 39
评论 4
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-25 07:41
同济大学 ARM工程师
谈谈延毕到底是好还是坏
我最近刷到好多同学谈论错过春秋招能不能再延毕一年,等下一个秋招。不过好多人还是迫不得已延毕比如,迫于学业压力、身体因素、学分不够(这还是少数)、缓解就业压力。我就从我这个过来人来说一下你如果选择延毕你将要面临什么问题以及延毕究竟性价比高吗。延毕面临的问题如果你想延毕先看看这些问题你会不会碰到,能不能接受,能接受我们再说好坏1.如果你是被迫延毕你将会碰到你此前签的所有就业协议都会被迫停滞,即便你勉力入职了,未来也可能被辞退。有考公考研考编想法的也不能再继续了,除非取得双证。未来所有的规划都会被打乱。延毕不会影响考公考研的报考审核,但是面试会减分!!而且大多数人很难有一个完美的理由来解释延毕。列一...
牛客创作赏金赛
点赞
评论
收藏
分享
04-29 20:46
已编辑
重庆大学 Java
27 日常实习 蔚来一、二面
官网投递,忘记录音了,有些忘了一面自我介绍ConcurrentHashMap和HashMap的区别?ConcurrentHashMap是怎么保证并发安全的?说一下第一个项目,为什么要做这个项目?收获了什么?Bean的生命周期如何实现?介绍下你的代码流程Spring事务是怎么实现的呢?将一下第二个项目,为什么要做的这项目?收获了什么?对于你这个项目,你需要进行优化,你会从哪几个方面入手(感觉是个很好的问题,比较开放)代码优化,if-else多的改策略模式,公共部分重复提取出来用AOPMySQL索引优化,加索引,建立联合索引SQL语句优化,确保索引被使用架构优化,Redis集群,读写分离等.......
查看20道真题和解析
点赞
评论
收藏
分享
03-24 21:39
已编辑
University of Toronto 自然语言处理
哈哈,先发制人
给蛙为员工干沉默了#OD面经##OD招聘##华为#
Volatiled:
对方撤回了啥呀?
点赞
评论
收藏
分享
04-28 14:18
已编辑
安徽大学 Java
26Java后端开发暑假实习 希音Shein 时间线
2025-04-09 20:57 网申投递简历4-21 一面 https://www.nowcoder.com/feed/main/detail/2e235d5c9a3d4a25a65434d90070e085?sourceSSR=users,其实一直在推进度,只是我还有别的面试流程4-23 二面 https://www.nowcoder.com/feed/main/detail/265157a02c384eb6aef47d2b3d50fed04-24上午 HR面 https://www.nowcoder.com/feed/main/detail/5a16b58cb1cc431b811763a...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
暑期后端高频问题汇总
7.4W
2
...
左手敲代码的程序员,不配拥有offer吗?
6.6W
3
...
想听实话吗,校招ssp聊聊大厂客户端
3.7W
4
...
北京到底有谁在啊?
8853
5
...
五一假期,弯道超车时间表
8819
6
...
后端简历上最值得写的项目
8664
7
...
美团/饿了么/京东 配送端面经
6313
8
...
五一别写你那破开源代码了
6265
9
...
五一准备刷完这些面试八股题!!
5859
10
...
拼多多服务端信息确认
5346
创作者周榜
更多
正在热议
更多
#
设计人如何选offer
#
98010次浏览
685人参与
#
找工作,行业重要还是岗位重要?
#
7117次浏览
93人参与
#
五一之后,实习真的很难找吗?
#
44848次浏览
316人参与
#
盲审过后你想做什么?
#
12447次浏览
112人参与
#
外包能不能当跳板?
#
22080次浏览
191人参与
#
领导秒批的请假话术
#
9747次浏览
74人参与
#
考研可以缓解求职焦虑吗
#
20695次浏览
244人参与
#
五一假期,你打算“躺”还是“卷”?
#
27243次浏览
410人参与
#
面试等了一周没回复,还有戏吗
#
115337次浏览
1073人参与
#
找工作前vs找工作后的心路变化
#
7147次浏览
64人参与
#
牛友们的论文几号送审
#
27172次浏览
623人参与
#
你喜欢工作还是上学
#
37421次浏览
409人参与
#
应届生薪资多少才合理?
#
3067次浏览
24人参与
#
写简历别走弯路
#
714212次浏览
7850人参与
#
如果有时光机,你最想去到哪个年纪?
#
43234次浏览
766人参与
#
如何缓解入职前的焦虑
#
171802次浏览
1267人参与
#
每人推荐一个小而美的高薪公司
#
72831次浏览
1357人参与
#
硬件人,你被哪些公司给挂了
#
46539次浏览
722人参与
#
如果不工作真的会快乐吗
#
101035次浏览
866人参与
#
大疆的机械笔试比去年难吗
#
69575次浏览
602人参与
牛客网
牛客企业服务