数据结构

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是答案,答案只写了基本思路。