写点什么

2022 年金三银四 Java 面试宝典,横扫社招 + 春招 + 秋招

作者:想没想明白
  • 2022 年 4 月 09 日
  • 本文字数:2436 字

    阅读完需:约 8 分钟

前言

回顾多灾多难的 2021 年,新冠疫情持续肆虐全球,疫情确诊曲线起伏跌宕,由此引发一系列事件:经济萎缩、 财政刺激、疫苗研发、经济复苏等等。无不牵动着市场的神经。“后疫情时代”将重新定义 2022 年,新旧交接之际,把握机遇。珍惜当下。关于面试,特整合了 Java 面试题,希望对找工作、跳槽的小伙伴有所帮助。总之一句话越基础的东西越重要,很多人认为自己会用它们写代码了,其实仅仅是知道如何调用 api 而已,离会用还差的远。互联网发展迅速的时代,只能跟上时代的进步,才不会被淘汰。

Java 基础

1、List 和 Set 的区别。

2、HashSet 是如何保证不重复的?

3、HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)?

4、HashMap 的扩容过程。

5、HashMap1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?

6、final finally finalize。

7、强引用 、软引用、 弱引用、虚引用。

8、Java 反射。

9、Arrays.sort 实现原理和 Collection 实现原理。

10、LinkedHashMap 的应用。

11、cloneable 接口实现原理。

12、wait 和 sleep 的区别。

13、数组在内存中如何分配?

Java 并发

1、synchronized 的实现原理以及锁优化?

2、volatile 的实现原理?

3、Java 的信号灯?

4、synchronized 在静态方法和普通方法的区别?

5、怎么实现所有线程在等待某个事件的发生才会去执行?

6、CAS?CAS 有什么缺陷,如何解决?

7、synchronized 和 lock 有什么区别?

8、Hashtable 是怎么加锁的 ?

9、HashMap 的并发问题?

10、ConcurrenHashMap 介绍?1.8 中为什么要用红黑树

11、AQS 简述。

12、如何检测死锁?怎么预防死锁?

框架

看过哪些开源框架的源码

为什么要用 Redis,Redis 有哪些优缺点?Redis 如何实现扩容?

Netty

是如何使用线程池的,为什么这么使用

为什么要使用 Spring,Spring 的优缺点有哪些

Spring 的 IOC 容器初始化流程

Spring 的 IOC 容器实现原理,为什么可以通过 byName 和 ByType 找到 Bean

Spring AOP 实现原理

消息中间件是如何实现的,技术难点有哪些



JVM

1.JVM 的内存结构。

2.JVM 方法栈的工作过程,方法栈和本地方法栈有什么区别?

3.JVM 的栈中引用如何和堆中的对象产生关联。

4.可以了解一下逃逸分析技术。

5.GC 的常见算法,CMS 以及 G1 的垃圾回收过程,CMS 的各个阶段哪两个是 Stop the world 的,CMS 会不会产生碎片,G1 的优势。

6.标记清除和标记整理算法的理解以及优缺点。

7.eden survivor 区的比例,为什么是这个比例,eden survivor 的工作过程。

8.JVM 如何判断一个对象是否该被 GC,可以视为 root 的都有哪几种类型?

9.强软弱虚引用的区别以及 GC 对他们执行怎样的操作?

10.Java 是否可以 GC 直接内存。

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 中用到了那些设计模式?

SpringBoot-Spring Cloud

1、什么是 Spring Boot?

2、SpringBoot 有哪些优点?

3、什么是 JavaConfig?

4、4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?

5、Spring Boot 中的监视器是什么?

6、如何在 Spring Boot 中禁用 Actuator 端点安全性?

7、如何在自定义端口上运行 Spring Boot 应用程序?

8、什么是 YAML?

9、如何实现 Spring Boot 应用程序的安全性?

10、如何集成 Spring Boot 和 ActiveMQ?

MySQL 高频 20 题解析

1.事务四大特性(ACID)原子性、一致性、隔离性、持久性?

2.事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL 默认是哪个级别?

3.MySQL 常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?

4.MySQL 的 MyISAM 与 InnoDB 两种存储引擎在,事务、锁级别,各自的适用场景?

5.查询语句不同元素(where、jion、limit、group by、having 等等)执行先后顺序?

6.什么是临时表,临时表什么时候删除?

7.MySQL B+Tree 索引和 Hash 索引的区别?

8.sql 查询语句确定创建哪种类型的索引?如何优化查询?

9.聚集索引和非聚集索引区别?

10.有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?

多线程

1.Java 实现多线程有哪几种方式?

2.Callable 和 Future 的了解。

3.线程池的参数有哪些,在线程池创建一个线程的过程。

4.volitile 关键字的作用,原理。

5.synchronized 关键字的用法,优缺点。

6.Lock 接口有哪些实现类,使用场景是什么?

7.可重入锁的用处及实现原理,写时复制的过程,读写锁,分段锁(ConcurrentHashMap 中的 segment)。

8.悲观锁,乐观锁,优缺点,CAS 有什么缺陷,该如何解决?

9.ABC 三个线程如何保证顺序执行。

ZooKeeper

1.ZooKeeper 是什么?

2.ZooKeeper 提供了什么?

3.Zookeeper 文件系统。

4.Zookeeper 怎么保证主从节点的状态同步?

5.四种类型的数据节点 Znode。

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

7.客户端注册 Watcher 实现。

8.服务端处理 Watcher 实现。

9.客户端回调 Watcher。

10.ACL 权限控制机制。

Netty

1.Netty 是什么?

2.Netty 的特点是什么?

3.Netty 的优势有哪些?

4.Netty 的应用场景有哪些?

5.Netty 高性能表现在哪些方面?

6.BIO、NIO 和 AIO 的区别?

7.NIO 的组成?

8.Netty的线程模型?

9.TCP 粘包/拆包的原因及解决方法?

10.什么是 Netty 的零拷贝?

Tomcat

1.Tomcat 是什么?

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

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

4.Tomcat 有几种部署方式?

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

6.Tomcat 工作模式。

7.Tomcat 顶层架构。

8.Tomcat 顶层架构小结。

9.Connector 和 Container 的微妙关系。

10.Container 架构分析。

Redis

1.RDB 和 AOF 区别。

2.为什么 RDB 要 fork 子进程而不是线程。

3.redis 基本数据类型。

4.zset 的底层数据结构,跳表何时增加高度。

5.分布式 redis,缓存和数据库读写不一致,答延迟双删。

最后

这份 2022 年牛客网最热门的八股文合集!希望能帮助到你面试前的复习且找到一个好的工作!需要的伙伴们可关注 攻种号 回复 Java



用户头像

Java知识分享 2021.11.17 加入

不管编程中有多少挫折问题不要放弃,沙漠尽头必是绿洲

评论

发布
暂无评论
2022年金三银四Java面试宝典,横扫社招+春招+秋招_Java_想没想明白_InfoQ写作平台