Skip to content

Latest commit

 

History

History
237 lines (135 loc) · 3.35 KB

README.md

File metadata and controls

237 lines (135 loc) · 3.35 KB

Java 面试知识点总结

Java面试知识点总结,会不断进行完善,1个月内将下面的列的提纲补充完整,同时包含部分答案,仅供参考使用

面向对象理论,基础知识;

char、int、boolean、double、byte、long等基础数据类型;

Integer、String等包装类型;

array、list、map、set、table、等java数据结构;

String、StringBuilder、StringBuffer等字符串操作类;

Java反射;

Java异常体系;

JDK各个版本特性;

序列化和反序列化;

静态代理和动态代理;

数据库

理论知识,前世今生;

主流数据库特性对比;

三大范式;

数据库索引;

索引结构原理;

innerDB等;

索引优化;

集群;

事物;

binlog、redolog、undolog等

数据结构

常用数据结构

array、list、set、stack、queue、tree、graph;

跳跃表、

Bitmap

常用算法

查找;

排序;

暴力法;

贪心;

递归与分治;

回溯;

动态规划;

线程的理论知识;

线程创建、执行等常用方法;

线程状态,线程池状态以及转化;

AtomicInteger、AtomicXXX;

CountdownLatch、CyclicBarrier;

Semaphore、ThreadLocal;

CAS 比较交换思路;

锁机制,独占锁、非独占锁;

AQS抽象队列同步器;

线程池;

CompletableFuture;

常用理论知识,前世今生,开源组件;

JVM内存划分;

JMM;

对象存活判断;

常用GC算法;

GC触发原因;

垃圾收集器;

类加载过程;

常用命令,参数调优;

性能优化

CPU、Memory、Disk、Network等指标;

QPS、TPS等性能指标;

Jps、Jmap、Jstack等常用命令;

GC日志、Dump等分析;

开源分析工具;

Mybatis

MyBatis核心类以及原理;

一级缓存、二级缓存;

常用配置;

常用标签;

动态SQL;

插件;

一对多、多对多等

基本使用;

Spring 启动过程;

Bean声明周期;

IoC原理;

Aop原理;

事务实现原理;

事务传播机制;

事务隔离级别;

MVC请求过程;

Spring Boot 、Spring、Spring Cloud体系

个性化改造

设计模式

常用设计模式;

实现;

开源中的实现;

动态代理(重点说明);

web知识

session、cookie;

servlet声明周期;

listener、filter、servlet的启动顺序;

转发、重定向;

request、response;

redis

集群;

分布式锁

缓存组件对比;

底层数据类型结构;

快的原理

备份策略;

淘汰策略;

手写简约版;

Tomcat

框架

启动过程

优化配置

web安全

  • XSS攻击
  • SQL注入攻击
  • 权限
  • SCRF攻击
  • HTTPS

分布式

  • 集群
  • CAP理论、BASE理论
  • Spring Cloud VS dubbo
  • 分布式主键
  • 分布式锁
  • 分布式事务
  • 一致性Hash
  • 幂等性

Spring Cloud

  • 注册中心
  • 网关
  • 配置中心
  • 负载均衡
  • 熔断
  • 限流
  • 分布式事务

Linux

  • 常用命令
  • docker