2024金三银四必备:Java后端开发面经整理【35个技术栈合集

  1. mysql_fetch_array 和 mysql_fetch_object 的区别是什么?

  2. 什么是通用 SQL 函数?

  3. MySQL 里记录货币用什么字段类型好

  4. MySQL 有关权限的表都有哪几个?

  5. MySQL 数据库作发布系统的存储,一天五万条以上的增量, 预计运维三年,怎么优化?

七、Tomcat面试专题

============

  1. tomcat 有哪几种Connector 运行模式(优化)?

  2. Tomcat有几种部署方式?

  3. Tomcat的缺省端口是多少,怎么修改?

  4. tomcat 如何优化?

  5. tomcat容器是如何创建servlet类实例?用到了什么原理?

  6. 垃圾回收策略调优

  7. 共享session处理

  8. 内存调优

  9. 专业点的分析工具有

  10. 添加JMS远程监控

  11. 打印类的加载情况及对象的回收情况

  12. 关于Tomcat的session数目

  13. 监视Tomcat的内存使用情况

  14. .Tomcat工作模式?

  15. get方式和post方式有何区别

  16. Servlet相关 API

  17. 什么是cookie?Session和cookie有什么区别?

八、zookeeper面试专题

===============

  1. ZooKeeper和dubbo的区别?

  2. ZooKeeper是什么?

  3. ZooKeeper 提供了什么?

  4. 说说Zookeeper 文件系统:

  5. Zookeeper的java客户端都有哪些?

  6. 说说ZAB协议?

  7. 四种类型的数据节点 Znode

  8. Zookeeper Watcher 机制 – 数据变更通知

  9. Zookeeper节点宕机如何处理?

  10. Zookeeper的典型应用场景?

  11. 服务端处理 Watcher 实现

  12. ACL 权限控制机制

  13. 客户端回调 Watcher

  14. 服务器角色

  15. 说一下Zookeeper Watcher机制

  16. 服务端处理Watcher的流程?

  17. 客户端回调 Watcher流程?

  18. 客户端注册Watcher的流程?

  19. 说说ACL权限控制机制?

  20. Zookeeper 下 Server 工作状态

  21. zookeeper 是如何保证事务的顺序一致性的?

  22. 分布式集群中为什么会有 Master?

  23. 集群最少要几台机器,集群规则是怎样的?

  24. 集群支持动态添加机器吗?

  25. chubby 是什么,和 zookeeper 比你怎么看?

  26. ZAB 和 Paxos 算法的联系与区别?

由于篇幅有限,获取完整面试题和答案解析点击传送门 即可!!

九、消息中间件面试专题

===========

  1. activemq 如果数据提交不成功怎么办?

  2. activemq 的几种通信方式:

  3. 如何解决消息重复问题

  4. activeMQ 发送消息的方式有哪些?

  5. 大量的消息每页被消费,能否发生 oom 异常?

  6. 消息通信的基本方式有哪两种?分别是哪些?

  7. 什么是死信队列?

  8. activeMQ 如何调优

  9. Basic.Reject 的用法是什么?

  10. 为什么不应该对所有的 message 都使用持久化机制?

  11. 向不存在的 exchange 发 publish 消息会发生什么?

  12. 为什么 heavy RPC 的使用场景下不建议采用 disk node ?

  13. 向不存在的exchange 发 publish 消息会发生什么?

  14. queue 执行 consume 动作会发生什么?

  15. 什么情况下 producer 不主动创建 queue 是安全的?

  16. “dead letter”queue 的用途?

十、Dubbo面试(上)

============

1、Dubbo 支持哪些协议,每种协议的应用场景,优缺点?

  • dubbo:

  • rmi:

  • webservice:

  • http:

  • hessian:

  • memcache:

  • redis:

2、Dubbo 超时时间怎样设置?有几种设计方式?

3、Dubbo 集群的负载均衡有哪些策略 ?

4、Dubbo 提供了哪些常见的集群策略实现?

5、Dubbo 是什么?

6、Dubbo 的主要应用场景?

7、Dubbo 的核心功能?

8、Dubbo 的架构设计?

