2024 Linux 运维面试题分享-2

1、shell编程常用哪些脚本
  自动备份,lnmp一键安装,for循环,case语句,if判断,数据库自动备份脚本,日常日志切割,自动化安装lnmp,安装nginx,redis,tomcat,自动化一键安装,远程部署脚本,自动化发布脚本,批量处理,批量建站,故障探测脚本(Myql 主从异常、主从延迟探测)。


2、自动化部署,自动化运维熟悉哪些?
  自动化运维工具 熟悉jenkins 、gitlab、salt 、ansible

3、简单列出如何做容灾与恢复,保证数据安全
  容灾:我们在异地也部署一套模拟真实环境,数据库每天进行全量备份,推送异地服务器上,以便于恢复使用。数据安全可以从三个层面入手:操作系统;应用系统;数据库;比较常用的是:应用系统和数据库层面的安全保障措施。
  操作系统的设置:防火墙使用。
  应用系统层次:比如密码设置不能使用明文、登录权限分配。
  数据库层面:权限控制。


4、mysql sleep线程过多如何解决
1).什么是sleep线程?
 sleep线程长时间存在可保持客户端与服务端的连接状态
 导致sleep过多的原因:
 使用太多持久连接(高并发系统中 不适合使用持久连接)
 程序中 没有及时关闭MySQL连接
 数据库优化不完善 导致执行sql语句过慢
2).解决方法:
  wait_timeout 和 interactive_timeout 的参数应该调整小一点。
 1).wait_timeout: 服务器关闭非交互连接之前等待活动的秒数。参数默认值:28800秒(8小时)
 2).interactive_timeout: 服务器关闭交互式连接前等待活动的秒数。参数默认值:28800秒(8小时)

想当时就生效利用直接在数据库里设置:
set global wait_timeout = 120 #临时全局生效
set wait_timeout = 120 #临时生效
永久生效:vim /etc/my.cnf 配置文件里进行配置
 【mysqld】
interactive_timeout = 120 #设置服务器关闭交互式连接前等待活动的秒数.系统默认是8小时
wait_timeout = 120 #设置服务器关闭非交互连接之前等待活动的秒数.系统默认是8小时
  在系统运行一段时间后,可以通过show processlist命令查看当前系统的连接状态,如果发现有大量的sleep状态的连接进程,则说明 wait_timeout 设置的过大,可以进行适当的调整小些。


5、写shell脚本防范ddos攻击的思路
  日志获取异常ip 然后使用防火墙拉入黑名单,也能用 nginx 限制异常 ip 的并发连接数,防止 ddos 攻击。


6、你在工作中都遇到过哪些故障?怎么解决的?日常工作中处理频率最多的是哪方面问题?怎么高效解决的?
网站访问慢排查故障:
  1).首先要确定是用户端还是服务端的问题。当接到用户反馈访问慢,那边自己立即访问网站看看,如果自己这边访问快,基本断定是用户端问题,就需要耐心跟客户解释,协助客户解决问题。
  2).如果自己访问也慢,那么可以利用浏览器的调试功能,看看加载那一项数据消耗时间过多,是图片加载慢,还是某些数据加载慢。排查静态资源问题还是动态某些数据加载慢问题。
  3).针对服务器负载情况。查看服务器硬件(网络、CPU、内存)的消耗情况。如果是购买的云主机,比如阿里云,可以登录阿里云平台提供各方面的监控,比如 CPU、内存、带宽的使用情况。 有无异常进程,有无攻击等。
  4).如果发现硬件资源消耗都不高,那么就需要通过查日志,比如看看 MySQL 慢查询的日志,看看是不是某条 sql语句查询慢,导致网站访问慢。
怎么去解决:
  1).如果是出口带宽问题,那么就申请加大出口带宽。
  2).如果慢查询比较多,那么就要开发人员或 DBA 协助进行 SQL 语句的优化。
  3).如果数据库响应慢,考虑可以加一个数据库缓存,如 Redis 等等。然后也可以搭建MySQL 主从和读写分离,一台 MySQL 服务器负责写,其他几台从数据库负责读。
  4).申请购买 CDN 服务,加载用户的访问。
  5).如果访问还比较慢,那就需要从整体架构上进行优化。做到专角色专用,多台服务器提供同一个服务。


7、你们数据库的数据量多大,平时怎么备份的
  现在500G 还是逻辑备份 准备使用 xbk备份,节约备份时间。


8、日志分析怎么做的,都关注哪些参数
  ELK 搜集:nginx,tomcat,redis,docker 等日志,统计并关注 web 服务的 PV,UV。


9、MySQL你都负责维护哪些内容
  1).权限管理
  2).mysql慢查询日常抓取协助开发分析
  3).mysql优化


10、mysql用的哪个版本,nginx哪个版本
  mysql 5.7.29, nginx 1.16.1


11、mysql主从原理是啥
  mysql主从同步就是异步复制过程,主库开启dump线程,从库开启i/0线程和sql线程
