# 面试题
118 篇文章与「面试题」相关的全部文章。
常见 HTTP 状态码?
一、1xx 信息 100 Continue:继续发送。 二、2xx 成功 200 OK:请求成功。 201 Created:资源创建成功。 204 No Content:成功但无响应体。 206 Partial Content:范围请求。 三、3xx 重定向 301 Moved Permanentl
HTTP 和 HTTPS 的区别?
一、核心区别 HTTPS = HTTP + TLS/SSL,在 HTTP 和 TCP 之间加了加密层。 二、对比 维度 HTTP HTTPS 端口 80 443 传输 明文 加密 证书 不需要 需要 CA 证书 安全 易被窃听/篡改 机密性+完整性+身份认证 性能 较快 略慢(TLS 握手) 三、T
TCP 和 UDP 的区别?
一、对比 维度 TCP UDP 连接 面向连接 无连接 可靠性 可靠 不可靠 顺序 保证 不保证 流量控制 有 无 拥塞控制 有 无 首部大小 20~60 字节 8 字节 性能 较低 较高 二、TCP 保证可靠的机制 序列号 + 确认应
TCP 四次挥手过程?
一、过程 客户端发 FIN=1, seq=u,进入 FIN_WAIT_1。 服务端回 ACK=1, ack=u+1,进入 CLOSE_WAIT;客户端进入 FIN_WAIT_2。 服务端发完数据后发 FIN=1, seq=w,进入 LAST_ACK。 客户端回 ACK=1, ack=w+1,进入 T
TCP 三次握手过程?
一、过程 第一次:客户端发送 SYN=1, seq=x,进入 SYN_SENT 状态。 第二次:服务端回复 SYN=1, ACK=1, seq=y, ack=x+1,进入 SYN_RCVD 状态。 第三次:客户端回复 ACK=1, seq=x+1, ack=y+1,双方进入 ESTABLISHED
装饰器模式的原理和应用?
一、定义 动态地给对象添加额外职责,比继承更灵活。 二、结构 Component:抽象组件。 ConcreteComponent:具体组件。 Decorator:装饰器抽象类,持有 Component 引用。 ConcreteDecorator:具体装饰器,添加职责。 三、Java IO 中的应用
观察者模式的原理和应用?
一、定义 定义对象间一对多依赖,当一个对象状态变化时,所有依赖它的对象自动收到通知并更新。也叫发布-订阅模式。 二、结构 Subject(主题):维护观察者列表,提供注册/注销/通知方法。 Observer(观察者):定义更新接口。 三、JDK 实现 // 主题 public class Subje
策略模式的原理和应用?
一、定义 定义一系列算法,封装成独立策略类,使它们可互换。客户端运行时选择策略,避免大量 if-else。 二、结构 Strategy:策略接口。 ConcreteStrategy:具体策略实现。 Context:持有策略引用,调用策略方法。 三、示例 public interface PayStr
工厂模式有哪几种?
一、简单工厂 一个工厂类根据参数创建不同产品。违反开闭原则,新增产品需改工厂。 public class ShapeFactory { public Shape create(String type) { if ("circle".equals(type)) return n
单例模式有哪些实现方式?
一、饿汉式 public class Singleton { private static final Singleton INSTANCE = new Singleton(); private Singleton() {} public static Singleton g
OpenFeign 的工作原理?
一、使用 @FeignClient(name = "user-service") public interface UserClient { @GetMapping("/user/{id}") User getUser(@PathVariable Long id); } 二、原理
Sentinel 的工作原理?
一、核心功能 流量控制:QPS、线程数限流,支持匀速、预热等模式。 熔断降级:慢调用比例、异常比例、异常数达到阈值时熔断。 系统保护:CPU、负载、入口 QPS、平均 RT、并发线程数。 热点参数限流:针对参数维度限流。 二、工作原理 基于滑动窗口统计实时指标。 通过责任链模式处理请求:NodeSe
Spring Cloud Gateway 的工作原理?
一、核心概念 Route:路由,由 ID、目标 URI、断言、过滤器组成。 Predicate:断言,匹配 HTTP 请求的条件(路径、方法、Header 等)。 Filter:过滤器,请求前后处理(鉴权、限流、日志、修改请求/响应)。 二、执行流程 请求进入 Gateway,由 HandlerMa
Nacos 的 CP 和 AP 模式?
一、AP 模式(临时实例) 服务实例注册后,通过心跳维持,心跳超时则剔除。 各节点数据可能短暂不一致,但保证可用性。 适合服务注册场景,实例变化频繁。 二、CP 模式(持久实例) 实例注册需要集群半数以上节点确认,强一致性。 节点不可用时不会自动剔除,需手动注销。 适合需要强一致性的场景。 三、切换
Spring Cloud 常用组件有哪些?
一、注册中心 Eureka:Netflix 出品,AP,自我保护机制。 Nacos:阿里出品,支持 CP/AP 切换,同时支持配置中心。 Consul:支持服务发现、KV 存储、健康检查。 二、配置中心 Spring Cloud Config:基于 Git。 Nacos Config:配置实时推送。
Spring 如何解决循环依赖?
一、什么是循环依赖 A 依赖 B,B 依赖 A,形成循环。 二、三级缓存 Spring 通过三级缓存解决 singleton 的循环依赖: singletonObjects:一级缓存,存完全初始化好的 Bean。 earlySingletonObjects:二级缓存,存早期引用(实例化但未属性赋值)
Spring 事务的传播行为和隔离级别?
一、七种传播行为 传播行为 说明 REQUIRED(默认) 有事务就加入,没有就新建 REQUIRES_NEW 总是新建事务,挂起当前事务 SUPPORTS 有事务就加入,没有就非事务执行 NOT_SUPPORTED 非事务执行,挂起当前事务 MANDATORY 必须有事务,否则抛异常 NEVER
Spring AOP 的实现原理?
一、AOP 概念 面向切面编程,把横切逻辑(日志、事务、权限)从业务代码中抽离,通过动态织入实现。 二、动态代理 JDK 动态代理:目标类实现接口时使用,基于反射生成代理类。 CGLIB 代理:目标类无接口时使用,基于 ASM 生成目标类的子类。 Spring 自动选择:有接口用 JDK,无接口用
Spring Bean 的作用域有哪些?
一、singleton(默认) 容器中只有一个实例,全局共享。适合无状态 Bean。 二、prototype 每次获取都创建新实例。适合有状态 Bean。 三、request(Web) 每次 HTTP 请求一个实例。 四、session(Web) 每个 HTTP Session 一个实例。 五、ap
Spring 的 IOC 和 DI 是什么?
一、IOC(控制反转) 对象的创建和依赖管理由容器负责,而不是在代码中 new。控制权从业务代码转移到 Spring 容器。 二、DI(依赖注入) IOC 的实现方式。容器把对象依赖的其他对象注入进去。 三种注入方式: - 构造器注入:通过构造方法,推荐(依赖不可变、无循环依赖风险)。 - sett