9、Dubbo 框架设计一共划分了 10 个层,每个对应的作用是?

  • 服务接口层(Service)

  • 配置层(Config)

  • 服务代理层(Proxy)

  • 服务注册层(Registry)

  • 集群层(Cluster)

  • 监控层(Monitor)

  • 远程调用层(Protocol)

  • 信息交换层(Exchange)

  • 网络传输层(Transport)

十一、Dubbo面试专题(下)

===============

  1. dubbo 服务负载均衡策略?

  2. Dubbo 中 zookeeper 做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?

  3. dubbo 连接注册中心和直连的区别?

  4. dubbo 服务集群配置(集群容错模式)

  5. Dubbo 在安全机制方面是如何解决的

  6. dubbo 通信协议 dubbo 协议为什么要消费者比提供者个数多:

  7. dubbo 通信协议 dubbo 协议为什么不能传大包:

  8. . RMI 协议

  9. dubbo 通信协议 dubbo 协议为什么采用异步单一长连接:

  10. dubbo 通信协议 dubbo 协议适用范围和适用场景

  11. Hessian 协议

  12. Webservice

  13. Thrif

十二、MongoDB面试专题

==============

  1. MySQL 与 MongoDB 之间最基本的差别是什么?

  2. NoSQL 数据库有哪些类型?

  3. 为什么要使用和不使用NoSQL 数据库?

  4. 说一说 NoSQL 数据库的几个优点?

  5. 你说的 NoSQL 数据库是什么意思?

  6. NoSQL 与 RDBMS 直接有什么区别?

  7. 你怎么比较 MongoDB、CouchDB 及 CouchBase?

  8. 32 位系统上有什么细微差别?

  9. MongoDB 成为最好 NoSQL 数据库的原因是什么?

  10. 如果用户移除对象的属性,该属性是否从存储层中删除?

  11. 允许空值 null 吗?

  12. 分析器在 MongoDB 中的作用是什么?

  13. 更新操作立刻 fsync 到磁盘?

  14. 为什么我的数据文件如此庞大?

  15. 如何执行事务/加锁?

  16. 启用备份故障恢复需要多久?

  17. 我必须调用 getLastError 来确保写操作生效了么?

  18. 分片(sharding)和复制(replication)是怎样工作的?

  19. 数据在什么时候才会扩展到多个分片(shard)里?

  20. 我可以把 moveChunk 目录里的旧文件删除吗?

十三、mysql面试专题

============

  1. MySQL由哪些部分组成, 分别用来做什么?

  2. MySQL查询缓存有什么弊端, 应该什么情况下使用?

  3. 8.0版本对查询缓存有什么变更?

  4. 做过哪些MySQL索引相关优化

  5. MySQL事务的隔离级别, 分别有什么特点?

  6. MyISAM和InnoDB的区别有哪些?

  7. 一千万条数据的表, 如何分页查询?

  8. 做过哪些MySQL索引相关优化?

  9. 订单表数据量越来越大导致查询缓慢, 如何处理?

十四、RabbitMQ消息中间件面试专题

====================

1、RocketMq是什么?

2、RocketMq有什么功能?

3、RoctetMq的架构有哪些组成?对应的功能是哪些?

  • NameServer

  • Broker

  • Producer生产者

  • Consumer消费者

4、消息的可用性

5、负载均衡

6、解耦、异步、削峰是什么?

7、消息队列有什么缺点

8、Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?

9、MQ 有哪些常见问题?如何解决这些问题?

10、RabbitMQ基本概念

11、RabbitMQ的工作模式

12、如何保证RabbitMQ消息的顺序性?

13、如何保证RabbitMQ消息的可靠传输?

十五、Redis面试题(上)