主库,增、删、改 生成二进制日志
  从库i/0线程去请求主库binlog日志,并把主库binLog日志复制到从库,然后写到中继日志里面,SQL线程会读取relay log文件中的日志,进行sql语句回放操作,来实现主从的操作一致,而最终数据一致。


12、DNS 查询原理是什么?
  ● 递归查询:客户端请求查询给首选DNS服务器,首选DNS服务器与其他DNS服务器交流,查询到结果返回
  ● 迭代查询:客户端请求查询给首选DNS服务器,首选DNS服务器再告知其他DNS服务器IP,客户端再次请求,迭代到目标DNS服务器查询结果返回


13、es的优化
  现代服务器上,磁盘往往是系统的最大瓶颈。 并且ES本身是磁盘使用密集型的服务,所以在磁盘能力提升后,集群整体性能会大幅度提高。条件允许,强烈建议SSD,SSD相对机械磁盘具有超高的读写速度和稳定性。采用RAID 0 数据条带化方式,可以提升写入速度。配置ES在多块磁盘同时进行读写。


14、nginx优化怎么做的
使用epoll事件驱动模型,效率会提高
提高进程数、网络连接数,增加cpu工作核数
启用gzip压缩传输
为静态文件启用缓存
timeouts设置,长连接设置
防盗链设置,设置非法域名不能访问
减小请求头部buffer大小,限制非法脚本的执行
防止ddos攻击
禁止恶意域名解析
隐藏版本信息


15、用ansible playbook编写过什么哪些
  使用playbook部署nginx,批量部署zabbix监控的客户端,批量执行LNMP一键部署化脚本。


16、用docker部署过哪些项目
  部署我们公司java项目,把单独服务封装成容器 使用 docker-compose 统一管理


17、docker的网络模式有哪些?
  host模式,只与主机间访问,container模式 就是容器模式,和其他容器共享同一张网卡,none模式,可以自定义网络配置,bridge模式,就是普遍应用的桥接模式


18、docker跟虚拟机有什么区别
  虚拟机是: 在物理机模拟整台机器包含硬件,每台虚拟机都拥有自己独立的操作系统,虚拟机一旦开启,预分配的资源全部占用
  docker是:容器,和我们宿主机共享硬件和操作系统实现资源动态分配,容器包含所有的应用服务都与其他容器共享内核,减少资源消耗。


19、传统的业务上线流程是怎样的?
  1).使用shell脚本自动化发布到测试环境,测试人员测试没问题
  2).使用shell脚本自动发布推送正式环境
  现在代码上线:gitlab+Jenkins+ansible,CI/CD 持续集成/持续部署,快速自动化上线,提高交付速度。


20、nginx与apache比有什么优点
nginx适合处理静态请求,动态请求很弱
nginx轻量级,占用资源少
nginx处理请求异步非阻塞,apache阻塞型
nginx并发很强 apache 弱点
nginx做动静分离,apache不行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker查询容器与镜像,删除容器与镜像

sudo docker ps -a sudo docker stop id 停止容器 sudo docker-compose up -d 进入容器,启动容器 docker ps -a 查询所有容器 docker images 查询所有镜像 sudo docker rm 容器id 删除容器 sudo docke rmi 镜像id 删除镜像

[240727] Qt Creator 14 发布 | AMD 推迟 Ryzen 9000芯片发布

目录 Qt Creator 14 发布Qt Creator 14 版本发布,带来一系列新功能和改进终端用户可通过命令行方式查看此新闻终端用户可通过命令行方式安装软件: AMD 推迟 Ryzen 9000芯片发布 Qt Creator 14 发布 Qt Creator 14 版本发布,带来一系列新功能…

高速板开源项目学习(二)

一定要找一个高速板写的详细的等长规范: 看的出来,这位小哥也是卡着嘉立创最小免费钻孔大小来打孔的: 这里的天线,他做了禁止铺铜和走线处理,模拟信号在这里容易遇到干扰,这样是正确的,值得去学…

tensorflow数据相关总结----学习笔记(四)

标量 标量由只有一个元素的张量表示。 下面的代码将实例化两个标量,并执行一些熟悉的算术运算,即加法、乘法、除法和指数。 import tensorflow as tfx tf.constant(3.0) y tf.constant(2.0)print(x y) print(x * y) print(x / y) print(x ** y) &qu…

人事面试:

1:工资构成。 2:绩效考核标准 3:具体的福利待遇 十部贴 4:工资是前还是税后 5:一年 几 薪水 6:试用期的时间 和待遇 7:扣钱的标准 8:发工资的时间

《知识点扫盲 · 线程池基础篇》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

【Java】缓存与数据库:双写一致性、缓存问题

这里我讲的是缓存和数据库,以redis和mysql举例,实际上缓存包括不限于浏览器缓存、redis、memcache、本地缓存guava等等,数据库也有很多种,这里我们仅仅以较常见的redis和mysql举例。 一,缓存与数据库的查询、写入 1&…

【node】Linux下安装node和npm

