2020面试季即将来袭,你做好准备了吗?

前言:

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

适宜阅读人群:

需要面试的初/中/高级 Java 程序员

想要查漏补缺的人

想要不断完善和扩充自己 Java 技术栈的人

Java 面试官

话不多说直接放题;

Java 基础面试题

  1. JDK 和 JRE 有什么区别?

  2. == 和 equals 的区别是什么?

  3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

  4. final 在 Java 中有什么作用?

  5. Java 中的 Math.round(-1.5) 等于多少?

  6. String 属于基础的数据类型吗?

  7. Java 中操作字符串都有哪些类?它们之间有什么区别?

  8. String str="i"与 String str=new String(“i”)一样吗?

  9. 如何将字符串反转?

  10. String 类的常用方法都有那些?

  11. 抽象类必须要有抽象方法吗?

  12. 普通类和抽象类有哪些区别?

  13. 抽象类能使用 final 修饰吗?

  14. 接口和抽象类有什么区别?

  15. Java 中 IO 流分为几种?

  16. BIO、NIO、AIO 有什么区别

  17. Files的常用方法都有哪些?

MyBatis 面试题
1、什么是 Mybatis?

2、Mybaits 的优点:

3、MyBatis 框架的缺点:

4、MyBatis 框架适用场合:

5、MyBatis 与 Hibernate 有哪些不同?

6、#{}和${}的区别是什么?

7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?

8、 模糊查询 like 语句该怎么写?

ZooKeeper 面试题
ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。

1.zookeeper 负载均衡和 nginx 负载均衡区别

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

3.客户端注册 Watcher 实现

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

5.Zookeeper 对节点的 watch监听通知是永久的吗?为什么不是永久的?

6.zk 节点宕机如何处理?

Dubbo 面试题
Spring Eureka 从开源转变为闭源,Consul 正在崛起,而 Dubbo 又开始重新更新。目前市场上仍有不少公司使用dubbo我们也需要继续学习。

1.为什么要用 Dubbo?

2.默认使用的是什么通信框架,还有别的选择吗?

3.服务调用是阻塞的吗?

4.一般使用什么注册中心?还有别的选择吗?

5.默认使用什么序列化框架,你知道的还有哪些?

6.Dubbo 的整体架构设计有哪些分层?

Spring面试题

1、BeanFactory 和 FactoryBean?

2、Spring IOC 的理解,其初始化过程?

3、BeanFactory 和 ApplicationContext?

4、Spring Bean 的生命周期,如何被管理的?

5、Spring Bean 的加载过程是怎样的?

6、如果要你实现Spring AOP,请问怎么实现?

7、如果要你实现Spring IOC,你会注意哪些问题?

8、Spring 是如何管理事务的,事务管理机制?

9、Spring 的不同事务传播行为有哪些,干什么用的?

10、Spring 中用到了那些设计模式?

11、Spring MVC 的工作原理?

12、Spring 循环注入的原理?

13、Spring AOP的理解,各个术语,他们是怎么相互工作的?

14、Spring 如何保证 Controller 并发的安全?

Netty面试题

1、BIO、NIO和AIO

2、Netty 的各大组件

3、Netty的线程模型

4、TCP 粘包/拆包的原因及解决方法

5、了解哪几种序列化协议?包括使用场景和如何去选择

6、Netty的零拷贝实现

7、Netty的高性能表现在哪些方面

分布式相关面试题

1、Dubbo的底层实现原理和机制

2、描述一个服务从发布到被消费的详细过程

3、分布式系统怎么做服务治理

4、接口的幂等性的概念

5、消息中间件如何解决消息丢失问题

6、Dubbo的服务请求失败怎么处理

7、重连机制会不会造成错误

8、对分布式事务的理解

9、如何实现负载均衡,有哪些算法可以实现?

10、Zookeeper的用途,选举的原理是什么?

11、数据的垂直拆分水平拆分。

12、zookeeper原理和适用场景

13、zookeeper watch机制

14、redis/zk节点宕机如何处理

15、分布式集群下如何做到唯一序列号

16、如何做一个分布式锁

17、用过哪些MQ,怎么用的,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗

18、MQ系统的数据如何保证不丢失

19、列举出你能想到的数据库分库分表策略;分库分表后,如何解决全表查询的问题

20、zookeeper的选举策略

21、全局ID

数据库面试题

1、mysql分页有什么优化

2、悲观锁、乐观锁

3、组合索引,最左原则

4、mysql 的表锁、行锁

5、mysql 性能优化

6、mysql的索引分类:B+,hash;什么情况用什么索引

7、事务的特性和隔离级别

缓存面试题

1、Redis用过哪些数据数据,以及Redis底层怎么实现

2、Redis缓存穿透,缓存雪崩

3、如何使用Redis来实现分布式锁

4、Redis的并发竞争问题如何解决

5、Redis持久化的几种方式,优缺点是什么,怎么实现的

6、Redis的缓存失效策略

7、Redis集群,高可用,原理

8、Redis缓存分片

9、Redis的数据淘汰策略

JVM面试题

1、详细jvm内存模型

2、讲讲什么情况下回出现内存溢出,内存泄漏?

3、说说Java线程栈

4、JVM 年轻代到年老代的晋升过程的判断条件是什么呢?

5、JVM 出现 fullGC 很频繁,怎么去线上排查问题?

6、类加载为什么要使用双亲委派模式,有没有什么场景是打破了这个模式?

7、类的实例化顺序

8、JVM垃圾回收机制,何时触发MinorGC等操作

9、JVM 中一次完整的 GC 流程(从 ygc 到 fgc)是怎样的

10、各种回收器,各自优缺点,重点CMS、G1

11、各种回收算法

12、OOM错误,stackoverflow错误,permgen space错误

RabbitMQ面试题

  1. RabbitMQ 的使用场景有哪些?

  2. RabbitMQ 有哪些重要的角色?

  3. RabbitMQ有哪些重要的组件?

  4. RabbitMQ中 VHost 的作用是什么?

  5. RabbitMQ的消息是怎么发送的?

  6. RabbitMQ怎么保证消息的稳定性?

  7. RabbitMQ 怎么避免消息丢失?

  8. 要保证消息持久化成功的条件有哪些?

  9. RabbitMQ 持久化有什么缺点?

  10. RabbitMQ有几种广播类型?

  11. RabbitMQ怎么实现延迟消息队列?

  12. RabbitMQ集群有什么用?

  13. RabbitMQ节点的类型有哪些?

  14. RabbitMQ集群搭建需要注意哪些问题?

  15. RabbitMQ每个节点是其他节点的完整拷贝吗?为什么?

  16. RabbitMQ集群中唯一一个磁盘节点崩溃了会发生什么情况?

  17. RabbitMQ对集群节点停止顺序有要求吗?

Kafka面试题

  1. Kafka 可以脱离 ZooKeeper 单独使用吗?为什么?

  2. Kafka有几种数据保留的策略?

  3. Kafka同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候Kafka 将如何处理?

  4. 什么情况会导致 Kafka 运行变慢?

  5. 使用 Kafka 集群需要注意什么?

以上内容都是我自己的一些感想,分享出来欢迎大家指正
在这里插入图片描述
在这里插入图片描述

发布了19 篇原创文章 · 获赞 7 · 访问量 6456

猜你喜欢

转载自blog.csdn.net/ZYQZXF/article/details/104413380
今日推荐