运维面试大全

文章目录

  • 第一阶段
    • 平常怎么处理故障,思路是什么样的
    • 公网和私网分类以及范围,本机地址,网络地址,广播地址
    • 交换机的工作原理
    • ICMP是什么干什么用的,它有哪些命令
    • TCP和UDP协议的区别
    • tcp有哪些控制位,分别是什么意思
    • 你是用过哪些Linux命令
    • Linux 系统安全优化与内核优化
      • 经常使用shell脚本做什么
      • 软连接与硬链接的区别
      • 怎么查看文件
    • IOS七层模型
    • 三次握手与四次挥手
    • lvm 逻辑卷创建过程
      • 磁盘配额
    • raid 磁盘阵列
    • 文本三剑客
    • 防火墙iptables与fireward
    • Linux系统资源查询命令
      • 日志的八大等级
    • Linux 引导过程
    • shell 函数的创建方法
    • 免交互的使用
    • 你是用过哪些shell脚本
    • Tcpdump抓包使用工具
    • CPU过高怎么解决
      • 如何杀死僵尸进程
    • 什么是中间件?什么是 JDK
      • 什么是CDN
  • 第二阶段
    • http
      • http 的版本
      • http 响应状态码
    • Nginx
      • Nginx 的常用模块有哪些?
      • Nginx 的 session 不同步怎么办
      • nginx的优化
      • Nginx如何实现动静分离
      • Nginx反向代理有哪些方式实现,有什么区别 ?如何配置
      • Nginx 负载均衡调度算法有哪些?
    • tomcat知识点
      • tomcat 三个端口号
      • tomcat 优化
    • LVS
      • LVS、Nginx、Haproxy 有什么区别?
      • 简述LVS三种模式 以及工作中使用哪种模式
    • keepalived
      • 脑裂的原因,如何解决
      • 简述 keepalived 如何通过健康检查来实现高可用?
    • mysql
      • sql 语句
      • 克隆表
      • 清空表数据
      • Mysql 六大约束
      • 遗忘 root 密码的解决方法
      • 索引的作用
      • 索引的创建
      • mysql 事务的 ACID 特性与四种隔离
      • 死锁的产生原因与解决方法
      • mysql 主从复制原理
    • 主从复制的部署过程
      • MHA 高可用
      • MHA 部署过程
      • MMM 高可用
      • mysql 数据库的优化
      • Mysql 数据库 cpu 飙升到 500% 怎么处理
    • Mysql 数据库备份
    • redis
      • redis 为什么读写速度那么快?
      • redis 常用的数据结构
      • redis 持久化
      • redis 哨兵
      • redis cluster 集群
      • redis 优化
      • 缓存和数据库 双写一致性问题
      • 缓存三大击穿问题
    • ELK
      • ELK 的工作原理
    • ELK 的插件有哪些
    • zabbix
      • Zabbix 组件 及 工作原理
      • zabbix 如何自定监控项
      • zabbix 你都监控哪些参数
    • kafka
      • Zookeeper 是什么?
      • Zookeeper 选举机制
      • 消息队列的作用
      • 消息队列的模式
      • kafka 架构
      • kafka ACK应答机制保证数据的可靠性
    • Ceph
      • 数据存储类型
      • Ceph 架构 (从下往上看)
      • Ceph 组件
      • Ceph 的存储过程
  • 第三阶段
    • Docker
      • docker 是什么?
      • docker 容器与 虚拟机的区别?
      • docker 三大核心概念
      • 6大namespace 命名空间是什么?
      • docker的镜像和容器管理命令?
      • docker run 的运行过程
      • cgroup 资源限制
      • docker 网络模式
      • dockerfile 有哪些指令
      • dockerfile 如何缩小构建镜像的体积
      • docker-compose 是什么?
      • docker-compose.yml 配置讲解
      • Harbor 私有仓库管理
      • consul 服务自动发现
      • https 的工作流程
      • 数据库是否放在容器中运行?为什么?
      • docker容器的重启策略?
    • Ansible
      • Ansible 概念
      • 模块
    • K8S
      • k8s 有哪些组件
      • k8s 组件的作用
      • pod 的创建过程
      • K8s 资源对象
    • K8S 二进制搭建
    • K8S kubeadm搭建
    • kubeadm 部署的K8S集群更新证书
    • K8S 3种网络
    • K8S 3种接口
    • flannel 3种模式
    • flannel UDP模式工作原理
    • flannel VXLAN模式工作原理
    • Calico IPIP模式工作原理
    • Calico BGP模式工作原理(本质就是通过路由表来维护每个 Pod 的通信)
    • flannel 和 calico 区别?
    • 陈述式资源管理
    • service 的 4 种类型:
    • service 的端口:
    • 如何获取资源配置清单文件模板(yaml配置文件)
    • 一个pod能包含几个容器?
    • pause容器的作用?
    • Pod 的 3 种类型:
    • Pod 的 3 种容器:
    • Pod 的 3 种镜像拉取策略: spec.containers.imagePullPolicy
    • Pod 的 3 种容器重启策略: spec.restartPolicy
    • Pod 容器的资源限制
    • Pod 容器的 3 种探针(健康检查)
    • 探针的 3 种探测方式
    • 探针参数:
    • Pod 应用容器生命周期的启动动作和退出动作
    • K8S是通过 List-Watch 机制实现每个组件的协作
    • scheduler 的调度策略
    • Pod 调度到指定的 Node节点
    • 标签的管理操作
    • 亲和性
    • 如何判断是否在同一个拓扑域?
    • 亲和性的策略
    • 污点 taint
    • 容忍 tolerations
    • 不可调度
    • 不可调度 + 驱逐
    • K8S是通过 List-Watch 机制实现每个组件的协作
    • scheduler 的调度策略
    • Pod 调度到指定的 Node节点
    • 标签的管理操作
    • 亲和性
    • 如何判断是否在同一个拓扑域?
    • 亲和性的策略
    • 污点 taint
    • 容忍 tolerations
    • 不可调度
    • 不可调度 + 驱逐

