失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 字节跳动【数据仓库工程师】日常实习面经-----一面

字节跳动【数据仓库工程师】日常实习面经-----一面

时间:2020-12-23 14:14:42

相关推荐

字节跳动【数据仓库工程师】日常实习面经-----一面

文章目录

一,自我介绍二,问答阶段三,代码阶段四,反问五,总结

背景:今年金三银四,看着大家都在疯狂找实习offer,不甘落后的我也信心满满(毫无把握)的去字节面试(现在想想真是胆大,都还没学扎实)

一,自我介绍

二,问答阶段

shuffle阶段详细介绍

回答环形缓冲区,分区排序,溢写磁盘,reduce再抽取归并等等计算单元和实际block存储单元不在一个机器节点上,这样会带来大量的IO操作,Hadoop如何解决

数据不用移动,移动计算逻辑,本地化策略实际中有哪几种数据倾斜

回答的是group by,order by,其实没有回答好,面试官还给我讲解,太好了null值特别多,且需要保留怎么处理

单独处理一个大表和一个小表之间关联,数据倾斜怎么解决

map join两个大表之间关联,其中一张表有3个key(已知这3个key)对应另一张表,分别一万条,十万条,百万条关联,其他的数据平均是1千条的关联,如何处理这种倾斜

这个没有思路,面试官说已经知道了哪些key倾斜,通过打散的形式将百万、十万、一万的拆分处理基于上面那个问题,就想临时将它跑过去,不想做特殊处理,怎么办

也没思路,面试官说将内存调大两句话去概述一下维度建模是什么

将数据抽象为事实和维度事实表理论上分哪几种啊

事务事实表和快照事实表

三,代码阶段

SQL题1

relation表结构

说明:都是自增长且唯一,微博的关注关系表

示例

求互相关注的关系对

不能用join ,union all ,子查询

可以用having,group by

selectcase when from_user_id>to_user_id then to_user_id else from_user_id end as from_user_id1,case when from_user_id>to_user_id then from_user_id else to_user_id end as to_user_id1fromrelationgroup by case when from_user_id>to_user_id then to_user_id else from_user_id end,case when from_user_id>to_user_id then from_user_id else to_user_id endhaving count(concat(from_user_id1,to_user_id1))=2

这个题没想出来,唉

SQL题2

bind表结构

求每个user_id最早绑定的bind_obj以及绑定时间

selectuser_id,split(min_date_bind_obj,"_")[1] bind_obj,split(min_date_bind_obj,"_")[0] datefrom(selectuser_id,min(concat(date,"_",bind_obj)) min_date_bind_objfrombindgroup by user_id)t1

SQL题2

登陆日志login表结构

示例

每个用户连续登陆最大天数,开始时间和结束时间

selectuser_id,min_login_date,max_login_date,max(login_days) max_login_daysfrom(selectuser_id,sub_time,max(login_date) max_login_date,min(login_date) min_login_date,count(login_date) login_daysfrom(selectuser_id,login_date,date_sub(login_date,rank) sub_timefrom(selectuser_id,login_date,(row_number() over(partition by user_id order by login_date))-1 rankfromlogin)t1)t2group by user_id,sub_time)t3group byuser_id,max_login_date,min_login_date

四,反问

部门对实习生要求

上海和北京区别

五,总结

通过这次面试直接发现了自己的薄弱点,基础不牢,地动山摇,诚不欺我也,也幸亏面试官一直在引导我,否则根本不可能通过一面,对于大数据组件了解不够,对于原理和实践也不够。

我是dyson不只是吹风机,若是对大数据-数据仓库技术感兴趣的可以加我沟通交流,一起进步。VX:daijun1211

ps:若文章侵权、触犯隐私请联系作者删除,谢谢~~

如果觉得《字节跳动【数据仓库工程师】日常实习面经-----一面》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。