面试题总结

文章目录

  • 第一阶段:
  • 网络
    • 1、osi七层模型、tcp\ip 五层模型
    • 2、三次握手四次挥手
    • 3、交换机路由器工作原理
    • 4、vlan的作用
    • 5、icmp协议
  • Linux
    • 1、cpu、内存、io、磁盘容量、网络流量、load average
    • 2、lvm逻辑卷如何创建
    • 3、raid磁盘阵列
    • 4、开机引导过程
    • 5、软连接硬链接
    • 6、查找文件命令
    • 7、yum仓库
    • 8、文本三剑客grep、awk、sed
    • 9、linux的性能安全优化
  • shell脚本
    • 1、预定义变量
    • 2、输出全局变量
    • 3、如何创建函数
    • 4、 shell实现nginx日志自动切割
  • 防火墙
    • 1、四表五链
    • 2、iptables命令
    • 3、firewalld九大区域
  • 第二阶段
    • 1、nginx的优化
    • 2、nginx负载均衡器的类型
    • 3、nginx如何实现会话保持
    • 4、nginx四层代理和七层代理的区别
    • 5、tomcat的几个端口
    • 6、mysql sql语句
    • 7、MySQL索引
    • 8、MySQL事务、隔离级别
    • 9、什么是死锁,产生的原因、解决方法、如何避免
    • 10、MySQL存储引擎
    • 11、Keepalived
    • 12、脑裂
    • 13、状态响应码
    • 14、MySQL的存储过程
    • 15、MySQL高可用
    • 16、MySQL主从复制有延迟
    • 17、MySQL双1设置
    • 18、MySQL配置优化
    • 19、如何定位并优化慢查询SQL?
    • 20、Redis 为什么读写速度那么快
    • 21、redis的数据结构
    • 22、redis 中rdb和aof的区别
    • 23、redis主从复制(哨兵、集群)
    • 24、什么是 CDN
    • 25、rsync怎么实现远程同步、清空文件
    • 26、elk怎么工作的、组件
    • 27、es集群部署
    • 28、Logstash模块
    • 29、es创建删除索引
    • 30、kafka作用特点、组件
    • 31、zabbix组件、如何自定义监控状态
    • 32、zookeeper的选举机制
    • 33、redis的优化
    • 34、 ceph的存储过程
    • 35、缓存击穿,穿透,雪崩
      • 缓存击穿:
      • 缓存雪崩
      • 缓存穿透
    • 36、MHA 部署过程:
    • 37、tomcat的优化
  • 三、
    • 1、k8s的工作流程
    • 2、k8s核心组件
      • master组件
      • node组件
    • 3、相比VLAN技术,VXLAN技术具有以下的优势:
    • 4、flannel UDP 模式的工作原理
    • 5、flannel vxlan 模式工作原理

第一阶段:

网络

1、osi七层模型、tcp\ip 五层模型

应用层 :直接面向用户,为用户的应用进程提供服务,处理应用进程之间的通信。

表示层 :确定数据的表示形式,完成数据格式之间的转换,从而使收发双方都能理
解。

会话层 :负责管理远程用户或进程之间的通信,为表示层提供建立、维护和结束会话连接的功能。

传输层 :定义传输数据的端口号,将数据以数据段的形式完成端到端的传输。

网络层 :通过逻辑寻址,实现不同网络之间的路径选择,将源和目的ip地址以数据包的形式实现数据从源地址到目的地址的传输。通过ip地址实现点到点的通信。

数据链路层 :建立相邻结点之间的数据链路,进行硬件地址寻址、差错校验等功能,将比特封装成数据帧的形式进行文件的传输。通过物理(MAC)地址来实现两个相邻网络之间的通信。

物理层 :将数据以比特流的形式进行传输,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。

应用层—传输层—网络层—数据链路层—物理层

2、三次握手四次挥手

三次握手:

  1. 客户端向服务器发送一个SYN(同步)报文,其中包含一个随机的初始序列号(ISN)。
  2. 服务器收到SYN报文后,向客户端发送一个SYN-ACK(同步-确认)报文,其中确认号为客户端的ISN加1,并且服务器也随机生成一个ISN。
  3. 客户端收到服务器的SYN-ACK报文后,向服务器发送一个ACK(确认)报文,其中确认号为服务器的ISN加1,同时客户端还确认了服务器的ISN。

四次挥手:

  1. 当客户端需要关闭连接时,发送一个FIN(结束)报文,表示数据发送完成。
  2. 服务器收到FIN后,发送一个ACK报文作为确认。
  3. 服务器继续发送数据,当数据发送完成后,向客户端发送一个FIN报文。
  4. 客户端收到服务器的FIN后,发送一个ACK报文作为确认,并进入TIME_WAIT状态。在TIME_WAIT状态持续2倍的报文最大生存时间(MSL)后,关闭连接。

这样,通过三次握手建立连接和四次挥手关闭连接可以确保数据的可靠传输和连接的正常关闭。

为什么要进行三次握手呢?

因为三次握手的过程可以最快的进行客户端和服务器之间的互联互通,减少资源消耗。

3、交换机路由器工作原理

