后端知识速递(更新 ing)

335 阅读2分钟

Java

集合

  • List、Set、Map
  • 线程安全保障
  • 扩容

IO

  • BIO、NIO、AIO
  • 序列化

异常

  • Throwable
  • Error、Exception
  • RuntimeException、IOException

并发

  • 多线程(线程池,合理大小)
  • ThreadLocal
  • synchronized、Lock
  • volatile、CAS
  • AQS(CountDownLatch、ReentrantLock)
  • 锁优化

代理

  • 静态代理
  • 动态代理(JDK 代理、接口代理)
  • CGLIB 代理(子类代理)

JVM

  • 内存模型(堆)
  • GC 算法
  • 垃圾回收器
  • 虚拟机参数
  • ClassLoader(双亲委托)
  • 锁类型(偏向锁、轻量级、重量级、自旋锁、锁消除)

JDK 1.8 特性

  • 接口默认方法
  • 函数式接口
  • Lambda 表达式
  • Optional
  • Streams
  • Date/Time API
  • Base64
  • 元数据区

框架组件

Spring

  • IOC
  • AOP
  • 事务传播机制

Redis

  • 数据结构
  • 持久化(RDB、AOF)

MQ

  • AMQ、RocketMQ、Kafka
  • 集群方案
  • 重复消费(幂等性)、顺序

Zookeeper

  • znode 类型
  • watcher 机制
  • 集群方案(Leader、Follower、Observer)
  • 选举流程
  • zxid

Netty

  • Selector BUG
  • 零拷贝

Dubbo

  • 服务注册与发现

nginx

  • 负载均衡
  • keepalived 高可用

数据结构

  • 数组实现

队列(链表)

  • 链表反转

  • 二叉树、完全二叉树、二叉查找树
  • 先序遍历、中序遍历、后序遍历

算法

排序

  • 冒泡排序
  • 快速排序

分布式

分布式 ID

  • UUID(长度过长,效率较低)
  • 数据库自增 ID
  • 数据库步长
  • snowflake

分布式 Session 一致性

  • IP HASH 负载均衡
  • Tomcat Session 同步
  • Spring + Redis 集中管理
  • JWT Token 令牌机制(sign 散列算法签名)

分布式锁

  • 数据库唯一索引
  • Redis NX
  • ZooKeeper 节点唯一(顺序节点)

分布式事务

  • XA(两阶段提交)
  • TCC(Try、Confirm、Cancel)
  • 可靠消息最终一致性(RocketMQ)

一致性 Hash

  • 哈希环
  • 分布式节点影响

数据库

MySQL 优化

  • SQL 优化(索引、分表)
  • slow_query_log 慢查询开关

索引

  • 分类(数据结构、存储层面、逻辑层面)
  • 最左前缀
  • 失效场景
  • 优缺点

事务

  • ACID
  • 隔离级别

数据库引擎

  • InnoDB、MyISAM
  • 特性支持(事务、表锁、行锁、间隙锁)

其他

  • SQL 语句执行顺序

工具

Maven

  • clean package install
  • 环境分离
  • 依赖冲突

Git

  • pull fetch merge
  • revert reset rebase
  • 配置

IDEA

  • 虚拟机参数
  • 快捷键

其他

加密

  • 对称加密 AES、DES
  • 非对称加密 RSA、DSA
  • 散列算法 MD5、SHA、HMAC

设计模式

  • 单例模式(双重锁)
  • 工厂模式
  • 观察者模式

网络 & 操作系统

  • 线程与进程
  • Linux 常用命令
  • OSI 七层模型
  • TCP(三次握手,四次挥手)、UDP
  • CRSF、XSS、CORS
  • 设计秒杀系统
  • HTTP 状态码(5xx 解决方案)