大数据java面试题总结
2018-07-16 本文已影响232人
sunTengSt
之前大数据开发面试整理的一些资料,时间长忘了上传了,现在上传上来,提供给需要的人帮助。可参考性的面试技术题,不全但是肯定会有用。
一:java(多线程):
1.hashmap的底层实现原理,扩容,初始容量;hashmap与concurrentHashMap的区别;与hashTable的区别;
https://blog.csdn.net/justloveyou_/article/details/72783008
2.hashset的底层实现;
3.ArrayList与linklist的使用场景及原理;初始容量10;扩容机制;set等;
http://www.cnblogs.com/xiezie/p/5511840.html
4.多线程的具体实现;volitile关键字的作用;与syonchronized的区别;lock的区别;
https://blog.csdn.net/u011974987/article/details/51027795
5.java内存模型jmm;
6.java分布式锁的实现;MySQL及Redis,zookeeper等实现;
http://www.cnblogs.com/PurpleDream/p/5559352.html
7.线程池构造类方法的五个参数的具体意义;
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
Executors.defaultThreadFactory(), handler);
8.Java concurrent包下面主要类使用说明;
9.Java读写锁以及java多线程的锁;
https://blog.csdn.net/gaugamela/article/details/78656485
https://blog.csdn.net/chenchaofuck1/article/details/51660119
10.java常用设计模式精通及手写;
二:hadoop体系(HBASE):
1.HDFS的数据读取流程;https://blog.csdn.net/qq_20641565/article/details/53328279
hdfs的数据备份;hadoop的高可用HA保证;
2.MapReduce的原理;shuffle过程;
https://blog.csdn.net/u014374284/article/details/49205885
优化;大小表的拼接mapreduce实现;reduce如何获取map数据;mapreduce个数确定;
3.HBASE的架构;二级索引的设计理念;表设计根据场景;rowkey设计(及二级索引的rowkey设计);master的选举;
高可用HA保证;LSM-TREE原理;布隆过滤器bloom-filter;为什么会有误差;
HBASE的mvcc多版本并发控制;zookeeper存储;HBASE数据读取流程;HBASE集群版本;
HBASE预分区实现;https://blog.csdn.net/Nougats/article/details/72723172
hbase的客户端与服务端的配置优化及性能优化;
hbase二级索引修改的源码的类及方法;
hbase的数据更新原子操作实现原理;
HBASE二级索引实现细节;
4.Zookeeper的架构;zab协议;选举制度;二阶段与三阶段提交协议;分布式锁的实现;
5.yarn的整体架构;资源分配等;
6.kafka数据读取;数据丢失与数据重复消费解决办法;kafka的分区个数;kafka备份机制;kafka的最少一次等等;kafka数据格式;
https://blog.csdn.net/ychenfeng/article/details/74980531
7.flume的数据丢失解决;channel的选型;数据源采集方法;flume技术细节
8.hive的开发使用原理、问题解决;数据倾斜及优化;
三:jvm
1.java类加载机制;每个步骤执行那些操作;jvm运行时数据区域及应用;
2.gc回收:几种gc回收机制;gc过程详解(g1,cms详解);各自的使用场景;常见gc优化案例及实际场景优化;常用命令说明;排查gc的方法及过程;
3.java内存模型介绍;
4.排查jvm相关问题的命令及操作步骤;
http://www.hollischuang.com/archives/1561
四:MySQL
1.MySQL常见问题:存储引擎区别;行转列等问题;悲观锁与乐观锁及使用场景;
2.MySQL的mvcc原理;
五:算法
1.排序:冒泡;快速(递归与非递归的实现);插入等
2.查找:二分查找的实现;
3.树:层次遍历等(队列的存储);
4.栈的应用场景(匹配符号等);
5.开发中用的比较多的数据结构;
6.跳台阶问题
https://hacpai.com/article/1470144369409?p=1&m=0
7.《剑指offer》刷题;
六:数据仓库(hive)
1.数据仓库技术;
2.hive优化;
https://blog.csdn.net/MrLevo520/article/details/76339075