Spark面试题阅读指南(必看)

大家好,我是帅地。

为了方便大家复习,这些面试题的展示采取了右边面试题目,左边答案的方式,方便大家按需查看。

由于手机端不支持这种展示方式,当然,为了手机方便阅读,下面会贴出所有面试题答案链接,不过大家最好在 PC 电脑端阅读哈,相关面试题还会持续更新,尽量补充完善起来,建议收藏帅地的网站哦。

面试题链接汇总

1. 简述什么是Spark ?

2. 简述Spark部署模式 ?

3. 简述Spark主要功能与特性 ?

4. 简述Spark对MapReduce优势 ?

5. 简述Spark的任务执行流程 ?

6. 简述Spark的运行流程 ?

7. 简述Spark的作业运行流程是怎么样的 ?

8. 简述Spark源码中的任务调度 ?

9. 简述Spark作业调度 ?

10. 简述spark部署模式(资源调度模式) ?

11. 简述Spark的使用场景 ?

12. 简述Spark on Standalone运行过程 ?

13. 简述Spark on YARN运行过程 ?

14. 简述YARN-Client 与 YARN-Cluster 区别 ?

15. 简述Spark的yarn-cluster涉及的参数有哪些 ?

16. 简述Spark提交job的流程 ?

17. 简述Spark的阶段划分流程 ?

18. 简述Spark处理数据的具体流程 ?

19. 简述Spark join的分类 ?

20. 简述Spark map join的实现原理 ?

21. 简述Spark ShuGle及其优缺点 ?

22. 简述Apache Spark 中的 RDD 是什么 ?

23. 简述SparkContext 与 SparkSession之间的区别是什么 ?

24. 简述什么情况下会产生Spark ShuGle ?

25. 简述为什么要Spark ShuGle ?

26. 简述Spark为什么适合迭代处理 ?

27. 简述Spark数据倾斜问题,如何定位,解决方案 ?

28. Spark的stage如何划分?在源码中是怎么判断属于ShuGle Map Stage或Result Stage的 ?

29. 简述Spark join在什么情况下会变成窄依赖 ?

30. 简述Spark的内存模型( 重要详细 ) ?

31. 简述Spark中7种存储级别 ?

32. 简述Spark分哪几个部分(模块)?分别有什么作用(做什么,自己用过哪些,做过什么) ?

33. RDD的宽依赖和窄依赖,举例一些算子 ?

34. Spark SQL的GroupBy会造成窄依赖吗 ?

35. 简述GroupBy是行动算子吗 ?

36. 简述Spark的宽依赖和窄依赖,为什么要这么划分 ?

37. Spark中的Transform和Action,为什么Spark要把操作分为Transform 和Action?常用的列举一些,说下算子原理 ?

38. 简述Spark的哪些算子会有shuGle过程 ?

39. 简述Spark有了RDD,为什么还要有Dataform和DataSet ?

40. 简述Spark的RDD、DataFrame、DataSet、DataStream区别 ?

41. 简述Spark的Job、Stage、Task分别介绍下,如何划分 ?

42. 简述Application 、job、Stage、task之间的关系 ?

43. 简述Stage内部逻辑 ?

44. 简述为什么要根据宽依赖划分Stage ?

45. 简述为什么要划分Stage ?

46. 简述Stage的数量等于什么 ?

47. 简述对RDD、DAG 和Task的理解 ?

48. 简述DAG为什么适合Spark ?

49. 简述Spark的DAG以及它的生成过程 ?

50. 简述DAGScheduler如何划分?

51. 简述Spark容错机制( 重点 ) ?

52. 简述RDD的容错机制 ?

53. 简述Executor如何内存分配 ?

54. 简述Spark的batchsize,怎么解决小文件合并问题 ?

55. 简述Spark参数(性能)调优 ?

56. 简述Spark怎么基于内存计算的 ?

57. 简述什么是RDD(对RDD的理解)?RDD有哪些特点?说下知道的RDD算子 ?

58. 简述RDD属性 ?

59. 简述RDD的缓存级别 ?

60. 简述Spark广播变量的实现和原理 ?

61. 简述reduceByKey和groupByKey的区别和作用 ?

62. 简述reduceByKey和reduce的区别 ?

63. 简述使用reduceByKey出现数据倾斜怎么办 ?

64. 简述Spark SQL的执行原理 ?

65. 简述Spark checkpoint ?

66. 简述Spark SQL与DataFrame的使用 ?

67. 简述HashPartitioner和RangePartitioner的实现 ?

68. 简述Spark的水塘抽样 ?

69. 简述DAGScheduler、TaskScheduler、SchedulerBackend实现原理 ?

70. 简述Spark client提交application后,接下来的流程 ?

71. 简述Spark的几种部署方式(详解) ?

72. 简述在Yarn-client情况下,Driver此时在哪 ?

73. 简述Spark的cluster模式有什么好处 ?

74. 简述Driver怎么管理executor ?

75. 简述Spark的map和flatmap的区别 ?

76. 简述map和mapPartition的区别 ?

77. RDD的cache和persist的区别?

78. 简述DataFrame的cache和persist的区别 ?

79. 简述Saprk Streaming从Kafka中读取数据两种方式 ?

80. 简述Spark Streaming的工作原理 ?

81. 简述Spark输出文件的个数,如何合并小文件 ?

82. 简述Spark的driver是怎么驱动作业流程的 ?

83. 简述Spark SQL的劣势 ?

84. 简述Spark Streaming和Structed Streaming ?

85. 简述Spark为什么比Hadoop速度快 ?

86. 简述Spark Streaming的双流join的过程,怎么做的 ?

87. 简述Spark怎么保证数据不丢失 ?

88. 简述Spark SQL如何使用UDF ?

89. 简述Spark实现wordcount ?

90. 简述Spark Streaming怎么实现数据持久化保存 ?

91. 简述Spark SQL读取文件,内存不够使用,如何处理 ?

92. 简述Spark的lazy体现在哪里 ?

93. 简述Spark中的并行度等于什么 ?

94. 简述Spark运行时并行度的设置 ?

95. 简述Spark SQL的数据倾斜解决方案 ?

96. 简述Spark的RDD和partition的联系 ?

97. 简述Spark 3.0特性 ?

98. 简述Spark计算的灵活性体现在哪里 ?

99. 简述什么是 RDD 沿袭 ?

100. 简述解释 Spark 中的 Accumulator 共享变量 ?

发表评论

后才能评论