==============

  1. 什么是 Redis?

  2. 简述它的优缺点?

  3. Redis 与 memcached 相比有哪些优势?

  4. Redis 的数据类型?

  5. Redis 相比Memcached 有哪些优势?

  6. Redis 有哪些适合的场景?

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

  8. Redis 集群最大节点个数是多少?

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

  10. Redis 常见性能问题和解决方案:

  11. Redis 的回收策略

  12. redis 过期键的删除策略?

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

  14. 是否使用过 Redis 集群,集群的原理是什么?

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

  16. Redis 如何设置密码及验证密码?

  17. Redis 集群会有写操作丢失吗?为什么?

  18. 怎么理解 Redis 事务?

  19. Redis 如何做内存优化?

  20. 都有哪些办法可以降低 Redis 的内存使用情况呢?

  21. 一个 Redis 实例最多能存放多少的 keys?List、Set、SortedSet 他们最多能存放多少元素?

  22. Redis 最适合的场景?

十六、Redis面试专题(下)

===============

  1. Redis 的全称是什么?

  2. Redis 主要消耗什么物理资源?

  3. Redis 有哪几种数据淘汰策略?

  4. 为什么 Redis 需要把所有数据放到内存中?

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

  6. Redis 和 Redisson 有什么关系?

  7. 说说 Redis 哈希槽的概念?

  8. Redis 集群的主从复制模型是怎样的?

  9. Redis 集群之间是如何复制的?

  10. Redis 集群会有写操作丢失吗?为什么?

  11. 怎么测试 Redis 的连通性?

  12. Redis 事务相关的命令有哪几个?

  13. Redis 回收进程如何工作的?

  14. 为什么要做 Redis 分区?

  15. 你知道有哪些 Redis 分区实现方案?

  16. Redis 持久化数据和缓存怎么做扩容?

  17. Twemproxy 是什么?

  18. Redis 的内存占用情况怎么样?

  19. 查看 Redis 使用情况及状态信息用什么命令?

  20. Redis 是单线程的,如何提高多核 CPU 的利用率?

十七、SpringCloud面试专题

==================

  1. 为什么需要学习Spring Cloud

  2. 什么是微服务架构?

  3. 使用 Spring Cloud 有什么优势?

  4. Spring Cloud 如何实现?

  5. 服务注册和发现是什么意思?

  6. 什么是 Hystrix?它如何实现容错?

  7. 负载平衡的意义什么?

  8. SpringCloud的缺点?

  9. SpringBoot和SpringCloud的区别?

  10. Spring Cloud和SpringBoot版本对应关系

  11. 使用 Spring Boot 开发分布式微服务时,我们面临什么问题?

  12. 什么是Eureka

  13. Eureka和ZooKeeper都可以提供服务注册与发现的功能,请说说两个的区别!

  14. 既然Nginx可以实现网关?为什么还需要使用Zuul框架?

  15. 什么是 Netflix Feign?它的优点是什么?

  16. 什么是 Spring Cloud Bus?我们需要它吗?

  17. Ribbon是什么?

  18. Nginx与Ribbon的区别?

  19. 什么是断路器

  20. 谈谈服务雪崩效应

  21. 服务雪崩效应产生的原因

  22. 谈谈服务降级、熔断、服务隔离

  23. 什么是 Spring Cloud Bus?

  24. 分布式配置中心的作用?

十九、并发编程面试专题

===========

  1. 什么是Synchronized?

  2. 你用过Synchronized吗?原理是什么?

  3. 如确定对 象的锁 ?

  4. 现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?

  5. 在 java 中 wait 和 sleep 方法的不同?

  6. 用 Java 写代码来解决生产者——消费者问题。

  7. 什么是原子操作,Java 中的原子操作是什么?

  8. JVM 对 Java 的 原 生 锁 做 了 哪 些 优 化 ?

  9. 为 什 么 说 Synchronized 是 一 个 悲 观 锁 ?

  10. 为 什 么 说 Synchronized 是 非 公 平 锁 ?

  11. 什 么 是 锁 消 除 和 锁 粗 化 ?

  12. 乐 观 锁 的 实 现 原 理由 是 什 么 ? 什 么 是 CAS, 它 有 什 么 特 性 ?

  13. 跟 Synchronized 相 比 , 可 重 入 锁 ReentrantLock 其 实 现原 理 有 什 么 不 同 ?

  14. 那 么 请 谈 谈 AQS 框 架:

  15. Synchronized 和 ReentrantLock的 异 同?

  16. 除 了 ReetrantLock, 你 还 接 触 过 JUC 中 的 哪 些 并 发 工 具 ?

  17. 如 何 让 Java 的 线 程 彼 此 同 步 ? 你 了 解 过 哪 些 同 步 器 ? 请 分 别介 绍 下 !

  18. Java 中 的 线 程 池 是 如 何 实 现 的 ?

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

  20. Java 中你怎样唤醒一个阻塞的线程?

  21. 你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?

