文章目录

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

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

一,自我介绍

二,问答阶段

  • shuffle阶段详细介绍
    回答环形缓冲区,分区排序,溢写磁盘,reduce再抽取归并等等
  • 计算单元和实际block存储单元不在一个机器节点上,这样会带来大量的IO操作,Hadoop如何解决
    数据不用移动,移动计算逻辑,本地化策略
  • 实际中有哪几种数据倾斜
    回答的是group by,order by,其实没有回答好,面试官还给我讲解,太好了
  • null值特别多,且需要保留怎么处理
    单独处理
  • 一个大表和一个小表之间关联,数据倾斜怎么解决
    map join
  • 两个大表之间关联,其中一张表有3个key(已知这3个key)对应另一张表,分别一万条,十万条,百万条关联,其他的数据平均是1千条的关联,如何处理这种倾斜
    这个没有思路,面试官说已经知道了哪些key倾斜,通过打散的形式将百万、十万、一万的拆分处理
  • 基于上面那个问题,就想临时将它跑过去,不想做特殊处理,怎么办
    也没思路,面试官说将内存调大
  • 两句话去概述一下维度建模是什么
    将数据抽象为事实和维度
  • 事实表理论上分哪几种啊
    事务事实表和快照事实表

三,代码阶段

SQL题1
relation表结构

字段 字段类型
from_user_id bigint
to_user_id bigint

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

from_user_id to_user_id 含义
1 2 表示1关注2
2 1 表示2关注1

求互相关注的关系对
不能用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_id1
from
relation
group 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 end
having count(concat(from_user_id1,to_user_id1))=2

这个题没想出来,唉

SQL题2
bind表结构

字段 字段类型
user_id bigint
bind_obj string
date bigint 时间戳10位

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

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

SQL题2
登陆日志login表结构

字段 字段类型
user_id bigint
login_date string

示例

user_id login_date
1 2021-01-01
1 2021-01-02
1 2021-01-03
1 2021-01-05
1 2021-01-06
1 2021-01-07
1 2021-01-08
1 2021-01-09

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

selectuser_id,min_login_date,max_login_date,max(login_days) max_login_days
from
(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
)t3
group byuser_id,max_login_date,min_login_date

四,反问

部门对实习生要求
上海和北京区别

五,总结

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

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

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

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

  1. 2022字节跳动数据仓库实习面经

  2. 字节跳动效率工程Android实习面经

    大概一个礼拜之前在字节跳动上海现场进行了Android开发的实习面试,在这里给大家分享一下面经. 一面(30分钟) 自我介绍 讲了一下简历上的安卓实习经历 然后开始问安卓有关的问题 讲一下Activi ...

  3. 字节AL LAB nlp 日常实习面试失败

    面试失败 公司:字节跳动 职位 : AL lab 的NLP方向 面试时长 :1h 一面就失败了,没有二面, 面试官非常年轻,感觉字节面试官都很年轻.面试官因为疫情也是在居家远程办公,虽然最后没面过,但 ...

  4. 字节跳动客户开发_实习|字节跳动 客户端实习生 1-5面 面经

    作者:Simple零 链接:https://www.nowcoder.com/discuss/366054?from=zhnkw 来源:牛客网 目前已经拿到实习offer,牛客上各位牛友的面经真的帮助 ...

  5. ACL 2022 | 字节跳动与新加坡科技与设计大学提出:基于演绎推理的数学解题

    ©作者 | 字节跳动AI Lab.UT Austin等 来源 | 机器之心 目前强大的语言模型普遍在很多下游 NLP 任务中能轻易地达到比较好的结果,但在推理效果上没有达到我们的预期 [1].字节跳动 ...

  6. 【字节跳动】秋招/实习转正,总有一种方法适合你

    秋招太难?实习转正也能加入字节跳动! 公司介绍: 成长环境: 秋招: ⚠️内推码:EJSDRMT 工作地点: 薪资福利: 招聘职位: 投递邮箱: 公司介绍: 字节跳动是全球增长最快的科技公司之一,月活 ...

  7. 面试字节跳动前端工程师的2点经验分享,建议收藏!

    首先我来辟个谣: 随便打开一个招聘网站,你会发现前端工程师的岗位需求依旧庞大,大厂人才奇缺,就业薪资起点高,无行业限制. (数据来源:职友集) 前端开发的行业大环境 行业升级,如果说以前只会HTML. ...

  8. 面试字节跳动前端工程师被拒了,只因为......

    首先我来辟个谣: 随便打开一个招聘网站,你会发现前端工程师的岗位需求依旧庞大,大厂人才奇缺,就业薪资起点高,无行业限制. (数据来源:职友集) 前端开发的行业大环境 行业升级,如果说以前只会HTML. ...

  9. 2021 年还剩 2 个月,字节跳动的工程师如何在业务与技术中成长?

    2021 年还剩 2 个月,程序员如何在业务与技术中成长? 大家好,我是皮汤,是字节跳动今年的校招应届生. 在之前的 [字节跳动的真实工作体验]中,我和大家聊了聊我在字节的头 6 个月,感受到的字节薪 ...

最新文章

  1. Error: could not open 'D:\Program Files\Java\jre7\lib\amd64\jvm.cfg'
  2. 目标检测-- DeNet: Scalable Real-time Object Detection with Directed Sparse Sampling
  3. Web前端框架与类库的思考
  4. 美国AI博士指出:60天掌握Python全栈需要...
  5. mysql-mmm故障解决一例
  6. photoshop8.0 安装步骤及注意事项
  7. View onRestoreInstanceState ClassCastException
  8. 1.关于QT中json数据处理和密码md5加密
  9. mysql导入source注意点
  10. .net数据库连接池配置技巧(默认值)
  11. 什么是DataV数据可视化?
  12. setfacl 权限导出_setfacl getfacl 将某个目录的访问权限赋值给某个用户
  13. SpringMVC结合ajaxfileupload文件无刷新上传
  14. 消费金融公司可开展哪些业务类型?
  15. 计算机基础知识——二进制
  16. xxm系统-DB中勒索病毒
  17. LCL滤波器电容阻尼选择
  18. Docker基础介绍(二)
  19. Python爬虫方法三部曲之二-实战训练
  20. 学习笔记 | 建站流程

热门文章

  1. 华为手机计算机怎么开声音,怎么录音频-录屏录不到声音?华为的录屏功能了解一下!这才是正确的打开方式...
  2. 算法 —— 排序 —— 优先队列
  3. 浅析2022年6月六级翻译真题
  4. 10个最佳iOS Photo App模板
  5. 基于windows7的usb多点触控设备
  6. mini Vue的实现 Vue工作原理简析
  7. 如何在html中添加图片的自动滚播,制作网页中的滚动图片,怎样循环播放。
  8. 前端 点击复制文本 无需插件
  9. 逍遥模拟器的安装和使用
  10. LSI SAS3IRCU配置SAS3系列RAID卡