这份面试清单是我17年转管理岗位之后开始整理的,一方面是用来给公司新员工面试一用,另一方面也是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平。虽然我从2014年就开始参加编程工作了,但依旧觉得还有很多东西要学,当然学习的过程也给我带来了很多成就感,这些成就感也推动我学习更多的技术知识。

不多逼逼,上才艺:

消息中间件面试题(RocketMq+ActiveMQ+RocketMq)

  • 什么是 ActiveMQ?
  • ActiveMQ 服务器宕机怎么办?
  • ActiveMQ 中的消息重发时间间隔和重发次数吗?
  • RabbitMQ 上的⼀个 queue 中存放的 message 是否有数量限制?
  • 如何确保消息正确地发送⾄RabbitMQ?
  • 如何保证消息队列高可用?
  • RocketMq是什么?
  • RocketMq逻辑结构

Dubbo服务框架面试题及答案

  • Dubbo 支持哪些协议,每种协议的应用场景,优缺点?
  • Dubbo 超时时间怎样设置?
  • Dubbo 集群的负载均衡有哪些策略 
  • Dubbo 的主要应用场景?
  • Dubbo 的架构设计?
  • Dubbo有些哪些注册中心?
  • Dubbo 的注册中心集群挂掉,发布者和订阅者之间还能通信么?
  • Dubbo 在安全机制方面是如何解决?
  • 等.........

 

Java多线程面试题

  • 什么是线程安全和线程不安全?
  • 什么是原⼦操作?在Java Concurrency API中有哪些原⼦类(atomic classes)?
  • 什么是Executors框架?
  • 什么是FutureTask?
  • ThreadLocal的设计理念与作用?
  • Concurrent包里的其他东西: ArrayBlockingQueue、 CountDownl atch等等。
  • 线程的五个状态(五种状态, 创建、就绪、运行、阻塞和死亡) ?
  • Java中如何获取到线程dump文件?
  • 高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?
  • 线程类的构造⽅法、静态块是被哪个线程调⽤的?
  • ThreadLocal为什么会发生内存泄漏?
  • 等.........

 

Java设计模式面试题

  • ⼯⼚⽅法模式(利⽤创建同⼀接⼝的不同实例)
  • 设计模式的六⼤原则
  • 访问者模式(数据接⼝稳定,但算法易变)
  • 命令模式(实现请求和执⾏的解耦)
  • 责任链模式(多任务形成⼀条链,请求在链上传递)
  • 桥接模式(数据库驱动桥接)
  • 享元模式(共享池、数据库连接池)
  • 装饰模式
  • 原型模式
  • 等.........

 

JVM面试题

  • 内存模型以及分区,需要详细到每个区放什么。
  • 堆里面的分区: Eden, survival (from+ to),老年代,各自的特点。
  • 对象创建方法,对象的内存分配,对象的访问定位。
  • GC的两种判定方法。
  • GC收集器有哪些?CMS收集器与G1收集器的特点。
  • JVM内存分哪几个区,每个区的作用是什么?
  • 如何判断一个对象是否存活?(或者GC对象的判定方法)
  • Java类加载过程?
  • 什么是类加载器,类加载器有哪些?
  • 简述java内存分配与回收策略以及Minor GC和Major GC
  • 等.........

 

MySQL面试题

  • mysql 中 myisam 与 innodb 的区别?
  • mysql 的复制原理以及流程。
  • 以及在 mysql 数据库中索引的工作机制是什么?
  • MySQL 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?
  • [SELECT *]和[SELECT全部字段]的2种写法有何优缺点?
  • MySQL当记录不存在时insert,当记录存在时update,语句怎么写?
  • 请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别
  • TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据
  • MYSQL 数据库服务器性能分析的方法命令有哪些?
  • 等.........

 

Redis面试题

  • Redis 相比 memcached 有哪些优势?
  • Redis 有哪几种数据淘汰策略?
  • 为什么 Redis 需要把所有数据放到内存中?
  • Redis 集群方案应该怎么做?都有哪些方案?
  • MySQL 里有 2000w 数据,Redis 中只存 20w 的数据,如何保证 Redis 中的数据都是热点数据?
  • Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
  • Redis 集群的主从复制模型是怎样的?
  • Redis key 的过期时间和永久有效分别怎么设置?
  • Redis 如何做大量数据插入?
  • 等......

 

Spring全家桶面试指南(spring+Boot+Clound+MVC)

  • 如何使用 Spring Boot 实现分页和排序?
  • Spring Boot 有哪些优点?
  • Spring Boot 中的监视器是什么?
  • 使用 Spring Cloud 有什么优势?
  • 服务注册和发现是什么意思?Spring Cloud 如何实现?
  • 什么是 Netflix Feign?它的优点是什么?
  • Spring MVC 的优点?
  • SpringMVC 流程?
  • SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
  • 使用 Spring 框架的好处是什么?
  • 解释 JDBC 抽象和 DAO 模块
  • ApplicationContext 通常的实现是什么?
  • 等.....

 

Netty面试题

  • BIO、NIO 和 AIO 的区别?
  • 请列举 Nginx 和 Apache 之间的不同点
  • 在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求?
  • 请解释 Nginx 服务器上的 Master 和 Worker 进程分别是什么?
  • 在 Nginx 中,解释如何在 URL 中保留双斜线?
  • 解释如何在 Nginx 中获得当前的时间?
  • NIOEventLoopGroup 源码?
  • Netty 的高性能表现在哪些方面?

 

由于篇幅原因,在这就不做全部展示了,这些题我已经整理成pdf文档免费分享给那些有需要的朋友,同时整理也花费了蛮多时间,有需要的朋友可以私信关键词【面试】即可获取免费领取方式!

 

还20年度最新大厂面试总结哦~