由于篇幅有限,获取完整面试题和答案解析点击传送门 即可!!

二十、开源框架面试专题

===========

  1. Spring Bean 的生命周期

  2. Spring IOC 如何实现?

  3. BeanFactory 和 ApplicationContext 有什么区别?

  4. 动态代理(cglib 与 JDK)

  5. Spring AOP 实现原理

  6. Spring 事务实现方式

  7. 说说 Spring AOP

  8. 如何自定义注解实现功能

  9. Spring MVC 启动流程

  10. Spring 框架中用到了哪些设计模式

  11. 原生的 NIO 在 JDK 1.7 版本存在 epoll bug

  12. Netty 线程模型

  13. Netty 内部执行流程

二十一、ActiveMQ消息中间件面试专题

=====================

  1. 你用过ActiveMQ消息中间件吗?

  2. ActiveMQ的原理是什么?

  3. ActiveMQ 服务器宕机怎么办?

  4. 丢消息了怎么办?

  5. 解释一下什么叫死信队列

  6. 持久化消息非常慢怎么办?

  7. 消息的不均匀消费

  8. ActiveMQ 中的消息重发时间间隔和重发次数吗?

二十二、Java基础面试题

=============

  1. Java 语言有哪些特点?

  2. 什么是Java?

  3. 何为编程?

  4. Jdk和Jre和JVM的区别

  5. 什么是字节码?

  6. 采用字节码的最大好处是什么?

  7. 应用程序和小程序的主类有何不同?

  8. 什么是Java程序的主类?

  9. Java和C++的区别?

  10. Java应用程序与小程序之间有那些差别?

  11. Java有哪些数据类型

  12. Oracle JDK 和 OpenJDK 的对比

  13. 用最有效率的方法计算 2 乘以 8:

  14. Java语言采用何种编码方案?有何特点?

  15. &和&&的区别?

  16. Java 有没有 goto?

  17. fifinal fifinally fifinalize区别?

  18. this与super的区别

  19. super关键字的用法

  20. static的独特之处

  21. static存在的主要意义

  22. static注意事项

  23. 在 Java 中,如何跳出当前的多重嵌套循环

  24. 面向对象三大特性?

  25. 面向对象五大基本原则是什么?

  26. 抽象类和接口的对比:

27、普通类和抽象类有哪些区别?

28、成员变量与局部变量的区别有哪些?分别有哪些特点?

  • 作用域

  • 存储位置

  • 生命周期

  • 初始值

29、构造方法有哪些特性?

30、静态变量和实例变量区别

二十三、Kafka面试专题

=============

1、kafka集群架构图

2、kafka的基础概念是?

3、Partition (分区)有什么用?

4、分片规则

5、Rebalance

6、Rebalace 流程

7、如何避免 Rebalance

8、高性能, 高吞吐、分区的原因?

9、Kafka 的设计时什么样的呢?

10、Kafka 判断一个节点是否还活着有那两个条件?

11、数据传输的事物定义有哪三种?

12、producer 是否直接将数据发送到 broker 的 leader(主节点)?

13、Kafka 消息是采用 Pull 模式,还是 Push 模式?

14、Kafa consumer 是否可以消费指定分区消息?

15、Kafka 与传统消息系统之间有三个关键区别

16、Kafka 高效文件存储设计特点:

17、Kafka 的消费者如何消费数据

18、消费者负载均衡策略

19、kafaka 生产数据时数据的分组策略

二十四、memcached面试专题

