最新java后端知识栈
2021-04-26 12:54:26 0 举报
AI智能生成
最新一套JAVA开发者必备必看的知识点集合。
作者其他创作
大纲/内容
算法与数据结构
复杂度分析
时间复杂度
空间复杂度
排序算法了解
大概对比各种排序算法的优缺点
熟悉一种O(nlogn)时间复杂度的算法实现,如堆排序,归并排序
算法编程刷leetcode
建议至少刷50道不同类型题在去面试
这个网站可以看各个大厂的出题频率
教程推荐看极客时间:算法面试通关40讲
各种算法知识要大概知道
贪心、递归、动态规划、回溯、剪枝、分治、二分查找、深度遍历(dfs)、广度遍历(bfs)、LRU等
Java并发编程基础
线程各个状态
线程池实现原理
锁的实现
Synchronized:无锁、偏向锁、轻量级锁、重量级锁 锁的升级优化过程
voliate关键字
CAS
底层实现
AQS实现原理
引申可重入锁、公平锁等
底层实现
Java各种锁
HashMap源码分析
可能会继续问并发ConcurrentHashMap源码实现
BIO、NIO、AIO的区别
JMM内存模型相关
JVM性能调优
JVM类加载
大致过程要了解
4种类加载器的特点
了解双亲委派模型
JVM内存模型
线程共享
堆
方法区
线程隔离
虚拟机栈
本地方法栈
程序计数器
对比JMM内存模型的实现
垃圾收集机制
垃圾收集算法
标记清除
标记整理
复制算法
分代收集
判断对象存活
引用计数法
可达性分析
垃圾回收器分类
串行收集器
并行收集器
CMS
G1
准备一个JVM线上调优实战案例,项目中可以讲
JVM调优工具大致了解
jps、jstat、jmap、jstack、jvisualvm、jprofiler、mat
网络基础
连接过程
三次握手
四次挥手
相关算法
TCP流量控制-滑动窗口
超时重传机制
TCP拥塞控制
Http各个版本的特点的大致对比
Http0.9、1.0、1.1、2、3
Http和Https的区别
Https原理
加密算法
对称加密
非对称加密
数字签名
公钥证书
要大概知道整个过程,最好熟悉再看一次
Http长连接和短连接等
Spring框架解读
Spring如何解决循环依赖问题
三层缓存的具体实现和细节
两大特性
IOC(控制反转)
实现:DI(依赖注入)
AOP(面向切面)
基于cglib动态代理实现
MySQL性能调优
存储引擎
InnoDB
MyISAM
事务
基本特性(ACID)
Atomicity(原子性)
Consistency(一致性)
Isolation(隔离性)
Durablity(持久性)
事务隔离级别
未提交读
已提交读
可重复读
串行化
锁机制
间隙锁(Gap Locks)
行锁实现
MVCC实现原理
日志:undo log、redo log、bin log 了解
索引原理
聚簇索引、非聚簇索引
结构:hash、B+树原理
SQL调优细节准备一下具体案例
读写分离实现方案
Spring动态数据源
MySQL官方驱动的replication协议
分库分表组件大概了解
shardingsphere中的sharding-jdbc
mycat
缓存:Redis
Redis为什么这么快?
深入剖析Redis系列
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题怎么解决?
高可用架构
持久化
RDB
AOF
主从复制
哨兵
集群
基础数据结构
string
hash
list
set
zset
关于跳表数据结构的实现要熟悉
分布式锁的实现原理要了解
Redis实现分布式锁
Zookeeper实现分布式锁
Zookeeper原理
ZooKeeper系列(一)
重点关注ZAB协议如何Leader选举的过程
应用场景等
适当了解下其他注册中心,对比一下
消息中间件
具体中间件对别:RocketMQ VS Kafka 最好了解一下
消息队列使用场景
微服务框架Dubbo
HTTP vs RPC 对比
RPC组成,可能会问实现原理
例如:如何自己手写一个RPC框架
Dubbo基础知识
Dubbo的SPI机制
Dubbo常见题
架构理论基础
分布式理论
CAP原则
BASE理论
分布式事务
2PC、3PC、TCC等过程
一致性算法(大概知道就好)
Paxos算法
Raft算法
设计原则
SOLID原则
GRASP设计原则
架构分层设计
MVC 三层架构
DDD领域驱动设计
高并发,高可用相关
限流熔断
Sentinel 和 Hystrix的特点对比
限流熔断实现算法了解
分布式ID生成:雪花算法
通用场景题
自我介绍准备一下
建议简单过一下个人情况:学历,经验。然后大概重点介绍所在公司的贡献
这里适当引申一些面试官熟悉的知识点,自己再项目中有做好的,比如分布式锁、缓存一致性、JVM调优、性能优化场景
有意识地引导面试官问你熟悉的问题。
挑一个自己做的最好的项目?
项目中遇到的难点,怎么解决的?
考察解决问题能力,最好能深究根因,举一反三解决相关系统隐患。
有没有关注最近技术动向,学习渠道大概是怎么样的?
考察学习驱动力,能自主学习,个人持续发展的潜力
一些场景设计题?
短链服务的设计?
16位分布式uuid的设计?
自己动手实现一个rpc框架?
资料
Java八股文:advanced-java
Java八股文:advanced-java
刷题:LeetCodeTop
5W字的后端面经
0 条评论
下一页