首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客76858278号
太原理工大学 前端工程师
发布于香港
关注
已关注
取消关注
@响亮的名字嘎嘎嘎:
众安保险数据分析实习生面试
今天面了众安保险的数据分析岗,感觉很顺利,但是拢共就面了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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
05-07 11:51
已编辑
招银网络科技春招
招银网络科技春招 base深圳 ,测开岗有人收到offer了吗?本人211本,无实习,只有两个项目,4.17就进入资料评审了,不知道还能不能上岸
招银网络科技(深圳)有限...
点赞
评论
收藏
分享
05-06 13:41
门头沟学院 C++
校招C++20并发系列06-手写自旋锁:理解忙等与互斥的本质差异
深入理解 C++ 并发:自旋锁与互斥锁的性能博弈 在并行计算中,序列化对共享资源的访问是核心挑战之一。虽然 std::mutex(互斥锁)是最常见的同步原语,但在特定场景下,自旋锁(Spinlock)能提供更优的性能表现。本期教程将深入剖析两者的本质差异,并通过基准测试对比其实际性能,最后从底层汇编角度揭示自旋锁的实现原理。 互斥锁与自旋锁的核心差异 互斥锁和自旋锁的主要区别在于等待锁释放时的策略不同。 当线程尝试获取一个已被占用的锁时,有两种基本处理方式: 休眠唤醒机制:线程进入睡眠状态,让出 CPU 时间片,直到锁被释放后由内核唤醒。这是 std::mutex 的典型行为。 忙等待机制:线...
点赞
评论
收藏
分享
04-03 11:01
已编辑
同程旅行_前端开发
无需多言
史上最尬,没有之一😂我是社招。3月26日,第7次,一面挂,就扯了20分钟,感觉可能是kpi。4月3日,今天又有电话打来了,约了下周二晚上的面试。第8次了。敢打我就敢面
奋斗的龙猫:
太强了
春招至今,你的战绩如何?
点赞
评论
收藏
分享
04-19 21:14
南昌大学 嵌入式软件开发
暑期实习,目前0面
4月初开始投的,学的太杂了,啥都不精,虽然投的也不多,但是目前就三个笔试,其他的还在筛选中,0面。暑期实习到底在招什么人?
有个工作就好了:
吓哭了
我的求职进度条
点赞
评论
收藏
分享
05-06 22:48
上海戏剧学院 运营
研三快毕业,求指点
纠结是继续搞艺术还是转行
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27 届前端 er 第一段实习故事
2.3W
2
...
30天的回望与总结
2.1W
3
...
招了一年实习生,撑过三个月的一只手数得清
1.2W
4
...
春招没进大厂,我的人生会完蛋吗
1.0W
5
...
字节一面
6813
6
...
破防了,腾讯技术实习月薪涨了近50%…
4797
7
...
恒生春招
4511
8
...
暑期结束了............(帮选offer)
3785
9
...
小米top2简历全挂(但我同学已oc)
3001
10
...
亚信安全前端日常实习值得去吗?
2949
创作者周榜
更多
正在热议
更多
#
你的实习产出是真实的还是包装的?
#
88782次浏览
639人参与
#
简历当中有水分算不算造假?
#
176467次浏览
2330人参与
#
在爱玛,骑向未来
#
44592次浏览
436人参与
#
打工人的精神状态
#
154564次浏览
1551人参与
#
你以为的实习VS真实的实习
#
142706次浏览
758人参与
#
职场新人体验
#
192819次浏览
1241人参与
#
备战春招/暑实,现在应该做什么?
#
70287次浏览
557人参与
#
距离春招还有一个月,你现在是什么开局?
#
62831次浏览
320人参与
#
银行笔面经互助
#
198538次浏览
1326人参与
#
应届生,你找到工作了吗
#
174131次浏览
900人参与
#
工作后,你落下了哪些病根
#
42406次浏览
294人参与
#
你被哪些公司挂了?
#
198254次浏览
1077人参与
#
机械人,秋招第一次笔试的企业是哪家?
#
103514次浏览
707人参与
#
机械人,说说你的烦心事
#
148659次浏览
1164人参与
#
工作压力大,你会干什么?
#
82520次浏览
708人参与
#
国企还是互联网,你怎么选?
#
218489次浏览
1541人参与
#
选offer应该考虑哪些因素
#
172578次浏览
1057人参与
#
26届秋招公司红黑榜
#
86196次浏览
287人参与
#
你上一次加班是什么时候?
#
157545次浏览
823人参与
#
实习生工资多少才算正常?
#
76568次浏览
526人参与
#
哪一瞬间让你觉得工作好累
#
87866次浏览
443人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务