2024 Linux 运维面试题分享-1

前言: 首先要强调的是运维面试中遇到 不会 的问题,如何处理?这就需要能够想到 平替 的方案,完全不会的问题不存在,你首先需要注意到的是,技术面试者知道不是所有人都能回答他想要的问题,只要不是太小白的问题,他都更看重的是你的 整体思维 ,能找到不同解决问题的 方案 ,或者给出大致思路都可以,其他的面试技巧如下:

在运维面试中,如果遇到不会的问题,可以采取以下几种策略来妥善处理:

  • 保持冷静:首先,不要慌张,保持冷静,这有助于你更好地 思考 问题。
  • 诚实承认:如果确实不知道答案,诚实地告诉面试官你不知道,但强调你 愿意学习
  • 展示思维过程:即使你不知道确切的答案,也可以展示你的 思考过程 ,比如你会怎样去研究这个问题,或者你会如何使用已有的知识来尝试解决问题。
  • 提出替代方案:如果你对问题的具体细节不清楚,可以提出一些 替代 方案或类似情况下的处理方法。
  • 询问更多信息:有时候,问题可能不够明确,你可以向面试官 请求更多信息 ,以便更好地理解问题。
  • 关联到已知知识:尝试将问题与你所了解的相关知识联系起来,展示你的知识广度和 应用能力
  • 展示学习能力和适应性:强调你的学习能力和适应性,表明你能够 快速掌握新技能 并解决新问题。

下面是一个例子:

面试官问:"你如何优化一个大型网站的数据库性能?"

如果你对数据库优化不是特别熟悉,可以这样回答:

保持冷静 :深呼吸,然后开始回答。

诚实承认 :"我对数据库性能优化有一些了解,但可能不是专家级别的。"

展示思维过程 :"我通常会从分析查询性能开始,检查慢查询日志,优化索引,考虑读写分离等策略。"

提出替代方案 :"如果我没有足够的信息来给出具体的优化方案,我会 建议 使用一些性能监控工具来收集更多数据,以便进行更深入的分析。"

询问更多信息 :"您能 提供 一些当前数据库的性能指标或者遇到的具体问题吗?这将帮助我更准确地理解问题所在。" (打破僵局的关键就是人为制造出变数,获取更多信息然后得以关联到已学的知识通常是简单而 高效 的面试手段)

关联到已知知识 :"虽然我对数据库优化不是专家,但我在系统监控和性能评估方面有 丰富的经验 ,我相信这些技能可以帮助我快速找到问题并提出解决方案。"(如果能无缝的转移话题到自己擅长的领域,会是更高级的做法,这通常要求你能大胆些 展示自己

展示学习能力和适应性 :"我有很强的学习能力,如果需要,我可以快速学习并 掌握 数据库优化的最佳实践。"

我相信通过这种方式,即使在面对不会的问题时,你也能展示出你的 专业素养 和解决问题的能力。最后是一些面试题库分享给大家。

1、mysql 主从延迟如何优化?

1) 提升硬件性能:确保从服务器的硬件资源,如CPU和内存,能够满足复制的需求,特别是当主服务器的负载较高时。

2)优化主从服务器间的网络:网络带宽和稳定性对复制延迟有很大影响,确保网络环境良好,以减少因网络问题导致的延迟

3) 优化主库的写入性能,优化 SQL 语句,使用 NVME 硬盘

4) 考虑使用半同步复制:半同步复制是一种更高效的主从复制方式,可以减少主从复制时间延迟。

5) 调整主从复制参数:可以通过调整 MySQL 主从复制参数来减少时间延迟。例如,可以增加 binlog_cache_size 和 max_binlog_cache_size 参数的值,以提高写入 binlog 的效率。

2、做过哪些灾备?

灾备的解决方案:

1)文件备份

2) 逻辑备份

3)主从备份

4) 双主备份

3 级别备份:主机备份,跨机房备份,异地备份;架构:2 地 3 中心

3、制作基础镜像文件的原则是什么?

