备战金三银四:2020java面试题分享,请查收

本文收录的面试题包括MySQL、Redis、java、JVM等相关内容。我相信很多人都在计划着跳槽,也或者在等金三银四的到来,请对找工作保持十二分的热情,而且越早准备越好。临时狂背知识点什么的,可能大致的都了解,细问就什么都不知道了,面试京东我也是提前一个月就开始准备了,毕竟不打无准备的仗

一:Java

1. 多个线程同时读写,读线程的数量远远大于写线程,你认为应该如何解决 并发的问题?你会选择加什么样的锁?

 2. JAVA的AQS是否了解,它是干嘛的?

3. 除了synchronized关键字之外,你是怎么来保障线程安全的?

4. 什么时候需要加volatile关键字?它能保证线程安全吗?

5. 线程池内的线程如果全部忙,提交一个新的任务,会发生什么?队列全部 塞满了之后,还是忙,再提交会发生什么?

二、Spring

1. 你有没有用过Spring的AOP? 是用来干嘛的? 大概会怎么使用?

2. 如果一个接⼝有2个不同的实现, 那么怎么来Autowire一个指定的实现?

3. Spring的声明式事务 @Transaction注解x般写在什么位置? 抛出了异常 会自动回滚吗?有没有办法控制不触发回滚?

4. 如果想在某个Bean⽣成并装配完毕后执自己的逻辑,可以什么方式实 现?

5. SpringBoot没有放到web容器里为什么能跑HTTP服务?

三、MySQL

1. 如果有很多数据插⼊MYSQL 你会选择什么方式?

2. 如果查询很慢,你会想到的第一个方式是什么?索引是干嘛的?

3. 如果建了一个单列索引,查询的时候查出2列,会用到这个单列索引吗?

4. 如果建了一个包含多个列的索引,查询的时候只用了第一列,能不能用上 这个索引?查三列呢?

5. 接上题,如果where条件后面带有一个 i + 5 < 100 会使用到这个索引吗?

 6. 怎么看是否用到了某个索引?

四、JVM

1. 你知道哪些或者你们线上使用什么GC策略? 它有什么优势,适用于什么 场景?

2. JAVA类加载器包括几种?它们之间的父子关系是怎么样的?双亲委派机 制是什么意思?有什么好处?

3. 如何自定义一个类加载器?你使⽤过哪些或者你在什么场景下需要一个自 定义的类加载器吗?

4. 堆内存设置的参数是什么?

5. Perm Space中保存什么数据? 会引起OutOfMemory吗?

五、Redis

-- 开发

 1. 缓存穿透可以介绍一下么?你认为应该如何解决这个问题

2. 你是怎么触发缓存更新的?(比如设置超时时间(被动方式), 比如更新的时 候主动update)?如果是被动的方式如何控制多个入口同时触发某个缓存更 新?

3. 你们用Redis来做什么?为什么不用其他的KV存储例如Memcached, Cassandra等?

-- 运维

1. Redis持久化大概有几种方式? aof和rdb的区别是什么? AOF有什么优缺 点吗?

2. Redis Replication的大致流程是什么? bgsave这个命令的执行过程?


最后:

上面都是自己整理好的!我就把资料贡献出来给有需要的人!顺便求一波关注。

学习我们是认真的,拿大厂offer是势在必得的。 java(想了解更多点一下哦)

你可能感兴趣的:(备战金三银四:2020java面试题分享,请查收)