correnthashmap
threadlocal 原理
hashmap
syn 和 lock 的区别,哪个更好?怎么选择?
hashmap 源码,为什么 8 个节点变成红黑树 又为什么到了 6 个节点才恢复为链表?
一开始问有没有见过进程的 Z 状态,没答出来就问了,进程有哪些状态:
答 新建 阻塞 运行 就绪 终结
假设操作系统内存是 4GB,其中有 2.5GB 被 A 进程占用了,操作系统本身占用 0.5GB 内存,
这时候如果 fork 了这个进程,是否能成功,为什么?
终结状态和在操作系统里彻底被回收的区别是什么?
volatile 特性
什么是 happens-before
sync 特性以及和 volatile 的区别
进程通信的方式,哪一种最快?为什么?
线程切换涉及到哪些的切换?
线程唤醒是怎么被唤醒的?
现在的 CAS 写入解决了什么问题?
synchronized 修饰 static 方法以及成员方法的区别(拉跨了 QAQ)
为什么要转换为红黑树
多线程,nio 应用场景。
反射的原理,怎么用的,场景。原理不懂,我觉得可能是虚拟机把类记录了一下,然后就能找到对应的方法和属性了吧。
线程创建方法,多线程使用,怎么停止一个线程。我答了一个 interrupt,其实还有一个 stop。
怎么拼接字符串,StringBuilder 和 StringBuffer 区别
线程有几种实现方式
thread 和 runable 区别
同步锁
静态方法能被继承吗
父类构造函数能被继承吗
重写和重载的区别
返回值可以作为重载的区分标志么
==和 equals 的区别
如果需要保存放入 Map 中的顺序,使用什么数据结构
HashMap 的底层数据结构,如何扩容
ConcurrentHashMap 如何保证线程安全
除了 synchronized 还有什么锁?
换成 ReentrantLock 写一下
写一个死锁(coding)
Callable 怎么用
线程池有哪些,如果执行任务,如何获取执行返回值
volatile 和原子锁你了解的讲一下(煎饼果子来一套)
公平锁和非公平锁是怎么实现的?
线程池说一下你了解的
讲一下你理解的乐观锁和悲观锁
Java 中如何实现乐观锁的?
Java 哪些地方使用了 CAS
ut 操作会发生什么?(捋着源码说一下即可:哈希、哈希冲突、如何插链表、转红黑树条件、扩容)
出现什么情况会导致 HashMap 退化?(频繁 hash 冲突)
什么情况会导致频繁 Hash 冲突(解释了 HashMap 中 Hash 算法的高低异或避免冲突,说了
自定义类没有重写 HashCode 方法,或者 HashCode 方法重写的不好,会导致频繁冲突)
HashMap 如何遍历?顺序可以保持么?
linkedHashMap 如何保持插入顺序的?
TreeMap 怎么用?如何自定义排序规则?
刚才三个 Map 线程安全么?如果想用安全的 Map 怎么办?
ConcurrentHashMap 讲一下你的了解(1.7 分段加锁、1.8 节点加锁、共享扩容等)
说一下了解的 java 的锁
synchronized 原理
锁升级
ObjectMonitor
juc 的 AQS
volatile 内存屏障
Java 的 Hash 表的结构啥样
什么是信号量
进程和线程的区别
进程间通信有哪些方式
线程有哪些状态,以及状态之间的转换
一致性哈希原理
一个接口同时处理多个操作,如何保证原子性(事务
HashTable 底层原理
.java 中的锁分类,定义
5.java 中线程池
6.java 中 hashmap
cas 原理,缓存一致性原理(volatile、synchronized、可见性)
死锁及打破方式;(互斥、请求与保持、循环等待、阻塞;超时、银行家算法)
一致性 Hash 算法详解;(热点分布、2 的 31 个槽、虚拟节点等)
java 是否允许多继承?
不允许,但是可以通过实现多个接口来实现相同的效果。
互斥锁为什么成本比较高
hashtable 和 concurrenthashmap 一定是线程安全的吗?如果 hashtable 获得了 entryset,
然后遍历 entryset,并修改了,会不会产生线程安全问题?(是可以修改 entryset 的,会导
致问题)
list 链表如何实现线程安全,除了加锁以外。?了解一下 fork 和 copyonWriteArrayList
Java 中写出三种线程安全的单例模式。
sychronized 的底层是怎么实现的。
synchronized 的几种状态,以及各自的优缺点,适用场景
讲一下线程池的实现
讲一下 synchronized 和 volatile 的区别
cookie 和 session 的区别,以及可能存在什么安全问题,怎么解决?
了解进程,线程和协程吗?
了解进程间通信的方式么?
死锁导致的原因,以及解决的方式?
创建线程有哪几种方式?优缺点讲一下?
如果让线程只能执行一定的时间,超出时间就认为线程出现异常(使用 callable 的 get
方法,添加超时参数)
countdownlatch 和 cyclicbarrier
生产者消费者模式的使用场景?
线程池存在的意义是什么?即好处是什么?
线程池的池子大小该怎么设计?和哪些因素有关?(CPU 数量,具体什么关系?)
string,string buffer,stringbuilder。(提到了后两个现场安全的差别,引入了下一题)
你对线程安全的理解
问我 hashmap 一堆东西,还有 io 的复用问题
反射怎么理解的?你怎么使用反射
字符集种类,有了 Unicode 为啥还需要 UTF-8,UTF-8 编码原理
String为什么是final的?String的常用方法,你看过String源码呢?我傻啦吧唧的说看过,
subString 原理说一下,
String str=“abc”,堆和常量池中的情况
Error 和 Exception 的区别
线程池用的多吗?让你设计一个线程池如何设计
ThreadLocal 如何使用,ThreadLocal 会产生内存泄露的原因
static 方法可以使用非 static 变量吗?不可以,为什么(不知道,瞎扯)
static 方法是否能被重写
接口和抽象类定义字段的区别
线程安全本质是什么,Java 如何保证线程安全,callable,runnable 有什么区别,线程不正
常终止会发生什么,线程占用的空间具体是哪,是寄存器还是内存还是什么
Java 的线程和 Linux 的线程有什么区别,为什么需要 Java 的线程
volatile 具体实现原理,内存重排序都会发生在哪,为什么要内存重排序
使用过哪些 Java 并发包
简述 BIO,NIO 的具体使用及原理
concurrentHashMap1.8 和之前版本有什么区别,HashMap 的具体实现,红黑树和平衡二叉
树的区别,为什么不用 B+树
ThreadLocal 的具体是怎样的,为什么会有内存泄漏问题,怎样避免
Java 的异常种类有哪些,平时自己是怎么处理异常的
hashmap 的实现讲一下吧。讲一下红黑树的结构,查询性能等。
死锁是怎么产生的
线程和进程的区别
进程的通信方式
CPU 的执行方式
代码中遇到进程阻塞,进程僵死,内存泄漏等情况怎么排查。通过 ps 查询状态,分析
dump 文件等方式排查
JDK 和 JRE 的区别是什么?
final 关键字说一下?
java 中的锁机制说一
说一下 hashmap
如果发生了 hash 冲突怎么办?(hashmap 相当于是用了链地址法,还有其他方法,比如
再 hash,公共溢出区,开放地址法)
concurrentHashmap 的实现
为什么 1.8 中 concurrentHashmap 不用 segment 了
线程池怎么实现复用线程的
多个核心线程去 take 阻塞队列中线程,谁能拿到了?(会答不上来,估计是 CSA 自旋抢
夺吧。。)
线程池中的线程为什么不会被 GC 回收(我回答被线程池引用了,所有不会被 GC,应该
是这样。)
只重写 hashcode,不重写 equals 会有什么问题,equals 本质是什么
32 位和 64 位具体是哪里不同
进程和线程的区别
进程之间,线程之间的通讯方式
一个进程能够创建多少个线程(这个不知道。。)
类不同的类加载器加载同一个类,最后几种类,怎么判断这两个类是不一样的(这个我
不太清楚。。我估计是方法区的标志不同
Java 中 ArrayList 和 linkedList
Hashmap 的实现方式
为什么 Hashmap 不是线程安全的
说一下 hashmap 扩容时的头插法和尾插法的区别,为什么头插***导致循环链表?
Java 中的锁机制介绍一下,重点说了 synchronized、volatile
说一下锁升级、锁粗化等过程
锁升级带来的好处
下面哪些字段不适合做索引,学生表的学号、姓名、性别?
答:性别,在性别上等值查询可能相当于全表扫描还可能要回表,失去了索引的意义
6.如果有 a b 两个字段,按 b 来排序,那应该怎么建索引?理由是什么?
b a,避免排序和回表
10.volatile 特性
11.什么是 happens-before
12.sync 特性以及和 volatile 的区别
13.进程通信的方式,哪一种最快?为什么?
14.线程切换涉及到哪些的切换?
15.线程唤醒是怎么被唤醒的?
HashMap 如何遍历?顺序可以保持么?
linkedHashMap 如何保持插入顺序的?
TreeMap 怎么用?如何自定义排序规则?
刚才三个 Map 线程安全么?如果想用安全的 Map 怎么办?
ConcurrentHashMap 讲一下你的了解(1.7 分段加锁、1.8 节点加锁、共享扩容等)
说一下了解的 java 的锁
synchronized 原理
锁升级
线程池用的多吗?让你设计一个线程池如何设计
8、ThreadLocal 如何使用,ThreadLocal 会产生内存泄露的原因
Java 中 ArrayList 的扩容机制
Java 锁有哪些锁? Lock 和 ReentrantLock 有什么区别? 可重入锁?
9.多线程变量共享怎么操作
11. java 如何解决死锁。(没答上来)
2.服务器 CPU 高怎么排查?可能有什么原因?
3.服务配置多少线程比较合适?
4.java 中有多少同步机制?
5.synchronized 和 ReentrantLock 的区别?使用场景?
6.内存屏障的作用?
7.线程池中,任务队列和拒接策略是怎么使用的?
进程切换的时机有哪些
5.进程发生异常一定会切换吗
6.互斥锁和自旋锁
.java 锁的理解
4.lock 中的方法
5.线程池
6.线程和协程的区别
. object 类中有哪些方法
12. equal 和 hashcode 经典问题(==)、equals 和 hashcode 相等问题
13. final、finally、finalized 的区别
14. map 中哪些类是线程安全的,底层实现
15. threadlocal,能否替换 concurrenthashmap(面试官说可以,安全和性能问题)
16. synchronized 和 reentrantlock 的区别,reen 的底层实现
17. lock
18.2.threadlocal 的使用场景,底层实现
3.java 线程池怎么做到复用的
4.object 中的方法
5.为什么重写了 equal 要重写 hashcode 方法
6.java 中的线程状态(6 种)
7.java 的 enum(枚举)和普通类有什么区别,能否实现接口
8.java 的异常体系(error,exception 一直往下分)
.hashmap 负载因子作用
4.负载因子调小的情景
5.java 中的注解,类型,范围,好处
6.线程池中的参数
7.参数 ThreadFactory 使用在什么时候
8.核心线程数 5 最大线程数 50 队列 20
这个时候来 30 个任务
这个时候在运行的线程数是多少 队列中有多少线程
9.想设计一个线程池刚起来的时候,就达到最大线程数,参数怎么设置
.hashmap 哪些情况线程不安全
5.copyonwritearraylist 的设计思想,是空间换时间吗
synchronized 和 volatile 和 lock 作用、区别
反射,原理和应用
java 线程池常用参数设置
Threadlocal
hashmap 的遍历方式
hashmap 是否线程安全,底层什么实现
concurrenthashmap 底层
说一下并发(和并行的区别)
java 有哪几种线程池
死锁
乐观锁和悲观锁
.sql 语句,数学老师有一个数据成绩表,怎么更新到班主任手里的成绩表
4.HashMap 结构,红黑树特性
7.String 和 StringBuffer
CopyonWriteArrayList 怎么实现的,读不到最新的数据是吧,那如果我想要读到最新的数据
应该怎么做?
hashmap 和 ConcurrentHashMap 底层,1.7 和 1.8put 的区别和锁实现;ConcurrentHashMap
对比 hashtable 有什么劣势?字段锁和 synchronized 比哪里劣势?size 操作上,分段锁需要
每个分段计算之后汇总,时间复杂度高
线程的生命周期有哪几种
数组的特点;
ArrayList 和数组的特点;
Hashmap 底层原理
ConcurrentHashMap
线程的 6 种状态
CAS 算法
Java 实现同步的方法?
18. StringBuffer 和 StringBuilder 的区别
19. sleep 和 wait 的区别
20. synchronized 修饰方法、修饰静态方法有什么不同;
21. HashMap
22.map 有哪些,除了 linkedHashMap
9、TreeMap 和 HashMap 的区别,TreeMap 插入的时间复杂度