Linux下安装node和npm 下面的版本虽然安装失败了,第一次尝试不容易,只需要更换一下node的版本为v16.20.2即可安装成功,20这样的高版本对大部分linux服务器来讲还是版本太高了,GLIBC动态库不支持,升级颇为麻烦&#xff…

她是军统美女特工,色诱汉奸一把好手!一件事之后竟......

一.前言 我们在上一篇里简单了解了什么是树,以及树的一种特殊结构——二叉树。而我们对二叉树息息相关的堆进行了简单的介绍。我们知道了堆是借助二叉树中完全二叉树来实现的。它实现了二叉树的顺序存储。但对于普通的二叉树来说,顺序存储会造成空间浪费…

贪心+背包

这道题比较坑的就是我们的对于相同截止时间的需要排个序&#xff0c;因为我们这个工作是有时间前后顺序的&#xff0c;我们如果不排序的话我们一些截止时间晚的工作就无法得到最优报酬 #include<bits/stdc.h> using namespace std;#define int long long int t; int n; c…

看板项目之vue代码分析

目录&#xff1a; Q1、vue项目怎么实现的输入localhost&#xff1a;8080就能自动跳到index页面Q2、组合饼状图如何实现Q3、vue项目如何实现环境的切换Q4、vue怎么实现vue里面去调用js文件里面的函数 Q1、vue项目怎么实现的输入localhost&#xff1a;8080就能自动跳到index页面 …

内部 API 与外部 API - 这重要吗?

内部和外部 API 的受众和用途有所不同。公司的内部利益相关者使用内部 API 作为其工作角色的一部分。目标是提高内部生产力和效率。外部 API 可以产生收入&#xff0c;将公司品牌打造为开源产品&#xff0c;或者改进 API。 本文讨论内部 API 和外部 API 之间的差异。 公共 AP…

数据结构——串

语言&#xff1a;C语言软件&#xff1a;Visual Studio 2022笔记书籍&#xff1a;数据结构——用C语言描述如有错误&#xff0c;感谢指正。若有侵权请联系博主 一、串的基本概念 子串&#xff1a;串中任意连续的字符组成的子序列称为该串的子串。 主串&#xff1a;包含子串的串称…

做一个能和你互动玩耍的智能机器人之三

内容节选自英特尔的开源项目openbot的body目录下diy下的readme&#xff0c;这是一个组装和连线方式的说明文档&#xff0c;接线需要配合firmware固件使用&#xff0c;固件代码的接线柱是对应的。 body目录内部十分丰富&#xff0c;主要介绍了这个项目的背景和硬件以及如何让他…

【SQL 新手教程 4/20】关系模型 --索引

&#x1f497; 关系数据库建立在关系模型上⭐ 关系模型本质上就是若干个存储数据的二维表 记录 (Record)&#xff1a; 表的每一行称为记录&#xff08;Record&#xff09;&#xff0c;记录是一个逻辑意义上的数据 字段 (Column)&#xff1a;表的每一列称为字段&#xff08;Colu…

iOS 评论弹窗手势问题

基本原理 给slidePopupView添加一个滑动手势 并设置代理 我们在 shouldReceiveTouch 代理方法中 通过 touch.view 判断 是否是滑动tableView, 如果 touch.view 是tableView &#xff0c; isDragScrollView 就是YES, 否则就是NO 并且要 shouldRecognizeSimultaneouslyWithGestu…

Unity发布安卓解决报错: You will no longer be able to disable R8

Unity发布安卓解决报错&#xff1a; You will no longer be able to disable R8 问题描述1 版本&#xff1a;2 问题描述&#xff1a;3 分析&#xff1a; 解决方案1 升级工程2 选择安卓版本12L3 直接打包 问题描述 1 版本&#xff1a; unity 2021 2 问题描述&#xff1a; da…

go run command

文章目录 1.简介2.格式3.示例4.注意事项5.常见用途参考文献 1.简介 编译并运行 Go 程序。 2.格式 go run [build flags] [-exec xprog] package [arguments...]run 编译并运行指定的 main 包。 通常&#xff0c;main 包被指定为来自单个目录的 .go 源文件列表&#xff0c;但…

echarts实现在市级行政区点击县级行政区,显示单个县级行政区地图数据

因需兼容ie&#xff0c;此处所有变量声明都用var。如无需支持&#xff0c;可另做let修改。 这里以常州市为例,我们可以去阿里云提供的地理工具去截取地图json数据DataV.GeoAtlas地理小工具系列 点击所选区域&#xff0c;右侧会对应显示json数据&#xff0c;再次点击右侧红框内…

MySQL 索引相关基本概念

文章目录 前言一. B Tree 索引1. 概念2. 聚集索引/聚簇索引3. 辅助索引/二级索引4. 回表5. 联合索引/复合索引6. 覆盖索引 二. 哈希索引三. 全文索引 前言 InnoDB存储引擎支持以下几种常见索引&#xff1a;BTree索引&#xff0c;哈希索引&#xff0c;全文索引 一. B Tree 索引…