前言
最近一位年前裸辞的朋友来找我诉苦,说因为疫情原因现在都在家吃老本。本想着年后就来找工作的,但是现在这个情况也不好找,而且很多公司也随着这次疫情面临着资金紧缺导致裁员严重的甚至倒闭,导致很多人失业找不到工作,就更加竞争压力大了
朋友说自己实力不过关,很多面试题都答不上,问我有没有之前的面试总结,于是我给了他这份(核心知识点)还有一些面试题总结。现在他拿到了offer,我觉着这个文档对大家应该也有帮助,现在分享给大家!
这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等,以下是文档内容的展示!
JVM相关
1.线程
2.JVM内存区域
2.1程序计数器
2.2虚拟机栈
2.3本地方法栈
2.4堆
2.5方法区
3.JVM运行时内存
3.1新生代
3.2老年代
3.3永久代
4.垃圾回收与算法
4.1如何确定垃圾
4.2标记清除算法
4.3复制算法
4.4标记整理算法
4.5分代收集算法
5.Java的4中引用类型
5.1强引用
5.2软引用
5.3弱引用
5.4虚引用
6.GC分代收集算法VS分区收集算法
6.1分代收集算法
6.2分区收集算法
7.GC垃圾收集器
7.1serial垃圾收集器
7.2parnew垃圾收集器
7.3parallel scavenge收集器
7.4serial old收集器
7.5parallel old收集器
7.6CMS收集器
8.Java IO/NIO
8.1阻塞IO模型
8.2非阻塞IO模型
8.3多路复用IO模型
8.4新号驱动IO模型
8.5异步IO模型
8.6java IO包
8.7java NIO
9.JVM类加载机制
9.1加载
9.2验证
9.3准备
9.4解析
9.5符号引用
9.6直接引用
9.7类构造器
9.8双亲委派
9.9OSGI
多线程并发相关
1.Java并发知识库
2.Java线程实现/创建方式
2.1继承thread类
2.2实现runnable接口
2.3基于线程池的方式
3.线程生命周期(状态)
3.1新建状态
3.2就绪状态
3.3运行状态
3.4阻塞状态
3.5线程死亡
4.终止线程的4种方式
4.1正常运行结束
4.2使用退出标记退出线程
4.3interrupt方法结束线程
4.4stop方法终止线程
5.sleep与wait区别
6.start与run区别
7.Java后台线程
8.Java锁
8.1乐观锁
8.2悲观锁
8.3自旋锁
8.4synchronize同步锁
8.5可重入锁(递归锁)
8.6公平锁与非公平锁
8.7共享锁与独占锁
8.8重量级锁
8.9轻量级锁
9.Java线程基本方法
9.1线程等待
9.2线程睡眠
9.3线程让步
9.4线程中断
9.5线程唤醒
10.线程上下文切换10.1进程10.2上下文10.3寄存器10.4程序计数器10.5PCB“切换锁”
11.同步锁与死锁11.1同步锁11.2死锁
12.线程池原理12.1线程复用12.2线程池的组成12.3拒绝策略
13.Java阻塞队列原理13.1阻塞队列的主要方法13.1java中的阻塞队列。欢迎关注我的公种浩:程序员追风,回复66 领取这份pdf资料。
14.volatile关键字的作用(可见性、有序性、原子性)14.1变量可见性14.2进制重排序14.3适用场景
15.Java中用到的线程调度
16.进程调度算法16.1有限调度算法16.2高优先权先调度算法16.3基于时间片的轮转调度算法
17.什么是CAS(比较并交换-乐观锁机制-锁自旋)17.1概念及特性17.2原子包17.3ABA问题
18.什么是AQS(抽象的队列同步器)18.1exclusive独占锁资源18.2share共享资源18.3同步器的实现是ABA核心18.4reentrantreadwritelock实现独占锁和共享两种方式
Spring相关
1.Spring特点
1.1轻量级
1.2控制反转
1.3面向切面
1.4容器
1.5框架集合
2.Spring核心组件
3.Spring常用模块
4.Spring主要包
5.Spring常用注解
6.Spring的第三方结合
7.Spring IOC原理
7.1概念
7.2spring容器高层识图
7.3IOC容器实现
8.Spring Bean生命周期
8.1实例化
8.2IOC依赖注入
8.3setbeanname实现
8.4beanfactoryaware实现
8.5destroy过期自动清理阶段
8.6destroy-method自配置清理
9.Spring AOP原理
9.1概念
9.2AOP核心概念
9.3AOP两种代理方式
10.Spring boot原理
10.1创建独立的spring应用程序
10.2嵌入的Tomcat无需部署WAR文件
10.3简化maven配置
10.4自动配置spring
11.JPA原理
11.1事务
11.2本地事务
11.3分布式事务
11.4两阶段提交
12.mybatis缓存
12.1mybatis的一级缓存原理
12.2二级缓存原理
13.Tomcat架构
微服务相关
1.服务注册发现
1.1客户端注册
1.2第三方注册
1.3客户端发现
1.4服务端发现
2.API网关
2.1请求转发
2.2相应合并
2.3协议转换
2.4数据转换
2.5安全认证
3.配置中心
3.1zookeeper配置中心
3.2配置中心数据分类
4.事件调度(kafka)
5.服务跟踪(starter-sleuth)
6.服务熔(hystrix)
7.API管理
数据库相关
1.储存引擎
1.1概念
1.2B+树
1.3tokudb
1.4mylasm
1.5memory
2.索引
2.1常见索引原理
2.2限制索引的数目
3.数据库的三范式
3.1第一范式
3.2第二范式
3.3第三范式
4.存储过程
5.触发器
6.数据库并发策略
6.1乐观锁
6.2悲观锁
6.3时间戳
7.数据库锁
7.1行级锁
7.2表级锁
7.3页级锁
8.基于Redis分布式锁
9.两阶段提交协议
9.1准备阶段
9.2提交阶段
9.3缺点
10三阶段提交协议
10.1cancommit阶段
10.2precommit阶段
10.3docommit阶段
11.CAP
11.1一致性
11.2可用性
11.3分区容忍性
内容太多就不一一展示了,需要资料欢迎关注我的公种浩:程序员追风,回复66 领取这份pdf资料。!
最后
祝大家工作顺利,升职加薪,面试都能通过,offer拿到手软,早日找到心仪的工作~