共计 1004 个字符,预计需要花费 3 分钟才能阅读完成。
数据结构
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 是答案,答案只写了基本思路。
正文完