Docker 简介
【简单】什么是 Docker?为什么需要 Docker?
Docker 是一个容器化平台,用于将应用及其所有依赖打包成一个标准化、轻量级、可移植的单元(容器),从而实现 “一次构建,处处运行”。
核心价值
- 环境一致性:彻底解决“在我电脑上能跑”的问题,保证开发、测试、生产环境绝对一致。
- 隔离性:每个容器拥有独立的文件系统、网络和进程空间,应用间互不干扰。
- 轻量高效:与传统虚拟机相比,容器直接共享主机内核,启动更快(秒级)、资源占用更少(MB 级)。
- DevOps 基石:极大简化了持续集成/持续部署 (CI/CD) 流程,是实现微服务架构的理想载体。
【中等】什么是 Kubernetes,并描述其主要组件及其作用。
Kubernetes(K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用。
它解决了管理大量微服务时的核心难题:
- 自动化运维:实现自动部署、扩缩容、故障恢复(自我修复)、滚动更新。
- 高可用与弹性伸缩:保证应用持续在线,并能轻松应对流量波动。
- 资源优化:高效调度容器,充分利用基础设施资源。
【中等】如何限制上传文件大小?
显示错误信息:413 Request Entity Too Large。
意思是请求的内容过大,浏览器不能正确显示。常见的情况是发送 POST 请求来上传大文件。
解决方法
- 可以在
http模块中设置:client_max_body_size 20m; - 可以在
server模块中设置:client_max_body_size 20m; - 可以在
location模块中设置:client_max_body_size 20m;
综合
【简单】什么是设计模式?为什么需要设计模式?
设计模式是软件设计中常见问题的典型解决方案。
设计模式是针对软件设计中常见问题的、可重用的解决方案模板和最佳实践。
模式是针对软件设计中常见问题的解决方案工具箱, 它们定义了一种让你的团队能更高效沟通的通用语言。
【中等】设计模式可以分为哪几类?一共有多少种主流的设计模式?
Netty 简介
【中等】Netty 有哪些应用场景?⭐
Netty 是构建高性能、高可扩展性网络应用的基石,尤其适用于需要处理大量并发连接和高速数据传输的场景。
Netty 的核心应用场景如下:
| 应用领域 | 核心需求 | 代表技术 |
|---|---|---|
| 互联网分布式 | 高并发、高可用、服务治理 | Dubbo、gRPC、RocketMQ、API Gateway |
| 大数据 | 高吞吐、跨节点通信 | Hadoop、Spark、Flink、Elasticsearch |
| 游戏与 IoT | 长连接、低延迟、自定义协议 | 游戏后端、物联网平台 |
| 协议实现 | 灵活编解码、高性能网络 IO | WebSocket, HTTP, 自定义 TCP/UDP 协议 |
SpringBoot 简介
【简单】什么是 SpringBoot?
Spring Boot 是一个基于 Spring 框架的“开箱即用”的脚手架框架,它基于约定优于配置的原则,极大地简化了 Spring 应用的搭建和开发过程。
SpringBoot 的核心特性:
- 自动配置:根据项目依赖自动推断并配置所需的 Bean(如引入 Web 依赖则自动配置 Tomcat + Spring MVC)。
- starter 依赖:将功能相关的依赖打包成一个整体(如
spring-boot-starter-web),解决版本兼容问题。 - 内嵌服务器:内嵌服务器 Tomcat/Jetty,无需外部容器,打包成可执行 JAR 后一键运行 (
java -jar)。 - 监控:提供 Actuator 模块,轻松监控应用健康、性能等指标(通过
/actuator/health等端点)。
【简单】Dubbo 和 Spring Cloud Gateway 有什么区别?
Dubbo 与 Spring Cloud Gateway 对比:
| 对比维度 | Dubbo | Spring Cloud Gateway |
|---|---|---|
| 核心定位 | RPC (远程过程调用) 框架 | API 网关 (流量入口) |
| 核心功能 | 服务间高性能调用、服务治理 | 请求路由、过滤链(安全、限流、日志) |
| 解决需求 | 服务之间如何调用 (东西向流量) | 外部请求如何进入微服务集群 (南北向流量) |
| 工作层次 | 服务层 (Service-to-Service) | 入口层 (Edge Service) |
| 关键能力 | 服务发现、负载均衡、容错、熔断 | 动态路由、身份认证、权限校验、限流 |
| 通信协议 | 默认 Dubbo 协议 (TCP)、HTTP、gRPC | HTTP、HTTPS (基于 WebFlux) |
RabbitMQ 简介
【简单】RabbitMQ 是什么?⭐
RabbitMQ 是一个开源的消息队列中间件,基于 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)标准实现。

RabbitMQ 的核心概念
DevOps 简介
【简单】什么是 DevOps?
DevOps是通过平台(Platform)、流程(Process)和人(People)的有机整合,以C(协作)A(自动化)L(精益)M(度量)S(共享)文化为指引,旨在建立一种可以快速交付价值并且具有持续改进能力的现代化IT组织。
简单来说,DevOps 就是让构建、发布和运行软件的过程变得更快、更顺、更稳。
【中等】列举一下 DevOps 各环节的主流工具?