=================

  1. 什么是memcached?

  2. memcached 是怎么工作的?

  3. memcached优势是啥?

  4. memcached 和 MySQL 的 query cache 相比,有什么优缺点?

  5. memcached 和服务器的 local cache(比如 PHP 的 APC、mmap 文件等)相比,有什么优缺点?

  6. memcached 如何实现冗余机制?

  7. memcached 的 cache 机制是怎样的?

  8. 如何将 memcached 中 item 批量导入导出?

  9. memcached 如何处理容错的?

  10. 我需要把 memcached 中的 item 批量导出导入,怎么办?

  11. memcached 对 item 的过期时间有什么限制?

  12. memcached 能接受的 key 的最大长度是多少?

  13. 为什么单个 item 的大小被限制在 1M byte 之内?

二十五、ElasticSearch面试题

====================

  1. 说说你对ElasticSearch的理解

  2. 说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段

  3. 查询调优

  4. 设计阶段调优

  5. elasticsearch 的倒排索引是什么

  6. 动态索引层面

  7. elasticsearch 索引数据多了怎么办,如何调优,部署?

  8. 部署层面

  9. 详细描述一下 Elasticsearch 索引文档的过程

  10. elasticsearch 是如何实现 master 选举的

  11. 详细描述一下 Elasticsearch 搜索的过程?

  12. lucence 内部结构是什么?

  13. Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

  14. 详细描述一下 Elasticsearch 索引文档的过程。

  15. Elasticsearch是一个高度可伸缩的开源全文搜索和分析引擎。它

  16. 是否了解字典树?

  17. 详细描述一下 Elasticsearch 搜索的过程:

  18. Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

二十六、MySQL性能优化的21个最佳实践

=====================

  1. 如何为了查询缓存而优化你的查询?

  2. 当只要一行数据时使用 LIMIT 1的时候

  3. EXPLAIN 你的 SELECT 查询

  4. 为搜索字段建索引

  5. 千万不要 ORDER BY RAND()

  6. 在 Join 表的时候使用相当类型的例,并将其索引

  7. 永远为每张表设置一个 ID

  8. 使用 ENUM 而不是 VARCHAR

  9. 避免 SELECT *

  10. 尽可能的使用 NOT NULL

  11. 从 PROCEDURE ANALYSE() 取得建议

  12. 如何做到无缓冲的查询?

  13. 垂直分割

  14. 拆分大的 DELETE 或 INSERT 语句

  15. Heap 表是什么?

  16. Mysql 的技术特点是什么?

  17. 与 Oracle 相比,Mysql 有什么优势?

  18. Mysql 服务器默认端口是什么?

  19. 在 Mysql 中 ENUM 的用法是什么?

  20. TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?

  21. 如何使用 Unix shell 登录 Mysql?

  22. MYSQL 数据库服务器性能分析的方法命令有哪些?

  23. MyISAM Static 和 MyISAM Dynamic 有什么区别?

  24. 一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,

再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?

(1)如果表的类型是 MyISAM,那么是 18

因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大

ID 也不会丢失

(2)如果表的类型是 InnoDB,那么是 15

InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进行

OPTIMIZE 操作,都会导致最大 ID 丢失

由于篇幅有限,获取完整面试题和答案解析点击传送门 即可!!

二十七、SpringMVC面试专题

=================

  1. 简单介绍下你对Spring MVC的理解?

先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以扫码领取!

img

最后

由于篇幅原因,就不多做展示了
表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进行

OPTIMIZE 操作,都会导致最大 ID 丢失

由于篇幅有限,获取完整面试题和答案解析点击传送门 即可!!

二十七、SpringMVC面试专题

=================

  1. 简单介绍下你对Spring MVC的理解?

先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-z5Utbgkc-1711191126532)]

[外链图片转存中…(img-E9tMwr5e-1711191126532)]

[外链图片转存中…(img-hGEZUzv0-1711191126533)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以扫码领取!

img

最后

[外链图片转存中…(img-5q3380Nz-1711191126533)]

[外链图片转存中…(img-RzV0VnqP-1711191126533)]

[外链图片转存中…(img-f0CLLemH-1711191126534)]

[外链图片转存中…(img-cdy2kPcC-1711191126534)]

[外链图片转存中…(img-su4KtlJh-1711191126534)]

[外链图片转存中…(img-mQVwnkK3-1711191126534)]

由于篇幅原因,就不多做展示了
需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值