本文最后更新于 2 分钟前,文中所描述的信息可能已发生改变。
微服务
- 怎么理解微服务
- 微服务的缺点
- 对比微服务和传统服务的优缺点
- 微服务之间怎么做负载均衡
反问
- 业务,开发语言,表现,对应届生的要求(重点是基础和算法)
- 部门怎样培养新人,刚进来做什么(学基础,语言和中间件,做 demo),大概多久做需求(1 周到 1 个月不等,看学习情况),框架和中间件以开源的为主还是以自研的为主(自研的)
- 这轮面试通过后还有面试吗,新人入职有培训吗,技术氛围怎么样
场景
鉴权
- Oauth2 基本流程、原理
- 登录模块是怎么做的
详情
JWT 由三部分组成,如Header.Payload.Signature
。
- Header:头部,通常由两部分组成,令牌的类型(即 JWT)和所使用的加密算法(如 HMAC SHA256 或 RSA)。
- Payload:负载,包含声明,如用户信息、权限等。
- Signature:签名,由头部、负载和密钥生成,用于验证令牌是否被篡改。
通常说的 JWT 是没有第三方安全保障的,只是一个编码的字符串,可以通过 base64 解码得到明文信息。 常用的是 JWS(JSON Web Signature),通过 HMAC SHA256 或 RSA 等算法生成签名,用于验证令牌是否被篡改。
mermaid
graph LR
A[Header] --> |Base64| A1[encodeHeader]
B[Payload] --> |Base64| B1[encodeClaims]
A1 --> C[Concatenated]
B1 --> C
C --> D[SecretKey]
D --> |HMAC/SHA256| E[Signature]
E -->|SecretKey| F((Verify))
plaintext
{
"alg": "HS256",
"typ": "JWT"
}
plaintext
{
"sub": "1234567890",
"name": "John Doe",
"admin": true
}
plaintext
HMACSHA256(
base64UrlEncode(Header) + "." +
base64UrlEncode(Payload),
Secret
)
详情
特点 | JWT | Cookie + Session |
---|---|---|
存储位置 | 客户端(通常在 LocalStorage) | 服务端存储 Session 数据 |
状态管理 | 无状态(Stateless) | 有状态(Stateful) |
扩展性 | 更好,适合分布式系统 | 依赖服务器的内存或数据库 |
安全性 | 容易被拦截,需要配合 HTTPS 使用 | SessionID 可泄露,容易被劫持 |
性能 | 不需要查询数据库即可验证 | 需要数据库或 Redis 查询验证 |
注销和撤销 | 无法立即撤销,需要等待过期 | 可直接删除 Session |
云存储
详情
OSS(Object Storage Service),对象存储服务。对于非结构性文件,OSS 比本地存储更加可靠,更加经济。
杂
详情
Netty
- Netty 为什么高性能?