一、数据结构
二、Java
一、多线程
1、并行串行
2、jdk提供的线程池有哪几个,优缺点是什么
3、自定义线程池涉及到的几个参数是什么,一个新线程提交到线程池的处理流程
3、多线程就涉及到锁跟计数器
4、JUC包,几个常问点
5、 AbstractQueuedSynchronizer
6、 volatile
二、集合
1、什么是集合
2、集合和数组的区别
3、使用集合框架的好处
4、常用的集合类有哪些?
5、List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点?
6、哪些集合类是线程安全的?
7、Java集合的快速失败机制 “fail-fast”?
8、怎么确保一个集合不能被修改?
9、迭代器 Iterator 是什么?
10、Iterator 怎么使用?有什么特点?
11、如何边遍历边移除 Collection 中的元素?
12、Iterator 和 ListIterator 有什么区别?
13、遍历一个 List 有哪些不同的方式?每种方法的实现原理是什么?Java 中 List 遍历的最佳实践是什么?
14、说一下 ArrayList 的优缺点
15、如何实现数组和 List 之间的转换?
16、ArrayList 和 LinkedList 的区别是什么?
17、ArrayList 和 Vector 的区别是什么?
18、插入数据时,ArrayList、LinkedList、Vector谁速度较快?阐述 ArrayList、Vector、LinkedList 的存储性能和特性?
19、多线程场景下如何使用 ArrayList?
20、为什么 ArrayList 的 elementData 加上 transient 修饰?
21、List 和 Set 的区别
22、说一下 HashSet 的实现原理?
23、HashSet如何检查重复?HashSet是如何保证数据不可重复的?
24、hashCode()与equals()
25、==与equals的区别
三、JVM内存管理
四、Java SE基础知识
五、异常
三、Hive
四、Flink
1、Flink架构
1、运行时架构图
2、Graph之间关系
3、Flink任务提交流程
2、Flink资源配置
3、实时任务被压原因,被压原理
4、端到端的一致性
五、Spark
1 Kafka 分布式的情况下,如何保证消息的顺序?
2 对于 Spark 中的数据倾斜问题你有什么好的方案?
3 你所理解的 Spark 的 shuffle 过程?
4 Spark有哪些聚合类的算子,我们应该尽量避免什么类型的算子?
5 spark on yarn 作业执行流程,yarn-client 和 yarn cluster 有什么区别
6 Spark为什么快,Spark SQL 一定比 Hive 快吗
7 容错方法
8 RDD, DAG, Stage怎么理解?
9 RDD 如何通过记录更新的方式容错
10 宽依赖、窄依赖怎么理解?
11 Job 和 Task 怎么理解
12 Spark 血统的概念
13 任务的概念
14 容错方法
15 Spark 粗粒度和细粒度
17 Transformation和action是什么?区别?举几个常用方法
18 Spark作业提交流程是怎么样的
六、Kafka
1、Kafka如何保证数据一致性
七、HBase
1、HBase架构
八、Redis
1、CK表引擎
九、CK
十、数仓
1、数据仓库分层设计,每层的功能
|