分享

大数据面试,经常问哪些东西?

 喵感数据 2023-09-30 发布于浙江

最近经常有人私信问我,大数据面试经常会问些什么东西?这个我不知道怎么具体的回答,因为不同的公司,不同的面试官面试问到的东西可能是不一样的。而且大数据开发、数据仓库开发、数据分析方向问的东西也是不同的。








大数据开发一般要求更高一些,偏向应用的大数据开发要会一些编程语言。如果你做应用型产品,比如各种云平台或者其他产品,这些都要求会熟练使用编程语言。

以前我第二份工作就是做产品,使用最多的是Java,Java语言肯定是要熟练使用的,JavaSE部分是必须要精通的,能懂一些底层的源码是更好的。

很多公司要求编写ETL,以前都是使用Mapreduce,后来使用Spark,所以Mapreduce肯定要了解的。而Spark无论是数据开发,还是数据仓库开发都是要会的。自从阿里贡献开源Blink后,使用Flink的公司越来越多。所以呢,Flink肯定也要卷的。你不卷,别人卷,你不会,别人会。那就没办法了!反正,我建议这个一定要卷起来。

无论是离线开发,还是实时开发,肯定都不能绕过Spark,SparkStreming,Flink。当然无论是做一个项目或一个产品肯定还会用到其他技术,比如Kafka,这个常用来做实时消息中间件,你最起码要懂Kafka的底层机制吧。

既然你是做大数据开发,那Hadoop生态你要是不熟悉,那肯定是不行的啊,不要求你精通底层的各种源码,但是如HDFS底层原理肯定要懂吧。Yarn或K8s、Zookeeper这些都是需要深入了解的。

像Hive、Hbase、Redis,这些常用的技术无论做大数据开发还是其他开发都是能经常用到的,多多了解是必要的。








数据仓库开发更多的面向业务,要对业务有深刻的理解。对技术要求反倒并不是那么高,只要能精通数据仓库建模方法论和Sql就行。当然这些只是你工作中常用到的东西,但是面试的时候肯定要全面考察的。

其实数据仓库的东西也是很多的,如数据建模、拉链表,缓慢变化维、数据倾斜、元数据管理、数据质量监控、告警,当然这些都是在做数据仓库过程中能遇到的各种问题或完成数据仓库的必备过程。

我现在的工作就是数据仓库,在做数据仓库的同时还要做各种项目,当然都是使用Sql来写的,然后处理各种数据。还有兼顾数据治理,这个就不详细展开了。平时还会做一些BI的数据分析工作,但是可能其他公司就不需要做这些东西。数仓具体的东西以后我会展开详细的来说说这里就不深入讲解了。










数据分析和数据挖掘这个我不太了解。数据分析,我们公司使用的某个平台,可以在上面做ETL,做卡片,做一些BI的报表啊等等。数据挖掘应该会用到Python更多吧。











大数据要了解的一下技术

1,Java有的公司会问,不过问的不深。

2,Hadoop生态,Yarn、Zookeeper、HDFS这些底层原理要懂,面试经常被问。

3,Mapreduce、Spark的shuffle过程这个也是面试被常问的,这个经常会结合数据倾斜来问,Spark的RDD,Stage的划分,窄依赖和宽依赖等等。

4,Hive这个基本要求是必会的,大数据开发,尤其是数据仓库开发,这个不会是说不过去的。问的东西也很多,可以深入学习Hive。

5,Mysql、Oracle和Postgres数据库,这些多少都要会吧。

6,Linux操作系统,这个简单命令必须要懂,会写Shell脚本更好了。

7,Kettle或Sqoop这种数据处理工具至少要会一个,可以用来同步数据,当然现在很多公司都是使用 第三方云平台,省事很多。

8,SparkSql和SparkStreaming,Flink 底层原理、内核、提交任务的过程等等,尽量深入了解,这个经常会被问到。

9,如果你做实时开发Kafka基本是绕不过去的,我做实时用到最多的就是Kafka了。

10,Redis、ElasticSearch这些能会用当然是更好的了。

11,Impala和kylin这些最起码要知道是什么东西,怎么用的吧。

12,Python这个要是有能力,有精力,建议也要往深处学习。

13,大数据数据倾斜的问题,如何调优啊这些肯定是工作中经常遇到的问题,你肯定要知道怎么处理解决吧。

当然还有很多其他的东西,俗话说技多不压身。PS,数据开发俗称SqlBoy,很多人工作其实就是写Sql。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多