📚武佳博的知识库

欢迎来到我的知识库🚀

🎯说明:无论你是来学习、查阅还是交流,都希望这里能成为你后端开发之路上的一个有力助手!🌟

Java基础

问: fail-safe机制与fail-fast机制?

答: 测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容 测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容 测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容 测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容 测试回答内容测试回答内容测试回答内容测试回答内容。


问: HashMap是怎么解决哈希冲突的?

答: 测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容 测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容 测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容 测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容测试回答内容 测试回答内容测试回答内容测试回答内容测试回答内容。


问: 请简单说一下你对受检异常和非受检异常的理解?

答:


问: JDK动态代理为什么只能代理有接口的类?

答:


问: 说一下对象的创建过程?

答:


问: new String("abc")到底创建了几个对象?

答:


问: HashMap是如何解决hash冲突的?

答:


问: String、StringBuffer、StringBuilder区别?

答:


问: Integer使用不当导致生产的事故?

答:


问: 可以讲一下ArrayList的自动扩容机制吗?

答:


问: 什么是深拷贝和浅拷贝?

答:


问: HashMap中的hash方法为什么要右移16位异或?

答:


问: HashMap啥时候扩容,为什么扩容?

答:


问: 强引用、软引用、弱引用、虚引用有什么区别?

答:


问: Java有几种文件拷贝方式,哪一种效率最高?

答:


问: 聊聊你知道的设计模式?

答:


问: finally块一定会执行吗?

答:


问: 在Java中实现单例模式有哪些方法?

答:


问: Java SPI是什么?有什么用?

答:


问: Integer和int的区别?Java为什么要设计封装类?(1)

答:


问: Integer a1=100; Integer a2=100; a1==a2的运行结果及原因?

答:


问: HashMap与HashTable区别?

答:


问: Java反射的优缺点?

答:


问: 为什么重写 equals() 就一定要重写 hashCode() 方法?

答:


问: 介绍下策略模式和观察者模式?

答:


问: 谈谈什么是零拷贝?

答:


问: SortedSet和List异同点?

答:


问: 为什么阿里Java手册禁止使用存储过程?

答:


问: 为什么阿里巴巴强制要求使用包装类型定义属性?

答:


多线程

问: 谈谈你对AQS的理解?

答:


问: lock和synchronized区别?

答:


问: 线程池如何知道一个线程的任务已经执行完成?

答:


问: 什么叫做阻塞队列的有界和无界?

答:


问: ConcurrentHashMap底层具体实现原理?

答:


问: 谈一下CAS机制?

答:


问: 死锁的发生原因和怎么避免?

答:


问: wait和notify为什么要在synchronized代码块中?

答:


问: 怎么理解线程安全?

答:


问: 什么是守护线程?

答:


问: AQS为什么采用双向链表?

答:


问: 线程池是如何实现线程复用的?

答:


问: volatile关键字有什么用?

答:


问: ThreadLocal是什么?

答:


问: 基于数组的阻塞队列 ArrayBlockingQueue 原理?

答:


问: 伪共享的概念以及如何避免?

答:


问: 什么是可重入,什么是可重入锁?

答:


问: ReentrantLock的实现原理?

答:


问: 简述一下你对线程池的理解?

答:


问: 如何中断一个正在运行的线程?

答:


问: Synchronized锁升级的原理?

答:


问: 什么是守护线程?

答:


问: ReentrantLock 是如何实现锁公平和非公平性的?

答:


问: 什么是CompletableFuture?

答:


问: 线程状态,BLOCKED和WAITING有什么区别?

答:


问: Thread和Runnable的区别?

答:


问: AQS为什么要使用双向链表?

答:


问: ConcurrentHashMap的size()方法是线程安全的吗?

答:


问: wait和sleep是否会触发锁的释放以及CPU资源的释放?

答:


问: DCL单例模式设计为什么需要volatile修饰实例对象?

答:


问: 讲下线程池的线程回收?

答:


问: 如果一个线程两次调用start(),会出现什么问题?

答:


问: Java官方提供了哪几种线程池,分别有什么特点?

答:


问: 请你说一下你对Happens-Before的理解?

答:


问: 可以说下阻塞队列被异步消费怎么保持顺序吗?

答:


问: 当任务数超过线程池的核心线程数时,如何让它不进入队列?

答:


问: SimpleDateFormat 是线程安全的吗 为什么?

答:


问: 并行和并发有什么区别?

答:


