2023年java高频面试知识点

1. 必须深⼊了解的知识点:

a. java集合数据结构

b. jvm:gc、内存模型、堆分代

c. 多线程:volatile、java.util.concurrent包

d. spring:启动、时间

e. redis:分布式锁、lua保证原⼦性、集群

f. 消息队列:kafka

g. Springcloud

h. mysql搜索引擎,索引B+tree

2. java基础:

a. nio模型

b. java反射

c. java8特性

d. java中有哪些集合?各⾃的数据结构?

e. 说说你⽤过的设计模式

f. jdk以及spring中看过哪些设计模式

3. jvm:

a. jvm结构,以及每⼀部分的作⽤

b. jvm中哪些部分会出现oom,出现的可能原因

c. 哪些对象会被存放到⽼年代?

d. 什么时候触发full gc?

e. GC算法分类

f. 类加载机制以及类加载器,双亲委派机制。

g. ⼀个对象被实例化后,在堆中的流转流程(堆结构以及GC流程)

h. jvm调优,写调优参数。

4. spring:

a. spring bean的⽣命周期

b. 如何实现spring aop?

c. springboot启动流程?

d. Spring中BeanFactory和FactoryBean有什么区别,factorybean原理?

e. spring事件

f. 作⽤域spring,如果是request⽅式,a依赖b,a是单例⽅式,b是request,回怎么样

5. 多线程:

a. 乐观锁、悲观锁

b. 三种分布式锁原理

c. 线程池原理,java有哪⼏种线程池?如何创建?

d. synchronized特性

e. volatile原理

f. Threadlocal

g. ConcurrentHashMap

h. HashMap为何线程不安全

i. java.util.concurrent包下有哪些类?

6. 数据结构:

a. HashMap数据结构?

b. ConcurrentHashMap数据结构(jdk1.7 &1.8)?

c. ⼆叉树、平衡树、红⿊树

d. B-tree、B+tree

e. TreeMap

7. 微服务:

a. 画springcloud⼯作原理图

b. 描述各个组件的作⽤及原理

c. ⼼跳机制

d. 限流⽅法:

e. 服务熔断、降级与隔离的实现原理

f. eureka优缺点

g. dubbo的负载均衡⽅式

8. 数据库:

a. mysql存储引擎有哪些?他们的区别?

b. 数据库隔离级别有哪些,并说下什么是脏读、不可重复读、幻读?

c. 数据库事务的四⼤特性ACID?

d. mysql调优⽅案?

e. 在代码中,我们如何实现事务?

f. 如果在⼀个事务中,代码业务流程很⻓,会有什么问题吗?为什么会出现这种问题?

9. zookeeper:

a. 选举算法

b. 分布式锁实现原理、优缺点

c. 服务发现与移除原理

10. redis:

a. 实现机制

b. 分布式锁,以及要考虑的问题

c. 除了加锁,如何使多个redis命令具有原⼦性(lua脚本)

d. redis持久化的原理

e. 分布式锁,使⽤redis的⽅式,但是redis是集群的,会有不同步的问题,官⽅⽂档是怎么解决的

11. 消息中间件:

a. 常⻅消息中间件的区别

b. kafka的实现原理

c. RabbitMQ消息模型

d. RabbitMQ如何保证消息可靠性

12. 分布式:

a. 介绍⼏种分布式事务,以及优缺点。

b. 分布式服务的原则,什么情况下要使⽤分布式开发。

c. 使⽤⾃增ID和UUID作为主键有什么不同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值