字节大数据开发一、二、三面
我投的是上海的抖音data部的,以面试来看应该是数仓开发的,两面问了好多数仓的知识。不过也是基于简历面的,面试体验很好。
2020.09.21 一面(40min)
1. 自我介绍
2. 聊项目
3. 聊数仓理论,聊mr的细节,Hadoop的一些细节。(这块聊的大概25min)具体问题都是慢慢衍生出来的,而且是场景加问题,具体字面描述我也不出来。
4. 两题SQL题目:一题是算全年级总分排名前三的学生;另一个算每个班级总分前三的学生(两题用的同一个表)
5. 讲一下第一题的mr的过程。
6.因为第一题用到了order by,问我如果改良,因为order by是全排序。
7. 反问环节
总结:字节的面试很考验一个人的综合能力,跟我面试的几家公司不太一样。其他公司都是条条框框的问题,比如hive数据倾斜啦、spark rdd这种。字节的问题都是围绕项目带出来的,真的吃透简历很重要。
--------------------------------------------------------------
然后一面完了之后被告知不要离线,一会二面。原来一面面试官是北京的负责人,二面把我转到上海这个部门的负责人来了。
2020.09.21 二面 (50min)
1. 自我介绍
2.项目
3. 围绕项目开始问数仓的理论,然后问了spark的一些场景问题,如何解决。我只记得说如果产生大量小文件,会导致什么问题?然后继续问,如果用户一直对HDFS创建小文件,怎么解决?(我回答的是联邦机制,然后面试官说不太对,有没有其他的办法)
4. spark shuffle频繁失败怎么办?有什么好的解决办法?(我回答的是利用cache以及checkpoint机制)
5. MySQL索引。
6. B+Tree在频繁写的场景里适合么?为什么?
7.那读场景呢?
8. MySQL的join类型?不是什么left join这种!我说我记不太清了,我说我大概指的hive join的类型,然后面试官就跟我聊起hive join的类型了。
9. hive join类型的shuffle和sorted merge的优劣?
10. 两题SQL题目。第一题找出关注列表中的关注对(很常见的,就是两表join);第二题找出3分种内连续登录次数超过3次的所有用户的id(表两个字段分别是用户id和登录时间)这题我没写出来
11. 反问
总结:二面跟一面的风格很像,主要围绕简历以及数仓这块问。然后最大的痛点就是第四题SQL没写出来,我感觉以字节的要求我应该是凉了。不管怎么样,这次面试让我学到东西了。依然想许愿后续的面试!!!
-----------------------------------------------------------------------
2020.09.22 三面 (30min)
1.自我介绍
2. 项目
3. sqoop的缺点?
4. 如果MySQL中有数据被频繁更新,使用sqoop导入到hdfs上,看不到状态更新的过程,如何解决该问题?
5. 算法题:两个栈实现队列
6. 平时除了在项目中锻炼自己的实操能力,还有其他什么途径么?
7.场景题:大数据下的浏览量、点赞数等指标的更新,要支持高并发查询。说一下的你的设计思路。
8. 反问
总结: 我好慌,不知道为什么三面30min就结束了。面试体验很棒,面试官会指导问题。依然想许愿后续的面试!!!
#字节跳动##面经##校招##大数据开发工程师#