最小化原则,减少分层

4、k8s 遇到复杂问题的解决思路是怎么样的?

查日志,看报错提示!检查配置,检查环境,排除法、替换法(记得备份数据)

5、你平时在公司主要做什么?

日常监控维护业务,服务器巡检,调优,写一些日常使用的脚本,日常工作形成文档化,服务优化:nginx优化,tomcat优化,系统优化。

6、你们原来公司的网站架构是怎么样的?

搭的LNMP架构,Nginx做了集群,做了反向代理负载均衡,mycat读写分离,数据库做的一主两从,并且做了MHA高可用

7、nginx,lvs,haproxy 三个有什么区别

lvs优势:抗负载能力很强、工作稳定、不占什么流量、pv超过1000万可用lvs

nginx:nginx工作第7层,支持http应用本身分流,lvs没有这个功能,nginx 对网络依赖很小,nginx安装简单也稳定,流量日pv <=1000万nginx足以能撑住,一般不是特别大的公司都达不到lvs使用级别。官方说并发50000都没什么问题,测试过并发1-2万根本没什么问题。

haproxy:

1).haproxy是支持虚拟主机的,可以工作在4、7层(支持多网段)

2).haproxy的优点能够补充nginx的一些缺点,比如支持session的保持,Cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。

3).haproxy跟lvs类似,本身就只是一款负载均衡软件;单纯从效率上来讲haproxy会比nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。

4).haroxy支持TCP协议的负载均衡转发,可以对MySQL读进行负载均衡,对后端的MySQL节点进行检测和负载均衡。

8、mysql用的哪个版本,你们的数据库怎么备份,什么时间备份,备份数据量多大

用的5.7 逻辑备份 每天全量备份 500G 后面改用xbk备份。

9、nginx状态码499、401、404、400是什么意思

499:服务端处理时间过长,客户端主动关闭了连接

401:权限验证错误,一般是用户名和密码错误等

404:访问文件不存在

400: web服务器遇到不完整的http请求头,一般是请求头或cookie信息过大,调整nginx相关参数调大即可。

**10、nginx状态码 500、502 、504、503错误可能的原因有哪些?**   500:大多数是代码问题或者sql报错或连接不上数据库、磁盘空间不够,系统文件句柄数设置太小   502:一般就是后端问题,服务挂了或者进程不够用了大并发时候处理不过来,增加后台服务器   504:网关超时,nginx里配置了超时时间,在配置的时间内没处理过来,导致超时,后台服务不一定是挂了   503:服务临时不可用,一般是临时服务器维护或者过载,临时的,过段时间会恢复

11、nginx状态码301、302、304 ,200分别表示什么意思

301状态: 永久重定向

302状态: 临时重定向

304状态: 客户端有缓存情况下服务端的一种响应,访问的文件还没过期

200状态: 访问正常

12、如何备份大数据mysql数据文件,mysql都优化哪些

xtrabackup热备份 : xtrabackup备份时候是热备,不会锁表。

mysql优化 : 主要有两个主要方面:安全、性能、参数、架构、sql语句

安全方面 :可以把默认端口3306改为其他的,对用户降权,以比普通用户运行mysql即可,开启二进制日志文件,最好在禁止一下root账户远程访问

性能方面 :可以给主机选择合理的cpu,内存调大,硬盘,可以对Linux系统内核参数优化,数据库优化的话可以对执行计划,索引,sql改写等等优化

参数优化 : innodb的buffer参数调大,连接数调大,缓存的参数优化

架构优化 : 主从,读写分离,一主多从,架构调整。

sql语句优化: 协助开发优化,开启慢查询sql,是否没有索引,是否需要借助redis缓存,es等。

13、你在上家公司用的什么监控软件(zabbix)?都监控些什么?怎么增加模板?

zabbix 对系统层监控和应用层监控

系统层:如cpu、内存、硬盘、磁盘i/0、流量、连接数

应用层:进程、mysql主从状态、tomcat性能监控、mysql性能监控

