体系化学习Java(Java面试专题)

tip: 此贴为目录贴,定期更新
toNew: 时间是最好的答案,它能解决所有问题。坚持!!!

本文章旨在总结 Java 的知识生态以及帮助需要学习者和求职者,本人有5年面试官经验,资深
Javaer,有技术相关问题和面试相关问题均可以留言讨论。

文章目录

  • 一、Java基础
    • 1、Java 基础
    • 2、集合
    • 3、多线程
    • 4、IO
    • 5、反射
    • 6、对象拷贝
    • 7、异常
    • 8、网络
  • 二、JUC并发编程
  • 三、Spring大家族
  • 四、Mybatis
  • 五、数据库
    • 1、Mysql
    • 2、Clickhouse
    • 3、Influxdb
  • 六、中间件
    • 1、Kafka
    • 2、Redis
    • 3、Zookeeper
    • 4、ELK
    • 5、Nginx
    • 6、Netty
  • 七、JVM
  • 八、JMM
  • 九、分布式理论
  • 十、设计模式
  • 十一、JDK特性
  • 十二、DDD领域驱动设计
  • 十三、容器化
    • 1、Docker
    • 2、k8s
  • 十四、计算机信息系统项目管理师
  • 十五、实战-搭建前后分离架构
  • 十六、生产总结
    • 1、arthas

一、Java基础

1、Java 基础

1、Java基础-面向对象

2、Java 泛型机制详解

3、Java SPI 机制详解

2、集合

1、ArrayList 的底层原理 (面试常问题)

2、HashMap 的底层原理(面试常问题)

3、HashMap 是线程安全的吗?那线程安全的 Map 有哪些?(面试常问题)

4、HashMap 源码剖析

3、多线程

1、线程的4种创建方式(面试常问题)

2、sleep 和 wait 的区别(面试常问题)

4、IO

1、AIO、BIO、NIO 的区别

2、什么是用户态?什么是内核态?

3、IO 的分类

4、字节流和字符流

5、缓冲流和转换流

6、序列化

7、什么是零拷贝机制 (面试常问题)

5、反射

1、什么是反射机制?

2、java 类加载机制

3、如何通过反射获取 Java 实例?

4、反射方法的运用

5、什么是反射爆破?

6、反射的在实际项目中的运用

7、内置注解

8、什么是元注解?

9、自定义注解

6、对象拷贝

1、什么是对象拷贝(克隆技术)?

2、对象引用拷贝、浅拷贝和深拷贝

3、深拷贝的方式

7、异常

1、常见的异常有哪些?

8、网络

1、什么是三次握手和四次挥手?(面试常问题)

2、WebSocket

3、TCP 和 UDP

4、Http 和 Https

5、网络的七层协议和 OSI 四层协议

6、关于请求头、请求体、响应头和响应体的介绍

二、JUC并发编程

1、线程的4种创建方式(面试常问题)

2、sleep 和 yield 方法

3、两阶段终止模式(Two-Phase Termination Patter)模式

4、打断 park 线程

5、如何理解并使用 park 与 unpark

6、线程八锁

7、synchronized 的底层原理(面试常问题)

8、无锁并发 CAS

9、保护性暂停模式 Guarded Suspension

10、死锁 、活锁、饥饿

11、ReentrantLock 的原理和应用

12、同步模式之顺序控制线程执行

13、同步模式之犹豫模式Balking

14、happens-before

15、线程池的使用(面试常问题)

16、线程池的内存溢出问题

17、disruptor

18、guava

19、volatile 之变量可见性和指令重排

20、final 详解

21、ThreadLocal 的原理和应用

三、Spring大家族

  1. SpringIOC源码解读

  2. Spring如何通过三级缓存解决循环依赖问题的(面试常问题)

  3. 谈谈对IOC的理解(面试常问题)

四、Mybatis

1、 Mybatis 的基础应用

2、Mybatis-Plus 的基础应用

3、Mybatis 的整体框架和源码分包介绍

4、Mybatis 的四大对象

5、Mybatis 的缓存设计

6、Mybatis 映射器 Mapper

7、Mybatis 的 SqlSession

五、数据库

1、Mysql

1、Mysql 测引擎 InnoDB、MyISAM

