本文最后更新于 2 分钟前,文中所描述的信息可能已发生改变。
微服务 
- 怎么理解微服务
 - 微服务的缺点
 - 对比微服务和传统服务的优缺点
 - 微服务之间怎么做负载均衡
 
反问 
- 业务,开发语言,表现,对应届生的要求(重点是基础和算法)
 - 部门怎样培养新人,刚进来做什么(学基础,语言和中间件,做 demo),大概多久做需求(1 周到 1 个月不等,看学习情况),框架和中间件以开源的为主还是以自研的为主(自研的)
 - 这轮面试通过后还有面试吗,新人入职有培训吗,技术氛围怎么样
 
场景 
鉴权 
- Oauth2 基本流程、原理
 - 登录模块是怎么做的
 
介绍一下 jwt,他是怎么加密的?
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 有什么区别呢?
| 特点 | JWT | Cookie + Session | 
|---|---|---|
| 存储位置 | 客户端(通常在 LocalStorage) | 服务端存储 Session 数据 | 
| 状态管理 | 无状态(Stateless) | 有状态(Stateful) | 
| 扩展性 | 更好,适合分布式系统 | 依赖服务器的内存或数据库 | 
| 安全性 | 容易被拦截,需要配合 HTTPS 使用 | SessionID 可泄露,容易被劫持 | 
| 性能 | 不需要查询数据库即可验证 | 需要数据库或 Redis 查询验证 | 
| 注销和撤销 | 无法立即撤销,需要等待过期 | 可直接删除 Session | 
云存储 
为什么用 oss 存储,怎么不直接存在本地服务器?
OSS(Object Storage Service),对象存储服务。对于非结构性文件,OSS 比本地存储更加可靠,更加经济。
杂 
做项目的过程中遇到过什么问题,怎么解决的
Netty 
- Netty 为什么高性能?