网站状态

zabbix+grafana监控可视化

故障报警,预警,邮件或微信

自动注册,自动安装客户端

14、一台web服务器应该监控哪些指标

网站状态 cpu 内存 磁盘i0 连接数

15、zabbix监控数据库监控哪些参数

主从状态 进程 性能指标比如 查询吞吐量 查询执行性能 连接情况 缓冲池情况,模板导入监控

16、写shell脚本监控 mysql 主从 的思路

判断io和sql线程是否为yes, 监控主从复制延迟从 show slave status 中 Seconds_Behind_Master 参数显示了主从复制的延迟时间为多少秒。

17、公司出口带宽?每天网站pv? uv?

带宽:100M,pv:100W,uv:5W

18、你们公司备份策略是什么?数据量多大?备份周期?备份工具?备份方式?是否做数据恢复备份演练?

我们线上服务器数据库采用数据库逻辑备份mysqldump 每天进行全量备份,binlog日志保留7天

我们线上服务器异地也有一套环境就是做灾备用和故障演练用的,xbk备份或逻辑备份,数据量 500G大小。

19、你在工作中是怎么做日志分析的?例如:访问日志、错误日志等

我们公司使用ELK日志分析系统做的,日志进行可视化,服务器日志每周备份一次进行日志切割

20、你在上家公司针对防攻击、扩容、容灾等问题是怎么制定和优化解决方案的?

防攻击我们公司使用脚本做的实时探测异常ip多次请求,拉黑机制

扩容制作运维扩充方法,发送邮件通知有关人员知悉,先写文档,在测试环境测试好后,再正式环境再做

容灾我们公司没有做,我们架构基本都是有高可用。

21、你们公司如何自动化代码上线?

我们公司代码上线使用jenkins+mave自动构建编译打包推送到应用服务器;如果是手动方法:我们有制定手动代码上线流程;根据流程上线:如果测试环境测试没有问题时候,使用灰度方法发布上线。

22、你们公司安全方面怎么我做的?监控体系结构是怎样的

1).服务器有外网ip 全部去掉,采用内网通信除了对外服务器必须对外,只有nginx对外开放外网ip

2).关闭密码认证登录服务器,采用秘钥认证登录服务器

3).服务器权限不对外开放,内网访问。

4).利用防火墙和华为云安全组关闭没必要的对外端口

5).jumpserver跳板机使用

6).更改ssh端口

23、nginx日志的路径为opt/logs/access.logs,假设日志不能自动分割,写脚本让日志每天能够定时自动分割

cp access.logs /tmp/$(date +%Y%m%d)_access.logs && echo > access.log 通过 crontab 计划任务每天定时自动分隔。

24、redis是怎么做持久化的

持久化有两种方式RDB和AOF,RDB做镜像全量持久化,AOF做增量持久化。我们公司一般RDB和AOF会配合起来使用。在redis实例重启的时候,会使用RDB持久化文件重构内存,再使用AOF存放近期的操作指令来恢复重启前的状态。当然reids的机制是AOF开启且存在AOF文件时候,优先加载AOF文件。 AOF关闭或者AOF文件不存在的时候,加载RDB文件。

大流量的时候不要开AOF,开RDB即可。

如果服务器突然断电,可以使用AOF恢复,AOF日志有sync属性配置,在高性能场景下使用定时sync,比如1s1次,这样即使断电最多丢失1s的数据。

25、redis有哪些应用场景

1).存储json类型的对象

2).排行榜,计数器

3).优酷视频的点赞

4).朋友圈点赞

5).会话缓存

redis能支持10万并发等

相关推荐
正在走向自律40 分钟前
阿里云ESC服务器一次性全部迁移到另一个ESC
服务器·阿里云·云计算
gywl1 小时前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
青木沐1 小时前
Jenkins介绍
运维·jenkins
WTT00112 小时前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋32 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
了一li2 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
日记跟新中2 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭3 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
码农君莫笑3 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio