作者: | 来源:互联网 | 2023-09-02 15:35
1.scala中private与private[this]修饰符的区别?private[包名],private[this]可以放在字段,方法和类上,用来限制访问权限;private
1.scala中private 与 private[this] 修饰符的区别?
private[包名],private[this] 可以放在字段,方法和类上,用来限制访问权限;
private[包名] 包名可以是父包名或当前包名,如果是父包名,则父包和子包都可以访问
private[this] 修饰的方法或字段 只能在本类访问,如果是字段编译成 java 的时候就没有get或set方法。
2.scala中内部类和java中的内部类区别
scala的内部类和java的内部类有很大差别,java的内部类属于类,scala的内部类 属于外部类对象 。
https://blog.csdn.net/yyywyr/article/details/50193767
http://hongjiang.info/scala-type-system-inner-type-and-type-projection/
3.Spark中standalone模式特点,有哪些优点和缺点?
自带资源管理服务,不需要依赖其他的资源管理系统,适用于快速开发。
但standalone对资源的分配不如 Yarn。
而且 Yarn 可以运算其他的计算模型 比如 MapReduce。
4.FIFO调度模式的基本原理、优点和缺点?
FIFO调度策略只适合一个人
任务队列,先进先出。
优点:简单易懂零配置
缺点:耗时的长任务会导致后提交的任务一直处于等待状态,不适用于共享集群
5.FAIR调度模式的优点和缺点?
Fair Scheduler 试图为每个任务均匀分配资源,比如当前只有任务 1 在执行,那么它拥有整个集群资源,此时任务 2 被提交,那任务 1 和任务 2 将平分集群资源,以此类推。
6.CAPCACITY调度模式的优点和缺点?
CAPCACITY 适合多人同时运行任务
可以在配置文件中 为多个队列设置 队列层级关系 和 队列的资源分配比重
mapreduce.job.queuename
来为任务指定队列
优点:弹性分配、多租户租用
7.列举你了解的序列化方法,并谈谈序列化有什么好处?
Hadoop 序列化,实现 Writable 接口。
Spark 默认是 JavaSerializer 实现序列化,可选 KryoSerializer,相比 JavaSerializer 速度提升10倍。
需要注意的是,这里可配的Serializer针对的对象是Shuffle数据,以及RDD Cache等场合,而Spark Task的序列化是通过spark.closure.serializer来配置,但是目前只支持JavaSerializer
8.常见的压缩方式,你们生产集群采用了什么压缩方式,提升了多少效率?
9.简要描述Spark写数据的流程?
10.Spark中 Lineage 的基本原理
11.使用 shll 和 scala 代码实现WordCount?
12.请列举你碰到的CPU密集型的应用场景,你有做哪些优化?
13.Spark RDD 和 MR2的区别
14.Spark读取hdfs上的文件,然后count有多少行的操作,你可以说说过程吗。那这个count是在内存中,还是磁盘中计算的呢?
15.spark和Mapreduce快? 为什么快呢? 快在哪里呢?
16.spark sql又为什么比hive快呢?
17.RDD的数据结构是怎么样的?
18.RDD算子里操作一个外部map比如往里面put数据。然后算子外再遍历map。会有什么问题吗。
19.hadoop的生态呢。说说你的认识。
20.jvm怎么调优的,介绍你的Spark JVM调优经验?
21.jvm结构?堆里面几个区?
22.怎么用spark做数据清洗
23.spark怎么整合hive?
24.spark读取 数据,是几个Partition呢?
25.hbase region多大会分区,spark读取hbase数据是如何划分partition的?
26.画图,画Spark的工作模式,部署分布架构图
27.画图,画图讲解spark工作流程。以及在集群上和各个角色的对应关系。
28.java自带有哪几种线程池。
29.画图,讲讲shuffle的过程。那你怎么在编程的时候注意避免这些性能问题?
30.BlockManager怎么管理硬盘和内存的?