
面试题系列总结
文章平均质量分 71
TigRer
探索未来的程序汪
展开
-
ConcurrentHashMap面试题
sizeCtlsizeCtl < 01.-1 表示当前table正在初始化(有线程在创建table数组),当前线程需要自旋等待…2.表示当前table数组正在进行扩容 ,高16位表示:扩容的标识戳 低16位表示:(1 + nThread) 当前参与并发扩容的线程数量sizeCtl = 0:表示创建table数组时 使用DEFAULT_CAPACITY为大小sizeCtl > 01.如果table未初始化,表示初始化大小2. 如果table已经初始化,表示下次扩容时的 触发条件原创 2021-05-03 15:17:41 · 370 阅读 · 0 评论 -
Hive SQL常考面试题
多列转多行test:result:select a.name, b.subject, b.scorefrom test as alateral view explode( map( '语文',chinese, '数学',math, '英语',english )) b as subject, score;select a.name, b.subject, b.scorefrom test as alateral view explode( str_to_ma原创 2021-05-03 14:48:40 · 422 阅读 · 0 评论 -
Hive面试题
介绍下Hive?(1)Hive是基于 Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL),Hive本质是将SQL转换为 MapReduce的任务进行运算。(2)Hive可以通过JDBC、ODBC 等客户端进行访问。Hive的元数据保存在数据库中,元数据信息包含表名,列名,分区等,默认数据库是Derby,不支持多客户端访问,可以将其改为MySQL,支持多客户端访问。(3)Hive内部执行流程:解析器(解析SQL语句)、编译器(把SQL语句编译成Ma原创 2021-05-03 14:32:23 · 231 阅读 · 0 评论 -
大数据面试题
Hadoop面试题原创 2021-05-03 14:25:07 · 138 阅读 · 0 评论 -
hadoop面试题
Mapreduce过程map阶段主要分为五个阶段input阶段、map阶段、collect阶段、spill阶段、combine阶段。1.input阶段:客户端将文件分片,发送到jobTracker,jobTracker调用TaskTracker来处理分片数据;在taskTracker中,map任务调用mapper的run方法生成<k,v>键值对,并且把它作为map函数的输入,k就是偏移量,v就是文件一行的内容2.map阶段:将解析出的key、value交给用户写的map()函数处理,并原创 2021-05-03 14:13:33 · 159 阅读 · 0 评论 -
线程池学习
1.线程池处理任务流程:ThreadPollExecutor执行execute()方法:1)如果当前运行的线程少于corePollSize,则创建新的线程来执行任务(需要获取全局锁)2)如果运行的线程数等于或者大于corePollSize,则将任务加入BlockingQueue。3)如果BlockingQueue已满,则创建新的线程来处理任务(需要获取全局锁)4)如果创建的新线程使得当前运行的线程数大于maximumPollSize,任务将被拒绝,并调用RejectedExecutionHand原创 2021-04-04 23:11:24 · 174 阅读 · 0 评论 -
hadoop面试题(一)
1.简述MapReduce整个流程sMapReduce分为两个阶段map和reduce。(1)map阶段1.程序内的Inputformat(默认是TextInputFormat)来读取外部数据,它会调用RecoderReader原创 2021-04-04 18:33:32 · 193 阅读 · 0 评论 -
ThreadLocal源码分析和面试题难点
ThreadLocal是个啥?threadlocal是一个本地的线程变量,解决了多线程之间的数据隔离。在Thread类中有一个threadLocals 字段, 它用来保存该线程本地变量,这样不同的线程就都有自己的threadLocals ,也就是说每个线程拥有自己独立的数据,保证了数据安全。以前老的JDK版本中在ThreadLocal中维护一个大的map,所有的线程都保存到这个map中,体量比较大。在JDK8中,每个线程维护自己的数据,线程销毁,对应的map会被GC回收。在ThreadLocalMap原创 2021-03-22 23:07:01 · 607 阅读 · 0 评论 -
红黑树Java实现
红黑树代码:package b;public class RBTree <K extends Comparable<K>, V> { // 定义颜色 private static final Boolean RED = true; private static final Boolean BLACK = false; // 定义红黑树的根root private RBNode root; public RBNode getRoo原创 2021-03-30 22:55:42 · 205 阅读 · 0 评论 -
Java基础面试题(一)
谈谈你对Synchronized的理解原创 2021-03-23 10:09:45 · 138 阅读 · 0 评论