Skip to main content
 Web开发网 » 站长学院 » 浏览器插件

2021年java面试题(十多家公司汇总,3~5年经验)

2021年10月11日5970百度已收录

大家好,我是码仔小新,欢迎关注我的微信公众号【码仔小新】,为你准备了大量编程书籍。

下面是我面试十多家公司汇总的技术面试题,本人java 3年多经验,大家可以参考借鉴。

原创不易,有帮助的话,欢迎点赞分享啊!

一、java集合

hashmap的原理

为什么hashmap 链表长度达到8就转换成红黑树? 当链表长度变短了,会不会换回来?

hashmap 1.8 做了哪些优化?

currenthashmap的原理

如何实现一个阻塞队列

如何实现一个LRU,哪些场景用了LRU?

二、设计模式

设计模式的几个原则

常用的设计模式举例

什么情况下单例会失效

代理模式的实现? 反射的理解?项目中实际使用?

三、数据库

myisam和InnoDB的区别

sql优化有哪些方法?

使用limit分页,当数据量大的情况怎么优化

索引的数据结构

innodb和myisam通过普通索引查找数据的区别

索引结构为什么使用B+树,而不使用平衡二叉树、红黑树

二叉树、平衡二叉树、b树、b+树区别?

索引什么情况下失效?

什么是覆盖索引?

事务的隔离级别?

什么情况下使用行锁?什么情况下使用表锁?

什么情况下行锁升级为表锁?

怎么实现乐观锁?

shardingjdbc 的原理

四、java并发

syschorized跟lock的区别

syschorized锁对象跟锁代码块有什么区别?

synchronized的优化

lock的原理是什么?

平时都用哪些JUC的类

线程池怎么实现的,有哪些参数,原理是什么?

线程池的拒绝策略有哪些?

线程池原理过程为什么不是核心线程、最高线程、阻塞队列?

voliate是否线程安全?为什么?

五、jvm

jvm的内存模型

堆分为什么?

垃圾回收算法有哪些?

cms的原理

G1的原理

什么情况下会发生fullgc

怎么进行jvm调优

类加载过程

类加载器

双亲委派机制

内部静态类是怎么加载?

五、spring

spring aop/ioc的原理

spring ioc 使用到哪些设计模式?

spring mvc的序列化跟反序列化过程

autowired和resource注解的区别

spring bean的加载过程

spring bean的生命周期

spring boot的starter是怎么实现的

六、redis

redis的数据结构有哪些

redis的使用场景

redis的分布式锁怎么实现

redis分布式锁设置的过期时间太短,业务还没执行完怎么处理?

redis的持久化机制

redis的如果删除过期key的?

aof和rdb的区别

aof和rdb文件大小的区别?

什么是缓存穿透,怎么避免?

什么是缓存雪崩?

缓存挂了,系统如何保持可用?

限流算法有哪些?有什么区别?

限流算法的实现?

七、mq

mq的使用场景

消息发送失败如何处理

消息重复消费如何处理

分布式事务如何实现

rocketmq是如何保证消息可靠性?

八、spring cloud

hystrix熔断原理?

eureka如何实现高可用?

eureka跟zookeeper的区别?

评论列表暂无评论
发表评论
微信