前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >运维面试题整理

运维面试题整理

作者头像
全栈程序员站长
发布于 2022-06-30 12:47:23
发布于 2022-06-30 12:47:23
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

文章目录

原题

前言

1. Nginx反向代理配置,此类url www.abc.com/refuse,禁止访问,返回403

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location /www.abc.com/refuse { 
    

    return 403;
}

2. 如何使用iptables将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to 192.168.16.1:80

3. 如何查看Linux系统当前的状态,cpu内存的使用情况及负载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
系统 
# uname -a # 查看内核/操作系统/CPU信息 
# head -n 1 /etc/issue # 查看操作系统版本 
# cat /proc/cpuinfo # 查看CPU信息 
# hostname # 查看计算机名 
# lspci -tv # 列出所有PCI设备 
# lsusb -tv # 列出所有USB设备 
# lsmod # 列出加载的内核模块 
# env # 查看环境变量 
资源 
# free -m # 查看内存使用量和交换区使用量 
# df -h # 查看各分区使用情况 
# du -sh # 查看指定目录的大小 
# grep MemTotal /proc/meminfo # 查看内存总量 
# grep MemFree /proc/meminfo # 查看空闲内存量 
# uptime # 查看系统运行时间、用户数、负载 
# cat /proc/loadavg # 查看系统负载 

4. nginx如何重定义或者添加发往后端服务器的请求头

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
headers-more-nginx-module 模块用于添加,修改,或者清除 请求/响应头
  more_set_headers 用于添加、修改、清除响应头
    more_clear_headers 用于清除响应头
    more_set_input_headers 用于添加、修改、清除请求头
    more_clear_input_headers 用于清除请求头

5. 编写shell脚本,将当前目录下大于10K的文件转移到/tmp目录下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash
for Filename in $(ls -l |awk '$5 > 10240 {print $9}')
do
mv $Filename /tmp
done

6. 写出你所了解的门户网站的服务架构,可用什么方式实现的高可用、负载均衡?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
软负载: nginx+keepalived
lvs+keepalived 
应负载: F5

补充:

代理服务器一般使用nginx 作为反向代理
web服务器: 一般使用nginx
缓存服务器一般使用redis或者memcached
数据库服务器:一般使用mysql

常见的web集群:
apache+tomcat;nginx+tomcat;lvs+nginx+tomcat(lvs负责集群调度,nginx负责静态文件处理,tomcat负责动态文件)

LVS+keepalive 高可用。

7. nginx 日志过滤10点到12点之间访问IP排名和统计

nginx的日志格式如下图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@zmedu-17 logs]# pwd
/usr/local/nginx/logs
[root@zmedu-17 logs]# ls
access.log  error.log  nginx.pid

[root@zmedu-17 logs]# cat access.log | grep "16/Jun/2020" | sed -n '/07:39:54/,/08:00:01/p' | awk '{print $1}' | sort | uniq -c | sort -t " " -k2 -n -r
      8 192.168.1.4

8. 在11月份内,每天的早上6点到12点,每隔2小时执行一次usr/bin/httpd.sh怎么实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0 6-12/2 * 11 * /usr/bin/httpd.sh

9. 分布式文件存储是否有过了解和使用,了解过的有什么特性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FastDFS
 解决了大数据量的存储和负载均衡问题,特别适合中小文件为载体的在线服务,比如在线相册,视频网站等等。 网盘社区,广告和应用下载的存储。

补充:
单机时代:  在静态目录中存放文件资源。
优点:便利,项目直接引用目录,不需要复杂的技术
缺点: 如果作为前端网站使用,代码和文件耦合在一起,文件越多存放越混乱。如果流量大,静态文件访问会占用一定 的资源,影响业务的正常运行

独立文件服务器时代:
缺点:点击存在性能瓶颈,容灾,垂直扩展能力较差。
比如独立的图片服务器,项目上次文件的时候,通过ssh或者ftp上传到图片服务器的某个目录下,在通过nginx来访问此目录,返回一个独立域名的url地址。

分布式文件系统:
优点: 定时备份,如果一台down掉,迅速切换到另一台。扩展能力强,能够保证文件系统的可用性,也能够保证数据的完整性和唯一性

缺点: 系统复杂程度较高,需要更多服务器

常见的分布式文件系统还有: GlusterFS, GoogleFS, TFS, OSS

10. 使用netstat和awk命令统计下网络连接数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@zmedu-17 ~]# netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
ESTABLISHED      3

补充:
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

11. 在linux下,假设nginx日志的路径为opt/logs/access.logs,日志不能自动分割,请写出一个简单的脚本,让日志每天能够定时自动分割

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#! /bin/bash
base_path='/usr/local/nginx/logs'
log_path=$(date -d yesterday +"%Y%m")
minute=$(date -d "1 minute ago" +"%Y%m%d-%H:%M")
 
mkdir -p $base_path/$log_path
echo $base_path/access.log
mv $base_path/access.log $base_path/$log_path/access_$minute.log
echo $base_path/$log_path/access_$minite.log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

#crontab -l
* * 1 * * eck_nginx_log.sh

