JAVA
- 介绍下REST设计风格
- reentrantLock、synchronized 两种锁对比,在哪些业务上用过锁
- 线程安全,concurrentLinkedQueue(非阻塞队列) LinkedBlockingQueue(阻塞队列),用过多线程并发吗
- 介绍下RPC,用过Thrift API吗?
- 设计模式有哪几种,分别介绍2-3个
- JVM优化,垃圾回收策略
HIVE(可以不掌握)
- hive关联查询,如何解决数据倾斜问题?
- hive与关系型数据库mysql等有什么异同点?
- Order by,Sort by, Distribute by, Cluster by 分别介绍下特点
- hive的null是怎么存储的?如何实现数据抽样?
- hive内部表和外部表的区别?
- 你们的集群规模?怎么把数据导入数据库?处理过哪种数据,执行job大概用多长时间?
- 做项目遇到哪些问题,怎么解决的?
- 有写过UDF函数, 用于处理哪个业务?
HDFS/MapReduce
- 搭建过集群?遇到过哪些问题?safemode是什么
- hdfs一些命令,比如合并文件,上传下载,检查文件目录是否存在
- MapReduce的shuffle工作原理,MapReduce的工作流程,介绍下JobTracker和TashTracker
- hadoop的几种文件格式,介绍下用过哪些和特点
- MapReduce性能优化,有什么方面可以做?(设置InputSplit大小减少map任务数量、数据倾斜、shuffle调优、压缩算法、更换调度器等)
- flume如何工作的,source/channel/sink
HBASE
- 读写用哪些API?RowKey的设计原则,Scan和Get实现批量,一个表适合建多少个列族,用过HBase存储什么数据
- 合并HFile,minor和major有什么区别?
- HBase存储用的是什么结构,(LSM树)并简单介绍下
- 介绍下hbase协处理器,如何实现过滤?
- 如何预分区,还有怎么生成HFile
Storm
- storm的工作原理,如何实现ack?
- storm如何在bolt实现批量提交数据并在关闭任务时不丢数据?
- storm反压原理
ElasticSearch(Solr)
- 使用过ES存储数据吗?分片数可以动态调整吗?ES搜索时间排序数据的工作流程
- 分词有用过吗,试过ES + HBase 提高索引速度?
- ES调优,内存,bluk api, cache
CouchBase 、 Redis 、MongoDB
- 在哪些业务上运用过
- 用过Redis Geo功能吗
- redis cluster slot概念
- 遇到过哪些问题?
Active MQ、Rabbit MQ 、Kafka
- kafka的工作原理,Producer/Broker/Consumer
- kafka的存储策略
- 一些shell api, 怎么查看consumer offset,增加topic的partitions
MySQL PostgreSQL
- InnoDB/MyISAM存储索引异同点, 分别适用哪些场景
- 设计索引的原则,提高查询速度
- 怎么去定位查询速度慢的SQL并如何优化,分区功能有哪几种模式
- PostgreSQL的几种索引GIST/SP-GIST/GIN/B-TREE 分别介绍下
Spark(Scala)
- spark任务提交过程
- 用过spark streaming吗?运用在哪些方面
Python
- 平时用过哪些模块、lib包,用过annaconda吗?