跳至主要內容
Docker 面试

Docker 面试

Docker 简介

【简单】什么是 Docker?为什么需要 Docker?

Docker 是一个容器化平台,用于将应用及其所有依赖打包成一个标准化、轻量级、可移植的单元(容器),从而实现 “一次构建,处处运行”

核心价值

  • 环境一致性:彻底解决“在我电脑上能跑”的问题,保证开发、测试、生产环境绝对一致。
  • 隔离性:每个容器拥有独立的文件系统、网络和进程空间,应用间互不干扰。
  • 轻量高效:与传统虚拟机相比,容器直接共享主机内核,启动更快(秒级)、资源占用更少(MB 级)。
  • DevOps 基石:极大简化了持续集成/持续部署 (CI/CD) 流程,是实现微服务架构的理想载体。

钝悟...大约 19 分钟DevOps工具DockerDevOpsDocker面试
Kubernetes 面试

Kubernetes 面试

【中等】什么是 Kubernetes,并描述其主要组件及其作用。

Kubernetes(K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用

它解决了管理大量微服务时的核心难题:

  • 自动化运维:实现自动部署、扩缩容、故障恢复(自我修复)、滚动更新。
  • 高可用与弹性伸缩:保证应用持续在线,并能轻松应对流量波动。
  • 资源优化:高效调度容器,充分利用基础设施资源。

钝悟...大约 21 分钟DevOps工具KubernetesDevOpsDockerKubernetes面试
Nginx 面试

Nginx 面试

【中等】如何限制上传文件大小?

显示错误信息:413 Request Entity Too Large

意思是请求的内容过大,浏览器不能正确显示。常见的情况是发送 POST 请求来上传大文件。

解决方法

  • 可以在 http 模块中设置:client_max_body_size 20m;
  • 可以在 server 模块中设置:client_max_body_size 20m;
  • 可以在 location 模块中设置:client_max_body_size 20m;

钝悟...大约 7 分钟DevOps工具NginxDevOpsNginx面试
设计模式面试

设计模式面试

综合

【简单】什么是设计模式?为什么需要设计模式?

设计模式是软件设计中常见问题的典型解决方案。

设计模式是针对软件设计中常见问题的、可重用解决方案模板最佳实践

模式是针对软件设计中常见问题的解决方案工具箱, 它们定义了一种让你的团队能更高效沟通的通用语言。

【中等】设计模式可以分为哪几类?一共有多少种主流的设计模式?


钝悟...大约 12 分钟设计设计模式设计设计模式面试
Netty 面试

Netty 面试

Netty 简介

【中等】Netty 有哪些应用场景?🌟

Netty 是构建高性能、高可扩展性网络应用的基石,尤其适用于需要处理大量并发连接高速数据传输的场景。

Netty 的核心应用场景如下:

应用领域 核心需求 代表技术
互联网分布式 高并发、高可用、服务治理 Dubbo、gRPC、RocketMQ、API Gateway
大数据 高吞吐、跨节点通信 Hadoop、Spark、Flink、Elasticsearch
游戏与 IoT 长连接、低延迟、自定义协议 游戏后端、物联网平台
协议实现 灵活编解码、高性能网络 IO WebSocket, HTTP, 自定义 TCP/UDP 协议

钝悟...大约 5 分钟Java框架IOJava框架IONetty面试
SpringBoot 面试

SpringBoot 面试

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 等端点)。

钝悟...大约 8 分钟Java框架SpringJava框架SpringSpringBoot面试
SpringCloud 面试

SpringCloud 面试

【简单】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)

钝悟...小于 1 分钟Java框架SpringJava框架SpringSpringCloud面试
RabbitMQ 面试

RabbitMQ 面试

RabbitMQ 简介

【简单】RabbitMQ 是什么?🌟

RabbitMQ 是一个开源的消息队列中间件,基于 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)标准实现。


钝悟...大约 30 分钟分布式分布式通信MQ分布式通信MQRabbitMQ面试
DevOps 面试

DevOps 面试

DevOps 简介

【简单】什么是 DevOps?

DevOps是通过平台(Platform)、流程(Process)和人(People)的有机整合,以C(协作)A(自动化)L(精益)M(度量)S(共享)文化为指引,旨在建立一种可以快速交付价值并且具有持续改进能力的现代化IT组织。

简单来说,DevOps 就是让构建、发布和运行软件的过程变得更快、更顺、更稳

【中等】列举一下 DevOps 各环节的主流工具?


钝悟...大约 2 分钟DevOpsDevOps面试
操作系统面试

操作系统面试

操作系统简介

什么是进程和线程?它们有哪些区别和联系?

进程是正在运行的程序,其占用系统资源是独立的。

线程是系统调度的最小单位,其使用系统资源是共享的。

死锁是什么?如何预防和避免死锁?

互斥

占有并等待

不可强占

循环依赖

线程间有哪些通信方式?

共享内存

MQ

RPC

管程(synchronized)

信号量


钝悟...大约 1 分钟操作系统操作系统面试
2
3
4
5