莉莉丝 | ETL开发日常一面凉经

整体面了50min,面试官很温柔

可惜我太菜了,昨天下午面,今天早上秒挂

感觉莉莉丝这个岗偏数仓底层的一些数据开发,或者说是数据模型的设计

  1. 自我介绍
  2. 拷打项目(摆了一段时间突然收到面试,没怎么准备被狠狠拷打了)
  3. 讲一讲维度建模整体过程,如何设计(我答了个数仓分层,被蠢哭了,后面被提醒说了说星型模型)
  4. 维度建模理论这里的冗余是指什么,如果维度变了怎么办(缓慢变化维)
  5. 说说做了哪些指标,做了哪些标签
  6. DQC里面具体校验了什么东西
  7. 如何保证数据质量的规范
  8. 30min之后说来做两道sql吧(口述完第一道,做完就没时间了,场景很有意思不愧为游戏公司)
  9. sql题:现在有一辆小车在二维平面上,然后每一秒上报一次它的坐标(x, y),表的结构类似(time, x, y),然后这样一分钟下来的话,它就会上报60个坐标,因为小车的行驶方向是任意的,所以它可能是一个折线图,求他连续行驶的最大直线距离(不用考虑一些特殊情况,说说大概思路)
  10. 先lag或lead开窗,求相邻两行的斜率k:(y2-y1)/(x2-x1)
  11. 再group by k,对相同k的这几行数据参考连续登录思路
  12. row_number()再开窗,算出最大直线距离
  13. 面试官的另一种解法:考虑转弯的这个关键点就好了。只要你斜率不一样的话,你就相当于如果你下一条,你每个数据比一下,如果斜率相同的赋0,如果斜率不同的赋1,然后只要你每变一次,那个标记就是1。然后你用一个累计求和的开窗函数,你把前面的这个标记加起来就可以了
  14. 反问
全部评论
牛客数开区已经被占领了
1 回复 分享
发布于 04-10 21:13 北京
大佬好强,这个sql题好有意思啊,我有些自己的理解:给每个k分组,然后对每个组求出距离。难点在于怎么把k分组,所以可以用打断点的方式计算(面试官的思路),拐点打断点,后面累加就完成了分组,然后对每个分组求距离,比大小。 但是大佬你这里用排名函数的思路我觉得有点漏洞,group by之后会去重,这样只能算出哪一组k最多,虽然这一组k最多,但是不一定这组k的距离就是最大啊。比如k1有4条,k2有5条,group by之后把k2拿了出来进行计算距离,但是如果k1这四条走的都是对角线斜边,而k2这5条走的都是x直角边,这个大小是不是就不好判断了,k1的4条斜边走的距离可能比k2的5条直角边还长。所以是不是要对每一组都进行距离计算,而不是group by把最多那个k拿出来单独算?
1 回复 分享
发布于 04-10 16:05 湖北
问题比较常规,这个岗更偏数据中台一些,了解了一下好像游戏业除腾讯网易外基本只有莉莉丝有大中台模式,所以喜欢考察建模
1 回复 分享
发布于 04-10 12:04 广东
3.应该是回答维度建模吧,基于业务过程将数据组织成事实表和维度表,然后可以扯一扯怎么建模事实表,比如五要素,数据域,事实表类型,颗粒度,维度,事实这些
1 回复 分享
发布于 04-10 11:59 安徽

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务