分类 | 主题 | 范围 | ** ** |
---|---|---|---|
语言基础 | 继承 多态 | 熟悉 重载/重写/多态相关概念 | |
熟悉接口/抽象类/枚举 用途 | |||
常见对象 | Object 和 String 的常用方法 | 判断 截取 获取 转换 | |
工具类 | org.apache.commons.lang3.StringUtils |
org.apache.commons.collections.CollectionUtils
org.apache.commons.lang3.ArrayUtils
org.apache.commons.beanutils.BeanUtils
java.math.BigDecimal
org.apache.commons.lang3.time.DateUtils
org.apache.commons.lang3.time.RandomUtils
| empty/blank/trim/equalsIgnoreCase/indexOf
isEmpty/size/
copyProperties
compareTo
com.shebao.framework.util.base.DateUtils
|
| | | shebao-framework-util 包 com.shebao.framework.util._
com.shebao.dispatch.common.utils._ |
com.shebao.dispatch.common.utils:
BeanContextUtils
BeanCopyUtils
DateUtils extends org.apache.commons.lang3.time.DateUtils
DispatchBusinessUtil
DispatchUserInfoQueryUtil
DispatchUserUtil
EnterpriseWeChatMsgUtil
JsonUtils
ReturnDataUtils
。。。 |
| | 集合 | 熟悉 Array/List/Set/Map 的特点和常用操作/线程安全集合 |
线程安全:
Vector
HashTable
ConcurrentHashmap |
| | 泛型 | 定义和通配符 | 泛型类、泛型接口、泛型方法 、 通配符 |
| | jdk1.8 | Lamda 表达式
Stream api | (参数) -> {代码块} C#中的 lambda 表达式 JS 的箭头函数
串行流 stream 并行流 paralleStream
筛选和切片:filter skip limit distinct
映射 map 和 flatmap
排序 sorted
查找和匹配 findany max count min max
归约收集 reduce 和 collect
其他:groupingby counting maxby |
| | 异常 | 熟悉 Java 异常分类
理解 shebao-dispatch 中统一异常处理类 ExceptionHandler
| Throwable -》Error 、 Exception
Exception -》CheckedException / RuntimeException
常见 CheckedException:
Java.lang.ClassNotFoundException
Java.lang.NoSuchMetodException
Java.io.IOException
常见 RumtimeException 子类:
Java.lang.ArithmeticException
Java.lang.ArrayStoreExcetpion
Java.lang.ClassCastException
Java.lang.IndexOutOfBoundsException
Java.lang.NullPointerException
比较:
com.shebao.interceptor.ExceptionHandler;
com.shebao.dispatch.app.interceptor.ExceptionHandler |
| | 多线程 | Thread 、线程池 熟悉 common 里的 AsyncExecutorConfig 配置 | 1. Thread 的生命周期和状态 2. 同步 3. 线程安全问题 4. 线程池 ThreadPoolExecutor 、AsyncExecutorConfig 配置 |
| | 设计模式 | 23 种 | |
| | 网络编程 | BIO NIO AIO 、Socket 编程 、Tomcat 、Netty | |
| | HTTP | 熟悉 Http 请求的交互过程,HttpRequest/HttpResponse/Header/Body 常用属性 | |
| 框架 | Spring | 熟悉 Spring 常用注解(@RestController/@ReqeustMapping/…)
熟悉 IOC 和 AOP 概念 | |
| | Springboot | 熟悉 Spring Boot 工程结构
熟悉各个配置项的含义
熟悉常用注解
熟悉我们自定义注解 比如 ControllerLog. EditMsgTitle | 约定大于配置 |
| | 数据库相关 | JDBC 、Mybatis 熟悉配置项 、熟悉代码生成器生成代码、熟悉常用操作 | DataSourceConfiguration 数据库配置
TxAdviceInterceptor 事务配置
MultipleDataSourceConfiguration 多数据源配置
主从数据库 该怎么写 dbselect / master slave
|
| | 单测 | JUnit Mockito | |
| 中间件 | Mns | shebao-framework-mns | |
| | Redis | 熟悉 Redis 配置每项含义
熟悉 Redis 写法 | 熟悉 com.shebao.dispatch.app.redis.RedisCacheConfiguration JedisPool
com.shebao.util.LocalRedisUtil
com.shebao.framelib.util.RedisUtil
防重复提交 :PreRepeat 注解 实现 |
| | xxx-job | 熟悉发布一个定时任务 | |
| 程序设计 | 设计原则 | 熟悉 DRY(不要重复代码)
SRP(单一职责) | Don’t Repeat Yourself
Single Responsibility Principle 依赖太多/参数太多/一个地方影响另一个地方
<重构> |
| | 接口设计 | 设计规范
Swagger / Yapi |
约定字段名称 约定类型 |
| 部署监控 | 发布平台 | arch 平台 测试 / 线上 部署流程 | |
| | prometheus | Springboot Actuator 自带 endpoint
自定义监控点 | 健康检查 、数据库 、redis、beans 、jvm 等等
自定义 metric histogram counter 等 |
| | grafana | 熟悉通过 Grafana 配置监控
| https://grafana.shebao.net/d/Q80EBhrGz/aye-wu-shu-ju-kan-ban?search=open&folder=current&orgId=1 |
| | 打包 | 熟悉 Maven 常用命令(clean/package/install/deploy)
理解本地库/私有库/公共库的概念
熟悉 Pom 文件各项含义
| mvn 使用 |
| | 代码管理 | 熟悉 Git 常用命令(clone/checkout/branch/pull/add/commit/push/diff/reset/reverse/log)
发布 Codereview 流程 | |
| | 任务管理
| 熟悉 JIRA 上创建 Feature 子任务 / Bug 流程
| |
| | 日志查看
| 阿里云 。 trace 日志 、console 日志、基础 log 日志、Catalina 日志 | |
| | 服务器查看 | 测试环境 jump 堡垒机 | |
| 编辑器 | IDEA | 快捷键
live template 介绍
postfix
列操作
Alter enter – show intent actions
抽取 重构等 | 1. sout. psvm. psfi 自定义 trsl 2. 100.for 3. Shift + command + u 大小写切换
找到所有出现点 command + control + G
Move : option + 箭头
Move 并选中: option + shift + 箭头
Move 行: command + 箭头 4. 提示
|
| 其他 | 调优 | code 性能:string.intern arraylist vs linkedlist 正则 stream hashmap 序列化
设计模式:单例 享元 原型 生产者消费者 装饰器
Jvm:内存调优 参数设置 cpu 过高 内存过高 gc 分析 原理 CMS G1
数据库调优:参数设置 索引优化 in/ leftjoin / limit 1000,1000 / deadlock 排查 / 分库分表设计
缓存:springcache vs guava 的缓存 vs redis 缓存 、 一致性策略 、穿透(空/布隆) 、雪崩 | |
| | 其他 | 并发:【分工同步互斥】 JUC / Synchornize Lock condition / 序列化反序列化 / 各种锁 / redis 锁 vsZK 锁 / 动态线程池
debug:arthas
熔断 hystrix 限流 sentinel 链路 skywalking 分布式事务 seata 理论 TCC/2PC/3PC
rpc:springcloud vs dubbo
网关:zuul
zookeeper
ELK (ES logstash kibana)
docker & k8s
消息中间件选型 kafka rocketmq 集群
微服务四大难题
- 数据一致性分发
- 数据聚合 join (CQRS 和最终一致性)
- 分布式事务
- 单体系统解耦拆分
分布式系统设计 秒杀架构 SaaS 架构 异地多活 | |