当前位置: 首页 > 后端技术 > Java

Java面试题库

时间:2023-04-01 22:50:00 Java

数据结构1.map底层存储结构数组,hash冲突后加链表,链表太长转红黑树2.如何实现一个Queue(编码)用两个栈3.用数组实现一个QueueQueue(编码)JDK语法1.你是怎么理解函数式接口的?Function、Supplier、Consumer如何使用?(可选)2.为什么String是final的?3、Object有哪些方法?效果如何?多线程1.ConcurrentHashMap线程安全实现机制,以前是分段锁(减少锁冲突),现在是CAS实现2.乐观锁在jdk中有哪些实现3.线程池的使用4.写死锁(coding)5.什么是ThreadLocal?我应该注意什么?JVM1。知道哪些垃圾回收算法,JVM垃圾回收机制2.什么是直接内存(可选)设计模式1.如何初始化一个单例类2.你知道哪些设计模式?您使用了哪些设计模式来提高代码的可维护性?春天1。你用AOP2写过什么函数。Srping的动态代理是什么?如果Spring决定使用JDK动态还有cglib代理3.Controller和RestController有什么区别4.Mysql1.什么是索引?主键索引和普通索引有什么区别?2.什么是数据库水平拆分和垂直拆分?3.如何开始交易?例如,交易是什么?4、Mysql的redolog和binlog的作用是什么?(可选)5、Mysql是否支持JSON类型存储?它支持索引吗?6、你平时是如何优化Mysql语句的?Redis1。什么是持久化机制?2、集群模式下getKey操作是如何进行的?3、如何复用redis链接?如果使用连接池,如果连接超过一定时间,就会因为网络问题而断开。如何处理?定时清除空闲连接4.你用过lua脚本吗?如何使用它?您是否为每个请求提交整个脚本?5、除了String,你用过redis的哪些数据类型?只需要在第一次提交脚本内容的时候生成一个sha值,然后每次直接通过evalSha调用消息队列即可(可选)1、消息队列适用于哪些场景?2、什么是ACK机制?3、Kafka的消费者组是干什么的(选填)4、什么是死信队列(选填)微服务组件(选填)1、为什么要用注册中心?2.如何实现配置热更新?3、nacos实现热更新的机制是什么?注:(选填)题目需根据申请人情况勾选。(编码)主题是一个编程问题。当然,也可以只谈想法。列表就是答案,答案只写了基本思路。