第一阶段

平常怎么处理故障,思路是什么样的

看故障现象根据经验就知道原因;
第一次碰到,先定位问题,故障不一定是我的问题,开发、测试、硬件、网络,也可能我的问题;如果问题在我,根据错误提示信息、系统日志、错误日志去分析问题。
系统问题可以用top看cpu、df看磁盘、uptime看负载、ps看进程、sar看流量。
应用程序就是看日志提示解决问题,如果是开发问题,可以通过邮件等方式,描述故障现象和定位过程发送给开发对接人和我的领导。
如果是网络问题,路由、交换机可以找网络工程师,可以抓包tcpdump;
如果是硬件问题,可以找厂商。

公网和私网分类以及范围,本机地址,网络地址,广播地址

公网
A:1.0.0.1~126.255.255.254/18
B:128.0.0.1~191.255.255.254/16
C:192.0.0.1~223.255.255.254/24
D:224.0.0.1~239.255.255.254
E:240.0.0.1~255.255.255.254
私网
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
其他
169.254.0.0~169.254.255.255 DHCP失效时分配的网址
127开头的都是本机 127.255.255.255除外 它是广播地址

224.0.0.18 VRRP协议交换机侦听此地址

交换机的工作原理

1)交换机开机时MAC地址表没有任何记录
2)源主机通过交换机发送数据帧给目标主机,交换机学习数据帧中的源MAC和对应接口标识并记录到MAC地址表中
3)如果交换机的MAC地址没有目的MAC地址所对应的接口记录,则会进行广播泛洪
4)只有拥有对应的MAC地址的主机才会进行回应响应
5)交换机会从目的主机回复的消息中学习到MAC地址和对应的接口标识并记录到MAC地址表中,之后两台主机可以通过交换机的MAC地址表进行单播通信
交换机通过MAC地址表的记录实现数据帧的转发,MAC地址表默认老化时间300S

ICMP是什么干什么用的,它有哪些命令

是一个错误侦测与回馈机制,发送错误和控制消息来探测节点的网络连通性
ping
pathping 例子:pathping www.baidu.com 跟踪数据包路径,计算机丢包情况
traceroute

TCP和UDP协议的区别

         TCP                                UDP

可靠性 可靠 不可靠
连接性 面向连接 无连接
报文 面向字节流 面向报文(保留报文的边界)
效率 传输效率低 传输效率高
双工性 全双工 一对一、一对多、多对一、多对多
流量控制 有(滑动窗口) 无
拥塞控制 有(慢开始、拥塞避免、快重传、快恢复) 无