2、Mysql 事务和锁

3、Mysql MVCC

4、Mysql SQL 执行过程分析

5、Mysql 慢 SQL 优化

6、Mysql 哪些情况索引会失效

7、Mysql 读写分离

8、Mysql 性能优化

2、Clickhouse

1、Clickhouse 的基本信息以及 Clickhouse 的应用场景

2、Clickhouse 安装配置

3、Clickhouse 投影

4、Clickhouse 物化视图

5、Clickhouse 性能优化

6、Clickhouse 在亿级数据下的表现

3、Influxdb

六、中间件

1、Kafka

1、Kafka 的基本信息以及 Kafka 的应用场景

2、Kafka 生产者与消费者

3、Kafka 分区 Partition

4、Kafka 的性能测试

5、Kafka 如何保证消息的顺序性

6、如何排查 Kafka 积压情况

7、Kafka Streams

8、Kafka 重平衡

9、Kafka 运维参数调优

2、Redis

1、Redis 的基本信息以及 Redis 的应用场景

2、Redis 的基础数据结构、常用命令和配置参数

3、Redis 的缓存、消息队列、计数器应用

4、Redis 持久化 RDB

5、Redis 持久化 AOF

6、Redis 复制

7、Redis 集群

8、Redis 哨兵模式

9、Redis 面试相关问题

10、Redis 之手写一个缓存

11、Redis 之秒杀实现

12、Redis 穿击, 穿透, 雪崩, 污染

3、Zookeeper

4、ELK

5、Nginx

1、为什么Nginx性能这么高

2、Nginx 正向代理和反向代理

3、解读 Nginx 配置

4、Nginx 限流

5、Nginx 负载均衡

6、Nginx 实战搭建Web服务-部署 Vue 的项目

6、Netty

七、JVM

1、JVM 内存模型

2、JVM 垃圾回收算法

3、JVM 垃圾收集器

4、JVM 三色标记算法

5、JVM 参数介绍

6、JVM 性能调优

7、什么是内存溢出

8、什么是内存泄露

9、如何定位生产内存问题?

八、JMM

九、分布式理论

1、分布式理论-CAP

2、分布式理论 - BASE

3、分布式事务 2PC

4、分布式事务 3PC

5、分布式事务 TCC

6、Paxos 算法

7、Raft 算法

十、设计模式

1.6大设计规则-迪米特法则

2.6大设计原则-里氏替换原则

3.6大设计规则-开闭原则

4.6大设计规则-单一职责原则

5.6大设计规则-依赖倒置原则

6.6大设计规则-接口隔离原则

7、创建型模式-单例模式

8、创建型模式-原型模式

9、创建型模式-工厂模式

10、创建型模式-抽象工厂

11、创建型模式-建造者模式

12、结构型模式-代理模式

13、结构型模式-适配器模式

14、结构型模式-桥接模式

15、结构型模式-装饰模式

16、结构型模式-外观模式

17、结构型模式-享元模式

18、结构型模式-组合模式

19、行为型模式-模板方法模式

20、行为型模式-策略模式

21、行为型模式-命令模式

22、行为型模式-责任链模式

23、行为型模式-状态模式

24、行为型模式-观察者模式

25、行为型模式-中介者模式

26、行为型模式-迭代器模式

27、行为型模式-访问者模式

28、行为型模式-备忘录模式

29、行为型模式-解释器模式

十一、JDK特性

1、Java8 新特性详解

2、Java 9 新特性概述

3、Java 10 新特性概述

4、Java 11 新特性概述

5、Java 12 新特性概述

6、Java 13 新特性概述

7、Java 14 新特性概述

8、Java 15 新特性概述

9、Java 16 新特性概述

10、Java 17 新特性概述

十二、DDD领域驱动设计

十三、容器化

1、Docker

2、k8s

十四、计算机信息系统项目管理师

十五、实战-搭建前后分离架构

十六、生产总结

1、arthas

Arthas-JVM相关命令使用

Arthas-Class/Classloader相关命令使用

Arthas-monitor/watch/trace 相关命令使用

Arthas-火焰图

Arthas错误-The telnet port 3658 is used by process 5322

linux上 arthas 的安装

你可能感兴趣的:(JAVA面试,java,面试,学习)