花了一下午撸了这份残缺的 java 工程师常识(面试)清单,很负责任的说,把握了这些知识点秒杀所有 java 面试,迎娶白富美走上人生巅峰是迟早的事。整顿这些知识点的目标是,第一,帮忙本人梳理下咱们须要把握的知识点;第二,发现自己的有余,有针对性查缺补漏
根底
javaSE
多态
接口和抽象类
序列化
汇合
代理(动静代理、动态代理)
反射
设计模式
IO
javaWeb
cookie 和 session
servet 常识
tomcat 常识
JVM
java 类加载机制
双亲委派模型
罕用的 GC 算法
罕用垃圾收集器及其原理
JVM 内存模型
常见 JVM 内存剖析工具及分析方法
CUP 到了 100% 怎么排查
JDK1.7 和 JDK1.8 区别
JDK1.8 新个性
罕用 JVM 调优参数
判断对象是否存活算法
援用的四种级别
finalize() 办法
碰到过什么样的 JVM 线上问题,怎么排查的(最喜爱问的)
网络编程
tcp 和 udp
tcp 的三次握手和四次挥手
AIO、BIO 和 NIO
形容一个申请残缺的执行过程(最常问)
http 和 https
互联网工具
git
maven
linux
并发专题
JMM 内存模型
线程和程序,并行和并发
volatile
指令重排序,原子性,可见性
并发同步解决
synchronized 内置锁实现原理
AQS 原理
CAS 算法乐观锁
atomic 原子类
threadLocal 类
各种锁(乐观锁、乐观锁、可重入锁、偏心锁、非偏心锁等)
ReentrantLock/ReentrantReadWriteLock/ReentrantWriteLock 详解
Condition 条件队列、同步队列
JUC 并发包
CountDownlatch 详解
Semaphore 详解
CyclicBarrier 详解
阻塞队列(ArrayBlockingQueue、CurrentLinkedQueue、DelayQueue、PriorityBlockingQueue)
ForkJoin 框架
线程池详解
HashMap 和 ConcurrentHashMap 详解
ArrayList、LinkedList、CopyOnWriteArrayList 详解
Set、CopyOnWriteArraySet 详解
分布式专题
Redis 缓存
什么是 redis?
为什么要用 redis?应用 redis 的益处
怎么用 redis
redis 五种数据结构以及应用场景
应用 redis 会有哪些问题?以及怎么解决
redis 集群的搭建和原理
redis 五种数据结构底层实现是怎么的
RocketMq(RabbitMq、kafka)音讯队列
RocketMq、RabbitMq 和 kafka 三者有什么不同?优缺点以及应用场景
RocketMq 是什么?
RocketMq 应用场景?
RocketMq 音讯发送原理
RocketMq 音讯失落怎么办?
RocketMq 集群同步机制
RocketMq 事务原理
Zookeeper
什么是 zookeeper?
为什么要应用 zookeeper?(优缺点)
zookeeper 应用场景
zookeeper 原理
Dubbo
dubbo 是什么?
为什么要应用 dubbo?
dubbo 应用场景
dubbo 的 rpc 调用和 http 调用的区别,有什么长处
dubbo 原理
应用 dubbo 有没有碰到什么问题?怎么解决?(如:dubbo 重试)
dubbo 怎么做到高可用
dubbo 注册核心的服务发现
dubbo 源码剖析
netty
为什么应用 netty
外部实现原理
netty 我还没用过,前面再总结
mysql 分库分表
什么是分库分表
分库分表利用场景
有什么优缺点
分库分表规定(算法),为什么思考设计这样的规定,有没有可代替的其余规定
如何做到从一个单库利用平滑过渡到分库分表的利用
如果做到分库分表的数据,按条件分页查问
框架源码专题
spring 源码
spring IOC 容器设计原理
spring 的 bean 的生命周期
spring Context 的装载过程源码剖析
FactoryBean 和 BeanFactory 区别
AOP 注解编程
AOP 源码剖析
spring 事务管制与源码剖析
spring 拦截器
springMVC 源码
MVC 设计思维
springMVC 原理(申请过程)
springMVC 组成的体系结构(映射器、执行器、视图解析器、异样捕获等)
springMVC 中的罕用注解
springboot
springboot 原理(启动流程)
springboot 优缺点,应用它有什么益处
springboot 罕用注解
mybatis 源码
应用 mybatis 解决了什么问题?有什么益处
mybatis 原理
初始化过程
一条 sql 语句执行过程
Configuration、Mapper、SqlSession、Excutor 源码剖析
mybatis 的一级缓存和二级缓存
如果让你手写一套 mybatis,你会怎么设计(面试被问过)
数据结构和算法
数据结构
数组
链表
跳跃表
堆栈
队列
各种树
矩阵
算法
罕用排序算法以及工夫、空间复杂度
《剑指 offer》
《LeetCode》
常见 top K 问题
数据库专题
mysql
数据库设计三范式
事务(个性和隔离级别)
MVCC 多版本并发管制
事务并发问题
事务日志(binlog、redo log、undo log)
索引数据结构类型
索引分类(聚簇索引和非聚簇索引)
mysam 和 InnoDb 区别
架构原理(一条 SQL 的执行过程)
SQL 调优
mysql 高可用(MMM、MHA、PXC)
ElasticSearch
es 集群原理
一条查问申请的残缺过程
es 的优缺点
es 利用场景
滚动查问
es 的倒排索引原理
怎么保障 es 和 mysql 的数据一致性
MongoDB
mongoDB 的个性
mongoDB 的应用场景
mongoDB 的优缺点
应用过程中有没有碰到什么问题
我的项目
罕用我的项目的设计
登录注册
单点登录
短链接
形容本人我的项目
你在这个我的项目中参加了哪些局部?
你是怎么设计的?
为什么这么设计?
有没有其余计划代替?
用到了什么技术?为什么要用这个技术?有没有可代替的?
开发过程中有没有碰到什么(没思考到的)难点?你是怎么解决的
还能不能优化?
你有什么播种?
让你来做跟他人来做,你的劣势在哪?(这个有点扯淡,然而有些面试官还是会问)
最初
有些人花了三五年就能把握这些知识点,胜利面上高薪架构师,
有些人花了十多年却只晓得些皮毛,每天做着 CRUD 的工作。
能够说这一篇(宝典),熟知本文 80% 以上内容,找个开发工作问题不大。对 3 - 5 年教训的敌人,也是疾速复习的利器!本次的内容大抵的就介绍到这里啦,因为内容太多,只能简略介绍到这里,如有须要以上内容的完整版,大家能够私信我获取哦~~ 后盾关注我后私信回复:【666】即可获取
如果本文对你有帮忙,别忘记给我个 3 连,点赞,转发,评论,
咱们下期见!答案获取形式:已赞 已评 已关~