基础
- Java有哪些数据类型?
- == 和 equals 的区别是什么?
- int 和 Integer 有什么区别?
- java 中操作字符串都有哪些类?它们之间有什么区别?
- 如何将字符串反转?
- String 类的常用方法都有那些?
- 你重写过 hashcode 和 equals 么,为什么重写 equals 时必须重写 hashCode 方法?
- IO流的分类?
- BIO、NIO、AIO 有什么区别?
- 反射的理解?
- 反射涉及到几个核心类?
- list、set、map的区别?
- list、Map、Set接口常用实现?
- 除了vector能实现线程安全list?
- synchronized和Lock区别?
- Arraylist 与 LinkedList 异同?
- HashMap的底层实现?如何解决hash冲突?
- 能否使用任何类作为 Map 的 key?
- 为什么HashMap中String、Integer这样的包装类适合作为K?
- 线程安全的map?
- Java8新特性?
- 函数式接口是什么?常用函数式接口?
- Stream接口?
多线程
- 重排序是什么?如何避免?
- volatile关键字的作用?
- 说说自己是怎么使用 synchronized 关键字?
- Java 中新的Lock接口相对于同步代码块(synchronized block)有什么优势?
- 如果让你实现一个高性能缓存,支持并发读取和单一写入,你如何保证数据完整性?
- 如何在Java中实现一个阻塞队列?
- 写一段死锁代码。说说你在Java中如何避免线程死锁?
- 创建线程的几种方式?
- 什么是 FutureTask?
- 为什么要用线程池?
- 构建线程池的几种方式?
- 实现Runnable接口和Callable接口的区别?
- 执行execute()方法和submit()方法的区别是什么呢?
- 守护线程和用户线程有什么区别呢?
- sleep() 和 wait() 有什么区别?
- 线程的 sleep()方法和 yield()方法有什么区别?
- 调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?
- 线程池都有哪些状态?
- ThreadLocal 是什么?有哪些使用场景?
- 怎么保证多线程的运行安全?
spring
- 什么是 ioc?
- 什么是 依赖注入?
- spring常用的注入方式有哪些?
- 什么是 aop?
- 项目中使用到的AOP的地方?
- AOP具体使用实现流程?
- AOP原理?
- 动态代理?
- BeanFactory与FactoryBean?
- spring支持几种bean的作用域?
- spring 自动装配 bean 有哪些方式?
- @Autowired和@Resource之间的区别?
- 说一下spring的事务?
- Spring的事务传播行为?
- 事务隔离级别?
- ApplicationContext是什么?通常的实现是什么?
- @Component 和 @Bean 的区别是什么?
- 说一下spring mvc 运行流程?
- Spring MVC常用的注解有哪些?
SpringCloud
- Spring Cloud 核心组件?
- Spring Cloud 与 Dubbo 对比?
- Eureka和ZooKeeper区别?
- 网关能做什么以及网关核⼼逻辑?
- Nginx与Ribbon的区别?
- Ribbon负载均衡策略?
- Ribbon负载均衡的注解是?
- 什么是服务熔断?
- 什么是服务降级?
- 断路器Hystrix的有哪些功能?
- 启动熔断降级服务的注解?
- Hystrix雪崩效应解决方案?
- 什么是Feign?
- Feign优点?
- Hystrix和Sentinel的区别?
- 服务注册和发现是什么意思?Spring Cloud 如何实现?
- 微服务rpc远程服务调用最核心的是什么?
- 什么是 Spring Cloud Bus?我们需要它吗?
Redis
- 说一下对Redis的理解?
- Redis的数据类型有哪些?
- Redis应用场景?
- 分布式锁怎么实现?
- 乐观锁怎么实现?
- Session⼀致性怎么解决?
- 说一下对缓存的理解?
- 如何保证redis中的数据都是热点数据?
- Redis缓存穿透,缓存击穿,缓存雪崩以及解决方案?
- Redis缓存和MySQL数据⼀致性的解决方案?
- Redis并发竞争key的解决方案?
- 如何保存redis的高可用性?
- 哨兵模式?
- Redis为什么是单线程、及⾼并发快的原因?
- Redis持久化方式?
RabbitMQ
- RabbitMQ能做什么?
- RabbitMQ中的角色有哪些?
- RabbitMQ常用的交换器类型?
- RabbitMQ工作流程?
- RabbitMQ的工作模式?
- 如何保证消息不被重复消费?
- 如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息?
- 怎么避免消息丢失?
Mysql
- 三大范式?
- 经常使用的聚合函数?
- varchar与char有什么区别?
- mysql 的内连接、左连接、右连接有什么区别?
- 什么是脏读?幻读?不可重复读?
- 什么是事务的隔离级别?MySQL的默认隔离级别是什么?
- MySQL都有哪些锁呢?
- 行锁是怎么实现的?
- 索引的类型?
- 索引的结构?
- 创建索引的原则?
- 索引分析与优化?
- 什么是回表查询?
- 什么是索引覆盖?
- 如何判断是否为慢查询?
- 如何判断是否应用了索引?
- Mysql优化有哪些?