面试运维岗位所遇到的问题

OSI七层模型分别是哪七层?简述TCP三次握手和四次挥手

首先OSI七层模型从上到下依次是:

应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

TCP三次握手是用来建立可靠连接:

第一次握手:客户端给服务端发SYN报文,请求建立连接;

第二次握手:服务端返回SYN+ACK,同意连接并确认客户端;

第三次握手:客户端再发ACK确认,双方正式建立TCP连接。

TCP四次挥手是用来断开连接,因为TCP是全双工通信,收发通道要分开断开:

第一次挥手:客户端发FIN,表示自己没有数据要发送了,请求关闭;

第二次挥手:服务端回ACK,确认收到关闭请求;

第三次挥手:服务端数据传输完成后,也发FIN告知客户端;

第四次挥手:客户端回ACK确认,双方连接彻底断开。

容器化和虚拟化有什么区别?Docker 和 K8s 是什么关系

首先容器化和虚拟化核心区别:

虚拟化是虚拟机,拥有独立完整操作系统,占用资源大、启动慢、隔离粒度粗;

容器化共享宿主机Linux内核,只打包应用和依赖,轻量、秒级启动、资源消耗小、部署灵活。

Docker 和 K8s 的关系:

Docker 是容器运行工具,负责把应用打包成镜像、创建并运行单个容器;

K8s 是容器编排管理平台,用来批量管理成千上百个Docker容器,实现自动调度、自愈、扩缩容、滚动更新。

Docker负责跑容器,K8s负责管容器。

K8s中Deployment和StatefulSet区别?为什么MySQL要用StatefulSet

Deployment 管理无状态应用:

Pod名称、IP都是随机的,重建后标识会变,存储不固定,适合Nginx、前端、普通微服务这类无状态业务。

StatefulSet 管理有状态应用**:

Pod名称、网络标识、存储都是固定有序的,重建后身份不变、数据存储不丢失。

MySQL 必须用StatefulSet的原因:

数据库属于有状态应用,需要固定Pod身份、稳定网络访问、数据持久化不丢失、主从节点有序,不能像普通Pod随意漂移重建,所以要用StatefulSet。

Linux 查看CPU、内存、磁盘、日志常用命令有哪些

查看CPU:top、htop、mpstat

查看内存:free -h、top

查看磁盘:df -h 看磁盘使用率,du -sh 看目录占用大小,iostat 看磁盘IO性能

查看日志:tail -f 实时跟踪日志,cat、less 查看全量日志,grep 过滤关键字日志。

软链接和硬链接的区别?

软链接和硬链接:

软链接相当于Windows快捷方式,可以跨分区、支持目录,源文件删除后链接失效;

硬链接是同一个文件的多个入口,不能跨分区、不支持目录,删除源文件依然可以通过硬链接访问。

HTTP 和 HTTPS 区别,301和302重定向有什么不同

HTTP和HTTPS区别:

HTTP 明文传输,端口80,不安全、容易被抓包篡改;

HTTPS 是HTTP加上SSL/TLS加密,端口443,传输加密、身份可信,生产环境网站基本都用HTTPS。

301和302重定向:

301是永久重定向,浏览器会缓存跳转规则,永久生效;

302是临时重定向,不缓存,每次访问都会重新跳转,适合临时业务切换。

线上应用延迟高、接口响应慢,你的完整排查思路是什么

遵循从底层到应用、从硬件到业务的排查顺序:

第一步,先看服务器资源:CPU、内存、磁盘IO、网卡带宽有没有打满瓶颈;

第二步,排查网络:有没有丢包、DNS解析慢、TCP连接超时;

第三步,查看应用日志,看有没有报错、超时、线程阻塞;

第四步,排查中间件和数据库:MySQL慢查询、Redis压力、消息队列堆积;

最后再排查代码逻辑、服务间调用链路问题。

Docker 容器网络异常、无法访问外部服务,排查步骤有哪些

按从内到外逐层排查:

第一,进入容器内部,ping外网、测试DNS解析是否正常;

第二,检查容器网络模式、端口映射配置是否正确;

第三,查看宿主机网络、防火墙、iptables规则有没有拦截请求;

第四,使用tcpdump抓包,查看请求有没有发出、有没有回包;

最后检查Docker网桥、虚拟路由配置是否出现异常。

相关推荐
森旺电子1 小时前
关键路径+松弛时间
linux·运维·服务器
暗不需求1 小时前
深入理解 React 受控组件与非受控组件:从源码到面试
前端·react.js·面试
凯瑟琳.奥古斯特1 小时前
IP组播跨子网传输核心技术解析
java·开发语言·网络·网络协议·职场和发展
贺国亚1 小时前
synchronized- 并发
java·面试
金玉满堂@bj1 小时前
Inspect.exe:Windows 桌面自动化的定位利器与 Pywinauto 实战
运维·windows·自动化
代码柏拉图1 小时前
AI时代如何提问面试者
人工智能·面试·职场和发展
运维全栈笔记1 小时前
Harbor生产级部署实战:PostgreSQL+Redis+MinIO全解耦架构详解
linux·运维·服务器·笔记·架构·kubernetes·k8s
_深海凉_1 小时前
LeetCode热题100-对称二叉树
算法·leetcode·职场和发展
wanhengidc1 小时前
云手机中虚拟技术的功能
运维·服务器·网络·安全·web安全·智能手机