tcp有哪些控制位,分别是什么意思

URG 紧急位
ACK 确认位
PSH 急迫位
RST 重置位
SYN 同步(连接)位
FIN 断开位

你是用过哪些Linux命令

性能监控方面: free 查看内存 top 动态监控cpu 负载 等 df 查看磁盘使用 ps 查看进程 iostat 查看io

用户方面:useradd 创建用户 chmod 修改权限 chown 设置归属

查询方面: sed grep awk cat more less which whereis

Linux 系统安全优化与内核优化

安全优化: 设置防火墙规则 限制root 用户远程登录 设置历史命令条目及登录超时 chattr锁定文件 时间同步 配置yum更新源

内核系统优化:

sysctl.conf 文件中
net.ipv4.ip_forward  设置路由转发
net.ipv4.tcp tw recycle = 1 开启time-wait 快速回收
net.ipv4.ip_local_port_range = 1024 65000  设置外向连接端口范围


/etc/security/limits.conf
nofile 设置文件最大打开数
nproc  设置最大进程数
rss 设置最大常驻集大小
menlock  锁定内存地址空间

经常使用shell脚本做什么

使用shell脚本进行重复性的操作

一键部署公司的业务服务

日志的监控和分割 备份 配置crontab -e 进行计划性任务

巡检

软连接与硬链接的区别

  1. 硬链接与源文件共享inode ,也就是说,他们都指向同一份数据,占用的磁盘空间也相同,删除一共硬链接并不影响源文件内容和其他硬链接,相当于给文件起了一共别名

  2. 软连接与源文件不仅inode不同,源文件删除了。软连接也就失效了,类似于一个快捷方式、

怎么查看文件

find 查找文件

locate 查找系统中已经建立的文件索引库

whereis 可以查找指定命令的二进制文件、源代码文件

which 查找命令所在的目录

IOS七层模型

  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 会话层
  6. 表示层
  7. 应用层

三次握手与四次挥手

三次握手 : pc1 向 pc2 发送一个 SYN 报文,pc 回复一个 SYN + ACK 报文 pc1 再次发送一个ACK报文

四次挥手: pc1发送一个FIN / ACK 报文给pc2 (此时pc1客户端进入等待断开连接状态)
pc2接收到pc1发送的请求断开报文之后回复一个ACK报文进行确认
pc2紧接着发送一个FIN / ACK 报文给pc1(此时pc2客户端进入等待断开连接状态)
pc1收到后发送ACK报文进行确认 (此时pc1进入时间等待状态 60秒后默认结束)

lvm 逻辑卷创建过程

  1. 创建一个物理卷: pvcreate 设备名(可创建多个)
  2. 创建卷组 : vgcreate 卷组名 物理卷名
  3. 创建逻辑卷: lvcreate -L 容量大小 -n 逻辑卷名 卷组名
  4. 扩展卷组:先扩展物理卷 在使用 vgextend 卷组名 设备
  5. 扩展逻辑卷 : 随后使用 lvextend -L + 容量大小 /dev/卷组名/逻辑卷名
  6. 格式化 挂载使用·

磁盘配额

  1. 首先检查是否安装 xfsprogs 和 xfs_quota
  2. 以支持配额的方式进行挂载文件系统 mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt 或者永久挂载/ dev / vgname1 / lvname1 / opt xfs defaults,usrquota, grpquota 0
  3. 对用户和组账号进行配额限制 xfs_quota -x -c 'limit -u bsoft-80M bhard-100M isoft=40 ihard=50 lisi’ /opt/
  4. 验证用户在限制目录下的使用

raid 磁盘阵列

raid 0 条带化存储 传输速率达到单个硬盘的N 倍 但它没有数据冗余

raid 1 镜像存储 实现数据冗余 但利用率为N/2

raid 5 N>=3 块盘组成 利用率 (N-1)/N (其中有一块是用来校验的)

raid 6 N>=4 块盘组成 (N-2)/ N (有两块盘用来校验)

raid 1 0 先做镜像 再做条带 利用率 N/2

文本三剑客

grep :

-i 不区分大小写

-v 取反

-n 显示行号

-r 递归过滤文件夹中的所有内容

-w 只显示全部字符

你可能感兴趣的:(运维,面试,职场和发展)