PPT 讲解 STAR 法则,背景、遇到问题、采取的方案、取得的效果
UT 编写用例 管理学知识 技术技能 Cauch 教练管理方式 裸心会 调查问卷
代理: https://blog.csdn.net/lx1315998513/article/details/120641124
Spring Security ,干掉profile 目录等
Spring Security 使用自定义 数据库表结构
https://zhuanlan.zhihu.com/p/89987302
查看端口占用:
lsof -i:1234
58826
https://github.com/0voice/interview_internal_reference
https://github.com/xingshaocheng/architect-awesome
https://github.com/DeppWang/Java-Books
https://github.com/CyC2018/CS-Notes
https://github.com/PansonPanson/Java-Notes
https://github.com/singgel/JAVA_LINE
https://github.com/Snailclimb/JavaGuide
https://github.com/doocs/advanced-java
https://github.com/xbox1994/Java-Interview
https://github.com/jobbole/awesome-java-cn
https://github.com/akullpp/awesome-java
https://github.com/AobingJava/JavaFamily
https://github.com/tuteng/Best-websites-a-programmer-should-visit-zh#interview-preparation
面向对象理论,基础知识;
Java基础数据类型以及所占用空间大小
final、finally、finalize
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;
常用理论知识,前世今生,开源组件;
常量池校验
内存分配
- 指针碰撞
- 空闲列表
内存分配线程安全
- CAS线程枷锁实现
- TLAB 本地线程分配缓冲
零值初始化
对象元信息初始化
Java 线程初始化
了解目标:基本概念、主要特点、常见异常
- 程序计数器
- Java虚拟机栈
- 本地方法栈
- 堆
- 方法区
hotspot 虚拟机为例
- 对象创建过程
- 内存组成结构
- 对象访问方式
了解目标:基本概念、主要特点
- 引用计数器
- 可达性分析
了解目标:基本概念、适用场景
- 强引用
- 软引用
- 软引用
- 虚引用
了解目标:基本概念、主要特点、基本原理、优点与不足
-
标记清除算法
-
复制算法
-
标记整理算法
-
分代整理算法
了解目标:基本概念、起始版本(时间)、主要特点、基本原理、优点与不足
-
Serial
-
Parnew
-
Parallel Scavenge
-
Serial Old
-
Parallel Old
-
CMS
参考连接
美团技术团队 https://tech.meituan.com/2016/09/23/g1.html
G1 收集器原理理解与分析 https://zhuanlan.zhihu.com/p/52841787
-
差异点
-
特点
-
基本过程
了解目标:基本概念、基本作用过程
- 加载
- 验证
- 准备
- 解析
- 初始化
常用jvm参数
对象分配策略
分析工具汇总与实践
hotspot 虚拟机为例
todo jvm 常见异常实战
JMM;
常用GC算法;
GC触发原因;
垃圾收集器;
类加载过程;
常用命令,参数调优;
CPU、Memory、Disk、Network等指标;
QPS、TPS等性能指标;
Jps、Jmap、Jstack等常用命令;
GC日志、Dump等分析;
开源分析工具;
MyBatis核心类以及原理;
一级缓存、二级缓存;
常用配置;
常用标签;
动态SQL;
插件;
一对多、多对多等
基本使用;
Spring 启动过程;
Bean声明周期;
IoC原理;
Aop原理;
事务实现原理;
事务传播机制;
事务隔离级别;
MVC请求过程;
Spring Boot 、Spring、Spring Cloud体系
个性化改造
常用设计模式;
实现;
开源中的实现;
动态代理(重点说明);
session、cookie;
servlet声明周期;
listener、filter、servlet的启动顺序;
转发、重定向;
request、response;
qmq https://github.com/qunarcorp/qmq
集群;
分布式锁;
缓存组件对比;
底层数据类型结构;
快的原理
备份策略;
淘汰策略;
手写简约版;
框架
启动过程
优化配置
- XSS攻击
- SQL注入攻击
- 权限
- SCRF攻击
- HTTPS
- 集群
- CAP理论、BASE理论
- Spring Cloud VS dubbo
- 分布式主键
- 分布式锁
- 分布式事务
- 一致性Hash
- 幂等性
- 日志
- 监控
- SSO
- Zipkin
- CAT
常用组件:Eureka、Consul、ZooKeeper
- 网关
- 配置中心
- 负载均衡
- 熔断
- 限流
- 分布式事务
基本组件,对比,原理,入门,实践
https://dubbo.apache.org/zh/docs/v2.7/user/preface/architecture/
- provider 服务提供者
- consumer 服务消费者
- registry 注册中心
- monitor 监控中心
- 方法级优先,接口级次之,全局配置再次之。
- 如果级别一样,则消费方优先,提供方次之。
https://dubbo.apache.org/zh/docs/v2.7/user/examples/
Failover
Failfast
failsafe
failback
forking
- 常用命令
- docker
- Grep Console:控制台输出处理
- Rainbow Brackets:彩虹🌈括号
- Save Actions:优化保存操作
- SequenceDiagram:一键生成时序图
- Maven Helper:分析Maven项目的相关依赖
- EasyCode:一键帮你生成所需代码
- CheckStyle:代码格式检查
- SonarLint:帮你优化代码
- Lombok:帮你简化代码
- CodeGlance:代码微型地图
- Java Stream Debugger:Java8 Stream调试器
- Git Commit Template:使用模板创建commit信息
- 其他常用插件推荐
- JSON Viewer
- Octotree
- Enhanced Github