数据开发日常实习粗略面经,记录不会的问题

包括快手一二面,字节一面,科大讯飞一面

Hadoop常用文件格式

Inmon 和 Kimball 建模思想有了解吗(我问是范式建模和维度建模吗,面试官说不是)

spark有多少个driver和executor,如果给你2核100G(500并行度?好像是这个)有多少executor

Sql子查询和外部where执行顺序,你说子查询where先执行为什么不在join on一块执行呢(?是不是我和面试官沟通出了问题)

维度表有哪些分类

SQL改写MapReduce

Sql题写出了一半,请各位大佬帮忙
连续登录天数,我只知道要排序日期再相减,之后再开窗countif但是面试官说不用count我就歇菜了

table1
userid   dt
A           20201101
A           20201102
A           20201103
A           20201106
A           20201108

要求输出
userid    dt               days
A           20201101     1
A           20201102     2
A           20201103     3
A           20201106     1
A           20201108     1

总结一下,不要太过依赖八股,还是要吃透各个组件,算法,项目。你的面经我的面经好像不一样~常规问题几乎没有全是深里挖

#数据开发##数据开发工程师##数据开发工程师面经#
全部评论
这个面试题先加一列row_number 1,2,3,,, ,然后用时间减去这个row_number 得到相同数字的即为连续登入的日期,最后在嵌套一个按照相同数字的分组的开窗函数可以吧
1 回复 分享
发布于 2023-06-23 16:37 江西
三步: 第一步:求连续值,和lag作差=1的为0表示连续,不连续的则为1,确定断裂点 第二步:组内加合,断裂点的连续 假设原来 1 0 1 0 1,SUM之后就是 11 22 3 也就表示了前两个一组连续 3和4位连续一组,最后一个自己一组 第三步: 组内赋rank,row_number 给group内部排序,新的组新的排序,就可以了 WITH RankedDates AS ( SELECT userid, dt, (CASE WHEN dt - LAG(dt) OVER(PARTITION BY userid ORDER BY dt) = 1 THEN 0 ELSE 1 END) AS NewGroupFlag FROM table1 ), GroupedDates AS ( SELECT userid, dt, SUM(NewGroupFlag) OVER(PARTITION BY userid ORDER BY dt) AS GroupNum FROM RankedDates ) SELECT userid, dt, ROW_NUMBER() OVER(PARTITION BY userid, GroupNum ORDER BY dt) AS days FROM GroupedDates ORDER BY userid, dt;
点赞 回复 分享
发布于 2023-08-25 08:42 北京

相关推荐

菜鸡29号:根据已有信息能初步得出以下几点: 1、硕士排了大本和大专 2、要求会多语言要么是招人很挑剔要么就是干的活杂 3、给出校招薪资范围过于巨大,说明里面的薪资制度(包括涨薪)可能有大坑
点赞 评论 收藏
分享
02-11 17:47
已编辑
门头沟学院 Java
神哥不得了:神哥来啦~建议先在网上找一些高频的八股去背,然后再去广泛的背八股,这样的学习会更有效率一些,简历的这两个项目建议换掉,换成两个高质量的项目,这样的话获得面试的比例会更高一点,专业技能的话排版要注意一下,要加句号的话就都加,要不加就都不加,荣誉奖项的话写在教育经历里边吧,这个确实没有太多的含金量
点赞 评论 收藏
分享
评论
2
19
分享

创作者周榜

更多
牛客网
牛客企业服务