BAT大厂高频面试题:Redis+JVM+微服务+并发+Spring+MyBatis

前言:

本文收集整理了各大厂常见面试题N道,你想要的这里都有内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码。

Redis 面试题

1、什么是 Redis?

2、Redis 的数据类型?

3、使用 Redis 有哪些好处?

4、Redis 相比 Memcached 有哪些优势?

5、Memcache 与 Redis 的区别都有哪些?

6、Redis 是单进程单线程的?

7、一个字符串类型的值能存储最大容量是多少?

8、Redis 的持久化机制是什么?各自的优缺点?

9、Redis 常见性能问题和解决方案:

10、redis 过期键的删除策略?

11、Redis 的回收策略(淘汰策略)?

12、为什么 edis 需要把所有数据放到内存中?

13、Redis 的同步机制了解么?

14、Pipeline 有什么好处,为什么要用 pipeline?

15、是否使用过 Redis 集群,集群的原理是什么?

16、Redis 集群方案什么情况下会导致整个集群不可用?

17、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?

18、Jedis 与 Redisson 对比有什么优缺点?

19、Redis 如何设置密码及验证密码?

20、说说 Redis 哈希槽的概念?

(文末附面试答案)

JVM面试题

1、JVM三大性能调优参数,JVM 几个重要的参数

2、JVM调优

3、JVM内存管理,JVM的常见的垃圾收集器,G1垃圾收集器。GC调优,Minor GC ,Full GC 触发条件

4、java内存模型

5、Java垃圾回收机制

6、jvm怎样 判断一个对象是否可回收,怎样的对象才能作为GC root

7、OOM说一下?怎么排查?哪些会导致OOM? OOM出现在什么时候

8、什么是Full GC?GC? major GC? stop the world

9、描述JVM中一次full gc过程。

10、JVM中类加载机制,类加载过程,什么是双亲委派模型?,类加载器有哪些

11、如何判断是否有内存泄露?定位 Full GC 发生的原因,有哪些方式?

12、Java 中都有哪些引用类型?

Spring Cloud 面试题

1、什么是Spring Cloud?

2、使用Spring Cloud有什么优势?

3、服务注册和发现是什么意思?Spring Cloud如何实现?

4、负载平衡的意义什么?

5、什么是Hystrix?它如何实现容错?

6、什么是Hystrix断路器?我们需要它吗?

7、什么是Netflix Feign?它的优点是什么?

8、什么是Spring Cloud Bus?我们需要它吗?

Java 并发编程

1、在 java 中守护线程和本地线程区别?

2、线程与进程的区别?

3、什么是多线程中的上下文切换?

4、死锁与活锁的区别,死锁与饥饿的区别?

5、Java 中用到的线程调度算法是什么?

6、什么是线程组,为什么在 Java 中不推荐使用?

7、为什么使用 Executor 框架?

8、在 Java 中 Executor 和 Executors 的区别?

9、如何在 Windows 和 Linux 上查找哪个线程使用的 CPU 时间最长?

10、什么是原子操作?在 Java Concurrency API 中有哪些原子类(atomic classes)?

11、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?

12、什么是 Executors 框架?

13、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?

14、什么是 Callable 和 Future?

15、什么是 FutureTask?使用 ExecutorService 启动任务。

16、什么是并发容器的实现?

17、多线程同步和互斥有几种实现方法,都是什么?

18、什么是竞争条件?你怎样发现和解决竞争?

19、你将如何使用 thread dump?你将如何分析 Thread dump?16520、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?

Spring 面试题

  1. 谈谈你对spring IOC 和 DI 的理解,它们有什么区别?
  2. BeanFactory接口和 ApplicationContext 接口有什么区
  3. Spring配置 bean 实例化有哪些方式?
  4. 简单的说一下 spring 的生命周期?
  5. 请介绍一下 Spring 框架中 Bean 的生命周期和作用域
  6. Bean 注入属性有哪几种方式?
  7. 什么是 AOP,AOP 的作用是什么?
  8. Spring的核心类有哪些,各有什么作用?
  9. Spring里面如何配置数据库驱动?
  10. Spring里面 applicationContext.xml 文件能不能改成其他 文件名?
  11. Spring里面如何定义 hibernate mapping?
  12. Spring如何处理线程并发问题?
  13. 为什么要有事物传播行为?
  14. 介 绍 一 下Spring的 事物管理
  15. 解释一下Spring AOP里面的几个名词
  16. 通知有哪些类型?

MyBatis 面试题

  1. 什么是Mybatis?
  2. Mybatis的优点:
  3. Mybatis框架的缺点:
  4. Mybatis框架适用场合:
  5. MyBatis与Hibernate有哪些不同?
  6. #{}和${}的区别是什么?
  7. 当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
  8. 模糊查询like语句该怎么写?
  9. 通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理
  10. 是什么?Dao接口里的方法,参数不同时,方法能重载吗?
  11. Mybatis是如何进行分页的?分页插件的原理是什么?
  12. Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
  13. 如何执行批量插入?
  14. 如何获取自动生成的(主)键值?
  15. Mybatis动态sql有什么用?执行原理?有哪些动态sql?
  16. Xml映射文件中,除了常见的select|insert|updae|delete标签之外,还有哪些标签?
  17. Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?
  18. 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
  19. MyBatis实现一对一有几种方式?具体怎么操作的?
  20. MyBatis实现一对多有几种方式,怎么操作的?
  21. Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
  22. Mybatis的一级、二级缓存:
  23. 什么是MyBatis的接口绑定?有哪些实现方式?
  24. 使用MyBatis的mapper接口调用时有哪些要求?
  25. 简述Mybatis的插件运行原理,以及如何编写一个插件。

看完上面的内容,相信大家已经有了清晰的目标与方向,接下来就是查找学习资料了

作为Java开发者而已应当合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

发布了65 篇原创文章 · 获赞 83 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/GYHYCX/article/details/104350322