交换机:交换机的工作原理可以理解为是交换机通过MAC地址表来实现数据的传输

1、初始状态:交换机刚开机时MAC地址表没有任何记录。
2、MAC地址学习:源主机通过交换机发送数据帧给目标主机,交换机学习数据帧中的源MAC和对应的接口标识,并记录到MAC地址表中。
3、广播未知数据帧:如果交换机的HMAc地址表没有目的MAc地址所对应的接口记录,则会进行广播泛洪。
4、接收方回应:只有拥有对应目的MAC地址的主机才会进行回复响应。
5、交换机实现单播通信:交换机会从目的主机回复的消息中学习到MAc地址和对应的接口标识,并记录到MAC地址表中,之后两台之间即可通过交换机。MAC地址表的记录实现单播通信
注:MAC 地址表的默认老化时间是300s

路由器:通过路由表转发

4、vlan的作用

vlan是一种虚拟局域网技术,它将一个物理局域网划分成多个逻辑上的虚拟局域网。VLAN的作用主要有以下几点:

  1. 提供逻辑隔离:VLAN可以将网络设备按照逻辑上的需求进行划分,使得不同VLAN上的设备之间无法直接通信,从而增强网络的安全性。
  2. 简化网络管理:通过VLAN,管理员可以根据不同的需求将设备逻辑上分组,方便管理和配置。例如,可以将同一部门或同一功能的设备划分到同一个VLAN,更好地进行网络资源的管理。
  3. 减少广播域:传统的广播会在整个物理局域网中传播,这会导致网络拥塞和冲突。而VLAN将不同的设备划分到不同的虚拟局域网中,可以减少广播域的范围,降低了广播引起的网络负载。
  4. 支持虚拟机迁移:在虚拟化环境中,VLAN可以帮助实现虚拟机的灵活迁移。通过划分不同的VLAN,可以使得虚拟机在不同的物理服务器之间迁移时,网络配置更加简单和灵活。

5、icmp协议

linux:ping traceroute

windows:tracert、

Linux

1、cpu、内存、io、磁盘容量、网络流量、load average

**free ** 查看交换空间个内存状态
**cat /etc/redhat-release ; cat /etc/*release ; cat /proc/version ** 查看当前系统版本
**uname -r ** 查看内核版本
**cat /proc/cpuinfo ; yum -y install sysstat, sar ; ** 查看cpu信息
**vmstat ** 查看系统内存,交换空间,io,cpu信息
**iostat ** 查看磁盘io性能
**top ** 动态查看系统当前进程信息CPU负载信息,内存信息,交换空间信息
**yum -y install dstat , dstat ** 获取占用cpu的进程
**uptime ;w ** 显示系统运行时间,登录用户 和 CPU 负载情况
**cat /proc/meminfo ** 查看内存
**top --> H ** 查看线程
**ps -T ** 查看线程

2、lvm逻辑卷如何创建

面试题总结_第1张图片

3、raid磁盘阵列

raid级别 硬盘数量要求 利用率 有无冗余能力 读写性能
raid0 N N 单个硬盘的n倍
raid1 N(为偶数) N/2 有,允许一个设备故障 读性能提升,写没有提升
raid5 N>=3 (N-1) /N 有,允许一个设备故障 需要多写一份纠删码,所以写性能相对raid 0低一些
raid6 N>=4 (N-2) /N 有,允许两个设备故障 需要多写两份纠删码,所以写性能相对raid 5更低一些
raid10 N>=4 (偶数) N/2 有,允许不同组中各坏一个 读性能可提升N倍,写性能提升N/2倍

4、开机引导过程

1 、 开机自检(BIOS):检测出第一个能够引导系统的设备,比如硬盘或者光驱。

2 、MBR 引导:运行放在MBR扇区里的启动GRUB引导程序

3 、[GRUB])菜单:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置以及路径位置。

4 、加载Linux内核:把内核和镜像文件系统加载到内存中

5 、init 进程初始化:加载硬件驱动程序,以及初始化进程,内核把init进程加载到内存中运行

5、软连接硬链接

软连接:ln -s 源文件 链接文件

硬链接:ln 源文件 链接文件

6、查找文件命令

find、locate、whereis、which

find:

-a:and 必须满足两个条件才显示
-o:or 只要满足一个条件就显示
-name:按照文件名查找文件
-iname:按照文件名查找文件(忽略大小写)
-type:根据文件类型进行搜索
-perm:按照文件权限来查找文件
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-fprint 文件名:将匹配的文件输出到文件。
-newer file1 ! newer file2 查找更改时间比文件file1新但比文件file2旧的文件

7、yum仓库

8、文本三剑客grep、awk、sed

grep:

选项 作用
-i 查找时忽略大小写
-v 反向查找(后面的查找的条件,是除了这个限制的信息,其余都显示)
-n 显示行号
-r 递归过滤文件夹中的所有文件
-A 后面跟数字n +匹配的关键字,会显示关键字的后面n行
-B 后面跟数字n +匹配的关键字,会显示关键字的前面n行
-C 后面跟数字n +匹配的关键字,会显示关键字的前后n行
-e 多条件查询(逻辑or或关系

你可能感兴趣的:(运维)