Trip.com W1D5

同事们,打球来讲的话激烈但水平一般,下次从投篮方面碾压,并且不要选择毒瘤队友

1.深入了解数仓开发

技术要求:

1、编程语言

由于很多大数据组件都是由Java编写,所以Java是必须要学会的,而且要较为深入。这里的深入并不是只工程能力,而是要把Java SE学明白,这里就有很多八股需要背。sql也需要非常熟练,不过这部分基本都是使用,八股不多。Scala和Python我觉得是锦上添花,可学可不学。

八股例:

Java的GC有哪些,有什么特点?

Java多线程和线程池?

hashmap的底层实现?

列表扩容机制?

sql执行流程?

2、算法能力

这个没得说,最简单的办法就是刷lc或牛客,至少要刷完面试高频的题,很多面试都有手撕算法,在会写的同时也要有一定的理解,不熟练的话面试紧张很容易写不出来。在数仓方向与后端不同,也需要对sql熟练,面试基本上都会手撕sql,个人理解sql比算法要简单不少,但也需要一定的积累。偶尔也会遇到一点非算法的手撕,比如写个饿汉单例,或写个分词计数(MapReduce或Spark)。

3、大数据组件

hadoop系列要背一些面经的,hdfs、MapReduce、yarn、hive、zookeeper等,这里有不少面经需要背,也是最能体现你熟悉大数据领域的地方。其次离线数仓要学好spark,实时数仓要学spark stream和flink。其他的像MySQL(很重要)、redis、Kafka(mq)、clickhouse等等也是体现你能力的地方,体现你的专业。

八股例:

mr中shuffle的具体流程?三次排序?分别是什么排序?

spark的宽窄依赖?如何划分stage?比mr优势在哪?

hdfs的容灾策略?读写流程?fsimage和editlog?

MySQL版本链?为什么使用B+树?

数据倾斜?怎么解决?怎么设计表

redis雪崩?

4、数仓模型

    这是一个非常重要的部分,以至于我单独拿出来。因为这是考察面试者到底懂不懂数仓最直接的问题。至少学好阿里的one data数仓模型,至少要懂每层是在干什么,为什么要这么设计。

八股例:

讲一下数仓模型?为什么这么分层?

维度是什么?维度建模是什么?

数仓建模的流程步骤?

给你一个场景,你会怎么设计?

星型、雪花、星座模型?

5、相关项目

    需要做至少一个数仓的项目,b站上很多,找一个至少看明白,写在简历上(面试官问一些刁钻问题的时候能清晰回答不露馅)。项目是必须要有的,即使你的项目在面试官看来像个玩具,但如果连相关项目都没有,面试官也没有办法(许多公司面试时都明确要求要问项目)。

6、计算机基础

    很多同学注重语言和大数据组件的学习,忘记了计网、操作系统等这些才是学生最该熟练掌握的,这是体现个人知识扎实程度的部分,非常关键。这里也会有一些八股需要背,对于科班同学来说,学好课上的知识就基本OK,但对非科班的同学来说就稍微麻烦一些,需要花些时间。

八股例:

TCP与udp?三招四挥?http与https?

七层模型?

页?线程与进程?

7、面试技巧

  注意不要问不该问的,一定不要过于谦卑,要自信但不要自傲。如果你能跟面试官聊一些他都感兴趣的东西,那就基本上成功了!

总结

如果上面的一些八股你都差不多能答上来,那很有机会找个不错的实习,我找实习的时候也就差不多这样(不过今年不知道会不会更卷,不敢打包票)

如果是实习,可以根据情况少学一些,但也要至少对Java,mr,hdfs等有较为深刻的认识,算法sql也要过关

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值