数据结构
1. map的底层存储构造
- 数组、hash抵触后追加链表,链表太长了转红黑树
2. 如何用两个stack实现一个Queue(编码)
3. 用数组实现一个Queue(编码)
JDK语法
1.你怎么了解函数式接口?Function, Supplier,Consumer 如何应用?(可选)
2. String为何是final的?
3. Object有哪些办法?有什么作用?
多线程
1. ConcurrentHashMap线程平安实现机制
- 以前是分段锁(缩小锁抵触)
- 当初是CAS实现
2. jdk中乐观锁有哪些实现
3. 线程池的应用
4. 写出一个死锁(编码)
5.ThreadLocal是什么?有什么须要留神的?
JVM
1. 理解哪些垃圾回收算法,JVM的垃圾回收机制
2. 什么是堆外内存(Direct Memory)(可选)
设计模式
1. 如何初始化单例类
2. 你理解哪些设计模式?你用了哪些设计模式来进步你代码的可维护性?
Spring
1. 你用AOP写过哪些性能
2. 什么是Srping的动静代理?Spring如果决定应用JDK动静那里还是cglib代理
3.Controller和RestController有什么区别
4.
Mysql
1. 什么是索引?主键索引和一般索引有什么区别?
2. 什么是数据库的程度切分和垂直切分?
3. 如何开启一个事务?举个例子,阐明下事务是什么?
4. Mysql的redo log和bin log有什么作用?(可选)
5. Mysql反对JSON类型存储吗?反对索引吗?
6. 你平时是如何对Mysql语句进行优化的?
Redis
1. 长久化机制是怎么样的
2. 集群模式下,getKey操作是如何工作的
3. 如何复用redis链接?
- 应用连接池
如果链接超过肯定工夫就会因网络问题断掉,如何解决?
- 定期革除闲暇的连贯
4. 用过lua脚本吗?怎么用的,每次申请都提交整个脚本吗
5.除了String,你还用过redis的哪些数据类型
- 只须要第一次提交脚本内容时候生成一个sha值,后续每次通过evalSha间接调用
音讯队列(可选)
1. 哪些场景适宜用音讯队列?
2. 什么是ACK机制
3.kafka的消费者组是做什么的(可选)
4.什么是死信队列(可选)
微服务组件(可选)
1. 为什么要用注册核心?
2. 如何实现配置的热更新?
3. nacos实现热更新的机制是什么?
注:
(可选)的题目须要依据应聘人状况酌情考查。
(编码)的题目是编程题。当然只说思路也是能够的
list是答案,答案只写了基本思路。