12. 写出raid的几种模式,以及他们的特点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
raid  名称 特点

raid0 提高读写性能,最少两块容量为N的硬盘,容量为2N

raid1 提高数据安全性,提高读取性能,不能提高写入性能,2003自带raid1功能,最少两块容量为N的硬盘,容量为N

raid10 先提高安全性,再提高性能,最少4块容量为N的硬盘,容量为2N,RAID10RAID01在安全性方面要强(体现在容错率上)

raid01 先提高性能,再提高安全性,最少4块容量为N的硬盘,容量为2N

raid5 提升安全性,安全性低于raid10(三块盘的情况下),大文件读写没有优势,小文件读写能力低于raid10,最低三块盘,容量为2快盘

13. 写一个脚本,查找15天前以png结尾的文件并删除

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/bin/bash
find /picture/*.png* -type f  -mtime +15 -exec rm  { 
   } \;

14. 对于服务器的监控使用过哪类工具及其特点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
zabbix, prometheus, cacti ,nagios

15. 作为运维工程师,你对该职位的认识和理解有哪些,日常工作中应该怎么做

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
做运维岗位带给你的改变: 
16.  可以认识更多的人,同时也能被更多的人认识, 对于一个喜欢沟通和交流的我来说,更能够在这个岗位上干的长久。
17.  运维人员临场应变能力和处理突发事件的能力会随着工作经验的增长而增强。更容易养成未雨绸缪,思维上得到锻炼,考虑问题更全面,细致,透彻,且内心承受能来强大
18. 运维能力不是高学历可以搞定的,需要的是勤奋努力,善于总结 

其次: 运维不是单纯的运维维护,而是运维规范和规则的制定者以及安全运维规范的忠实维护者和践行者。

在工作中应该做什么?
1. 监控,报警,线上部署
2. 脚本自动化,工具自动化
3. 故障处理

要弄懂底层原理,比如监控: 任何的监控都是: 收集数据,存储数据,数据分析,数据指标展示,告警五个部分。理解了这个,对于任何监控你可以去分析,哪个模块是在分析数据,哪个模块是在收集数据,能不能用其他的代替。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131919.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
[Matlab]绘图颜色[通俗易懂]
修改或规定Matlab中几何图形的颜色,对颜色可以有四种描述方法,分别是:颜色名称、短名称、RGB三元组、十六进制颜色代码。
全栈程序员站长
2022/09/04
2K0
[Matlab]绘图颜色[通俗易懂]
matlab画点图如何设置点的大小颜色_matlab如何根据点绘制曲线图
Matlab中,plot绘图的曲线线宽、标记点大小、标记点边框颜色和填充颜色的设置
全栈程序员站长
2022/11/05
8.8K0
matlab画图操作(修改坐标轴及字体,加粗,颜色修改,适合论文画图)「建议收藏」
在我们使用imagesc()函数对矩阵进行绘制图像的时候,经常会出现y轴刻度并不是我们所需要的顺序,例如我们需要从下向上依次递增,而我们绘制的图片却是从上 向下递增,不符合我们需求,于是有如下解决方案。
全栈程序员站长
2022/11/08
15.4K0
matlab画图操作(修改坐标轴及字体,加粗,颜色修改,适合论文画图)「建议收藏」
MATLAB绘图怎么变得更好看[通俗易懂]
同样用的都是MATLAB,为啥大佬们画的图都那么好看,而你画的图都是简单、普通,那是因为我们掌握的基础元素不一样,只有掌握了最基本的基础元素,再加上日益增长的审美,才会有一张好图出来。
全栈程序员站长
2022/08/31
1.2K0
Matlab画图常用的线条符号、颜色
4 、若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字串即可
全栈程序员站长
2022/07/01
2.8K0
matlab二维彩图colormap调色_matlab如何自定义颜色
这个博客是自己的第一篇博客,瞎写实验中。。。 (2020年2月第一次更新,调整了一下格式,增加了常用的颜色图形式)
全栈程序员站长
2022/11/07
5.6K1
matlab二维彩图colormap调色_matlab如何自定义颜色
Matlab画图线型、符号及颜色设置
-Solid line (default) – Dashed line : Dotted line -. Dash-dot line
全栈程序员站长
2022/09/03
3.3K0
Matlab画图线型、符号及颜色设置
MATLAB绘图总结
二维图像是在不同的平面坐标上将数据点连接起来的平面图像。常用的平面坐标有,直角坐标、极坐标、对数坐标等,MATLAB有很多常用的指令来绘制不同的二维图像。
全栈程序员站长
2022/09/07
1.7K0
matlab中plotyy设置曲线颜色,matlab plotyy 颜色「建议收藏」
MATLAB 画双纵坐标 plotyy 的用法 对数坐标 MATLAB 画双纵坐标具有两个纵坐标标度的图形 在 MATLAB 中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用 ……
全栈程序员站长
2022/07/05
1.7K0
【MATLAB 从零到进阶】day6 MATLAB绘图与可视化
图形窗口、线条、曲面和注释等都被看作是MATLAB中的图形对象,所有这些图形对象都可以通过一个被称为“句柄值”的东西加以控制,例如可以通过一个线条的句柄值来修改线条的颜色、宽度和线型等属性。这里所谓的“句柄值”其实就是一个数值,每个图形对象都对应一个唯一的句柄值,它就像一个指针,与图形对象一一对应。例如可以通过命令h = figure返回一个图形窗口的句柄值。
统计学家
2019/04/10
7840
【MATLAB 从零到进阶】day6 MATLAB绘图与可视化
matlab plotyy 坐标轴设置,[转载]Matlab plotyy画双纵坐标图实例[通俗易懂]
legend([H1,H2],{‘y1 = 200*exp(-0.05*x).*sin(x)’;’y2 =
全栈程序员站长
2022/06/28
1.2K0
Matlab画图 线条的颜色、宽度等相关设置
线条的属性有:Color —— 颜色、LineWidth —— 线条宽度、LineStyle —— 线型、LineJoin —— 线条边角的样式、 AlignVertexCenters —— 锐化垂直线和水平线
全栈程序员站长
2022/09/03
14.3K0
Matlab画图 线条的颜色、宽度等相关设置
matlab内建函数怎么不同颜色,matlab分段函数不同颜色绘图
functionfunc_baidu_56568133x=-200:200;y=(x0).*(x.^2+(1-x).^(1/4)-5);figure(1);plot(x,y)fh=@func_baid
全栈程序员站长
2022/07/05
7280
matlab 画折线图并美化
ytick 和 xtick 设置x和y轴刻度线位置; 可以单独使用 xtick([1,4,7])
全栈程序员站长
2022/09/06
7500
MATLAB画图——基础篇「建议收藏」
在MATLAB使用的过程中,学会画图是一项必要的技能。在这里,我总结了部分简单的画图函数,同时附上代码(本文中的程序为了方便给出的数据都很简单,大家可以自己去尝试其他数据)。这对刚刚开始接触MATLAB的小白来说,我认为还是很有帮助的。
全栈程序员站长
2022/11/08
2.2K0
MATLAB画图——基础篇「建议收藏」
MATLAB绘制统计折线图
  在论文或者文章写作中,经常需要使用图形来表示我们的实验结果。一般来说,这种表示方式比表格更加直观、更加可视化。因此,本文给出一种使用MATLAB处理数据得到折线图的教程。
全栈程序员站长
2022/06/29
8830
MATLAB绘制统计折线图
matlab画图标签,Matlab绘图
以下示例将演示该概念。下面绘制x的值范围是从0到100,使用简单函数y = x,增量值为5。
全栈程序员站长
2022/09/12
2.4K0
matlab画图标签,Matlab绘图
数学建模之MATLAB画图汇总
1.plot()函数 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。 例:
全栈程序员站长
2022/07/21
3K0
数学建模之MATLAB画图汇总
MATLAB自带的dwt2和wavedec2函数实现基于小波变换的自适应阈值图像边缘检测
小波函数有:haar小波函数、Daubechies小波函数、Biorthogo小波函数等,可以根据实际情况调用
全栈程序员站长
2022/09/15
1.9K0
MATLAB自带的dwt2和wavedec2函数实现基于小波变换的自适应阈值图像边缘检测
MATLAB plotyy总结「建议收藏」
当需要画出2个两个不同纵坐标的图时,此时的横坐标的图是相同的,在MATLAB中这个函数叫plotyy 下面列举的是一个简单的画plotyy的应用 几种不同的调用格式
全栈程序员站长
2022/07/04
5K0
MATLAB plotyy总结「建议收藏」
推荐阅读
相关推荐
[Matlab]绘图颜色[通俗易懂]
更多 >
目录
  • 文章目录
  • 原题
  • 前言
    • 1. Nginx反向代理配置,此类url www.abc.com/refuse,禁止访问,返回403
    • 2. 如何使用iptables将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0:
    • 3. 如何查看Linux系统当前的状态,cpu内存的使用情况及负载
    • 4. nginx如何重定义或者添加发往后端服务器的请求头
    • 5. 编写shell脚本,将当前目录下大于10K的文件转移到/tmp目录下
    • 6. 写出你所了解的门户网站的服务架构,可用什么方式实现的高可用、负载均衡?
    • 7. nginx 日志过滤10点到12点之间访问IP排名和统计
    • 8. 在11月份内,每天的早上6点到12点,每隔2小时执行一次usr/bin/httpd.sh怎么实现
    • 9. 分布式文件存储是否有过了解和使用,了解过的有什么特性
    • 10. 使用netstat和awk命令统计下网络连接数:
    • 11. 在linux下,假设nginx日志的路径为opt/logs/access.logs,日志不能自动分割,请写出一个简单的脚本,让日志每天能够定时自动分割
    • 12. 写出raid的几种模式,以及他们的特点
    • 13. 写一个脚本,查找15天前以png结尾的文件并删除
    • 14. 对于服务器的监控使用过哪类工具及其特点
    • 15. 作为运维工程师,你对该职位的认识和理解有哪些,日常工作中应该怎么做
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档