目录
项目
项目通常有如下六类,对比简历看一下面试者参与过其中哪些类的项目开发。
离线数据仓库 :flume ,hdfs,hive/spark
实时数据查询 : hbase,redis,mongo
在线数据分析 : elasticsearch,impala,kylin,druid,mppdb,clickhouse
实时流处理 : spark-streaming,flink,kafka
图数据库分析 :neo4j,janusgraph,hugegraph, spark-graphX
推荐系统 : spark mllib , als ,lightgbm , lr , 搜索推荐, 基于知识图谱的推荐等。
一.HDFS
-
HDFS的读写流程。
-
HDFS的editlog和fsimage作用?
-
Namenode和SecondaryNamenode 的区别?
-
HDFS的HA机制原理?
-
HDFS最初为什么使用三副本而不是其他的数据容错方式?副本分配策略是什么?
-
NameNode和DataNode的堆内存中存储的内容?
-
HDFS存储小文件的挑战是什么?如何解决?
-
NameNode联邦是什么,用来解决什么问题?Router-based Federation和基于ViewFs的Federation的区别?
-
HDFS的存储分级功能通常用在什么场景?
-
如何解决节点间的数据倾斜?如何解决某个节点内硬盘的数据倾斜?
二.Spark
-
Spark中的RDD和DataFrame的概念?
-
从实现原理上阐述Spark对比MapReduce的优势?
-
cache ,persist,checkpoint的区别和作用。
-
repartition和colesce的区别。
-
map和mappartition的区别。
-
Spark on Yarn模式下,如何保证多任务运行时的资源分配和隔离。
-
Yarn capacity scheduler的作用。
-
partition,executor以及task的数目的关系。
-
Spark Streaming中createDstream和createDirectStream的区别。
-
什么是广播变量?
-
什么是executor overhead memory?
-
如何指定Spark的运行资源能够使集群资源利用率最大化?
-
spark sql中的谓词下推是什么?怎么样才能触发谓词下推?
-
spark 3.0中的动态分区是什么?
-
orc,parquet各种存储格式的原理。
-
各种压缩算法的压缩/解压性能和压缩比:snappy,zlib,lzo,zstd等。
三.Kafka
-
Kafka的单机读写性能能到达多少?性能快的原因?
-
Kafka的offset commit是用来作什么的?
-
Kafka多副本场景下是如何选择副本Leader的?
-
ISR和OSR的概念?
-
ConsumerGroup和Consumer Rebalance机制?
-
Kafka partition的分配策略?
-
Kafka数据盘满了会出现什么现象?如何处理?
-
Kafka如何进行性能评估?性能优化的一些方法?
四.HBase
-
HBase的 HMaster和RegionServer之间的关系。
-
Region和HFile的概念。
-
HFile合并过程是什么样的?Minor Compaction和MajorCompaction中分别会进行哪些操作?
-
HBase 2.0是如何解决FullGC导致的毛刺现象的?
-
HBase RowKey的设计?
-
HBase的性能优化方法?
-
如何处理HBase中Region分隔不均匀的问题?
-
什么是WAL机制?
-
HBase的读取和写入数据的流程?
-
什么是HBase数据的本地化率?
五.ElasticSearch
-
ElasticSearch节点有哪几种类型?
-
ElasticSearch如何进行Master选举?
-
详细描述ElasticSearch索引文档的过程? 什么是协调节点?refresh interval是指从Memory Buffer refresh到哪里?flush又是什么样子呢? flush触发的机制有哪几种?translog是什么?
-
ElasticSearch中的分片和副本分别是什么?
-
ElasticSearch的分片分配策略是什么?
-
ElasticSearch的写入性能优化有哪些思路或方法?
-
ElasticSearch的查询性能优化有哪些思路或方法?
-
ElasticSearch的分析器的作用?
-
ElasticSearch大数据量下的聚合是如何实现的?需要注意哪些点?
六.JanusGraph
-
JanusGraph有哪些部署方式?
-
JanusGraph支持哪些Index backend和哪些Storage backend?
-
Gremlin是什么?
-
JanusGraph的id生成策略?
-
如何优化JanusGraph批量写入的性能?
-
还知道哪些主流的图数据库?说一些他们的特点?
-
知识图谱的概念?
-
如何设计一套基于知识图谱进行搜索和推荐的系统?