问: 如何解决死锁问题?

答:


问: 为什么ConcurrentHashMap中key不允许为null?

答:


问: ThreadLocal会出现内存泄漏吗?

答:


问: 说一下你对CompletableFuture的理解?

答:


JVM

问: CPU飙高系统反应慢怎么排查?

答:


问: 如何理解双亲委派?

答:


问: JVM如何判断一个对象可以被回收?

答:


问: JVM分代年龄为什么是15次?

答:


问: 一个空Object对象的占多大空间?

答:


问: 什么是Java虚拟机,为什么要使用?

答:


问: JVM 为什么使用元空间替换了永久代?

答:


问: 如何破坏双亲委派模型?

答:


问: JVM 中一次完整的GC 流程是怎样的?

答:


问: 如果发生内存泄漏怎么排查?

答:


问: JVM中的三色标记法是什么?

答:


问: 说一下CMS垃圾回收器的工作原理?

答:


设计模式

保持简洁、清晰,突出重点信息。

算法

问: 什么是时间轮,请你说一下你对时间轮的理解?

答:


问: 什么是令牌桶限流算法?

答:


问: 请你说一下你对滑动窗口算法的理解?

答:


问: 简述雪花算法的实现原理?

答:


问: SkipList的索引过程,能否越两级搜索?

答:


问: 对称加密与非对称加密有什么区别?

答:


问: 敏感数据怎么加解密和传输?

答:


SpringBoot

问: Spring Boot的约定优于配置,你的理解是什么?

答:


问: Spring Boot中自动装配机制的原理?

答:


问: Spring Boot自动装配是什么?

答:


问: SpringBoot如何解决跨域问题?

答:


问: 如何理解Spring Boot中的Starter?

答:


问: @Conditional注解有什么用?

答:


问: Spring 里面的事务和分布式事务的使用如何区分?

答:


问: Spring 中,有两个 id 相同的 bean会报错吗?

答:


问: Spring 中Bean的作用域有哪些?

答:


问: Spring如何解决循环依赖问题?

答:


问: Spring中 BeanFactory和FactoryBean的区别?

答:


问: Spring中事务的传播行为有哪些(B站版)?

答:


问: Spring中事务的传播行为有哪些?

答:


问: Spring中有哪些方式可以把Bean注入到IOC容器?

答:


问: 过滤器和拦截器有什么区别?

答:


问: 说说Spring MVC的执行流程?

答:


问: 说说你对Spring MVC的理解?

答:


问: 为什么要使用Spring 框架?

答:


问: 为什么有些公司禁止使用@Transactional声明式事务?

答:


SpringCloud

问: Seata的理解?

答:


问: Dubbo的服务请求失败怎么处理?

答:


问: Redis和Mysql如何保证数据一致性?

答:


问: 说一说你对Spring Cloud的理解?

答:


问: RPC协议和HTTP协议有什么区别?

答:


问: Dubbo的服务请求失败怎么处理?

答:


问: 说一下你对SPI机制的理解?

答:


问: 什么是服务网格?

答:


问: Dubbo是如何动态感知服务下线的?

答:


问: 简单说一下你对序列化和反序列化的理解?

答:


问: 什么是SPI,它有什么用?

答:


问: Eureka server数据同步原理能说下吗?

答:


问: 说说你对一致性Hash算法的理解?

答:


问: 请说一下你对分布式和微服务的理解?

答:


问: Nacos配置更新的工作流程?

答:


问: 谈谈常用的分布式ID设计方案?

答:


问: Http协议和RPC协议有什么区别?

答:


问: 如何解决TCC中的悬挂问题?

答:


问: 请你说一下你对服务降级的理解?

答:


问: 服务注册中心应该是AP还是CP?

答:


问: 说说你对CAP的理解?

答:


问: 请说一下分布式事务的理解和解决方案?

答:


问: 什么是微服务,说一下你对微服务的理解?

答:


缓存

保持简洁、清晰,突出重点信息。

消息

保持简洁、清晰,突出重点信息。

Zookeeper

问: 实现分布式锁的解决方案中,你认为Zookeeper和Redis哪种更好?

答:


问: Zookeeper和Redis哪种更好?

答:


问: 关于“你对Zookeeper的理解”,看看普通人和高手是如何回答这个问题的?

答:


问: Zookeeper中的Watch机制的原理?

答:


问: Zookeeper如何实现Leader选举?

答:


问: Zookeeper如何实现分布式锁?

答:


问: 谈谈你对Zookeeper的理解?

答:


ElasticSearch

保持简洁、清晰,突出重点信息。

Mybatis

问: Mybatis是如何进行分页的?

答:


问: Mybatis中#{}和${}的区别是什么?

答:


问: 说一说Mybatis里面的缓存机制?

答:


问: MyBatis何时使用一级缓存,何时使用二级缓存?

答:


MySQL

问: InnoDB如何解决幻读?

答:


问: B树和B+树的理解?

答:


问: 为什么一线互联网公司严禁使用存储过程?

答:


问: MySQL中的RR隔离级别,到底有没有解决幻读问题?

答:


问: MySQL是如何解决幻读问题的?

答:


问: 什么是聚集索引和非聚集索引?

答:


问: MySQL的事务隔离级别是什么?

答:


问: Binlog和Redolog有什么区别?

答:


问: 日常工作中怎么优化SQL?

答:


问: MySQL主从集群同步延迟问题怎么解决?

答:


问: MySQL数据库CPU飙升的话,要怎么处理呢?

答:


问: MySQL为什么使用B+Tree作为索引结构?

答:


问: 数据库连接池有什么用?

答:


问: 请说一下MySQL索引的优点和缺点?

答:


问: MySQL事务的实现原理?

答:


问: 说一下你对行锁、临键锁、间隙锁的理解?

答:


问: 索引什么时候失效?

答:


问: MySQL如何解决幻读问题?

答:


问: MySQL中MyISAM和InnoDB引擎的区别?

答:


问: 存储MD5的值应该用VARCHAR还是CHAR?

答:


问: MySQL索引在什么情况下会失效?

答:


问: MVCC过程中会加锁吗?

答:


问: MySQL update 是行锁还是表锁?

答:


问: 为什么SQL语句不要过多的join?

答:


问: 什么情况下不建索引?

答:


问: MySQL的性能调优方法?

答:


微服务

保持简洁、清晰,突出重点信息。

容器和云

保持简洁、清晰,突出重点信息。

DevOps

保持简洁、清晰,突出重点信息。

场景

问: 订单超时自动取消功能如何设计?

答:


问: 怎么理解接口幂等,项目中如何保证的接口幂等?

答:


问: limit 1000000,10 加载很慢该怎么优化?

答:


问: 会员批量过期的方案怎么实现?

答:


问: 什么是幂等?

答:


问: 常见的限流算法有哪些?

答:


问: 说说你对一致性Hash算法的理解?

答:


问: 生产环境服务器变慢,如何诊断处理?

答:


问: 在2G大小的文件中,找出高频top100的单词?

答:


问: 数据量达到多少的时候要开始分库分表?

答:


问: 表数据量大的时候,影响查询效率的主要原因有哪些?

答:


问: 应用程序中存在包冲突的情况下,怎么发现和解决?

答:


问: 如何提升接口的性能?

答:


架构

保持简洁、清晰,突出重点信息。

管理

问: 线程同步的锁、信号量?

答:


问: 线程池核心线程数、最大线程数的区别?

答:


问: 线程池的拒绝策略、队列?

答:


问: 二叉树遍历?

答:


问: 客户访问浏览器页面经过哪些过程?

答:


问: MySQL索引构建、索引的实现、查询优化?

答:


问: 亿级别数据量查询思路?

答:


问: Redis如何保证原子性?

答:


问: 订单系统商品限量、如何保证在高并发的情况下不超卖?

答:


问: 上游系统以csv格式推送千万条数据,发现4条数据未入库,如何快速查找这4条数据?

答:


问: Redis数据结构、使用场景?

答:


问: Redis计数器如何使用,是原子性的吗?

答:


问: Redis在项目中如何应用的?

答:


问: ArrayList和LinkedList的区别?

答:


问: MySQL索引种类,索引什么时候失效?

答:


问: 如何设计并发量500的预购活动的场景?

答:


问: TOC的经验及在里面的角色和职责?

答:


问: 如何应对高并发场景?

答:


问: 项目最高并发量是多少?

答:


问: 二叉树了解吗?

答:


问: Java中原子操作类?

答:


问: 接口响应速度比较慢,如何优化?

答:


问: MySQL索引底层实现原理?

答:


问: MySQL如何减少回表?

答:


问: 慢查询优化过程?

答:


问: 在分布式系统中,想实现一个需求:每半小时只能允许两个用户进行到店预约操作,请问如何实现?

答: