运维开发面试题目汇总及答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

运维开发面试题目汇总及答案

一、Linux系统与基础运维

1.如何排查Linux服务器高CPU占用问题?请描述具体步骤。

首先使用`top`或`htop`命令查看系统整体CPU使用率,重点关注用户态(us)和内核态(sys)占比。若us过高,说明用户进程消耗大;sys过高可能是内核或驱动问题。

第二步,在`top`界面按`P`键按CPU使用率排序,定位高CPU进程的PID。

第三步,使用`ps-mpPID-oTHREAD,tid,time`查看该进程的线程占用情况,找到高CPU的线程ID(TID)。

第四步,将TID转换为十六进制(`printf%x\nTID`),使用`jstackPID|grep十六进制TID-A30`(Java进程)或`strace-pPID`(普通进程)分析具体线程在执行的操作。

第五步,若进程为脚本(如Python/Shell),可结合`py-spy`(Python)或`ltrace`(动态链接库调用)跟踪函数调用链,定位耗时操作。

第六步,检查是否有死循环、正则表达式回溯、未释放的资源(如文件句柄)等问题。若为周期性高CPU,需结合`crontab`或`systemdtimer`检查定时任务。

2.如何优化Linux文件系统IO性能?

(1)选择合适的文件系统:大文件场景推荐XFS(元数据性能好,支持日志校验);小文件多的场景可选Btrfs(支持子卷、快照)或ext4(兼容性好)。

(2)调整挂载参数:`noatime`关闭访问时间更新(减少日志写入),`data=writeback`(XFS)或`data=ordered`(ext4)降低日志开销;`discard`开启自动TRIM(SSD必备)。

(3)IO调度器优化:机械硬盘用`cfq`(公平队列),SSD用`noop`(无队列,直接提交)或`mq-deadline`(多队列截止时间)。

(4)分区对齐:确保分区起始扇区为4K倍数(SSD的擦除块大小),避免写入放大。

(5)使用缓存层:如`vmtouch`预加载热点文件到内存,或`dm-cache`(DeviceMapper缓存)将机械盘与SSD结合。

(6)限制进程IO优先级:通过`ionice`调整进程IO类(`-c2`为最佳效果类,`-n0`为最高优先级)。

3.简述Linux用户权限管理的核心机制,如何实现“最小权限原则”?

核心机制包括:

-UID/GID:每个用户/组对应唯一ID,文件权限由属主(u)、属组(g)、其他(o)的r/w/x位控制。

-访问控制列表(ACL):通过`setfacl`为特定用户/组设置额外权限(如允许用户A对目录有写权限但不在属组中)。

-能力(Capabilities):细粒度权限控制(如`CAP_NET_BIND_SERVICE`允许绑定1024以下端口,无需root权限)。

-sudoers:通过`visudo`配置用户/组的sudo权限,限制可执行的命令(如仅允许`/sbin/reboot`)。

实现最小权限原则的步骤:

(1)创建专用用户:如MySQL运行在`mysql`用户,Nginx运行在`www-data`用户,避免共用root。

(2)目录权限最小化:应用目录属主设为应用用户,其他用户仅赋予必要的r/x权限(如`chmod750/app`)。

(3)禁用不必要的SUID/SGID文件:定期检查`find/-typef\(-perm/4000-o-perm/2000\)-ls`,移除非必要的权限。

(4)使用ACL补充:如允许监控用户读取日志目录但不可修改,`setfacl-mu:monitor:r/var/log/app`。

(5)限制sudo权限:避免`NOPASSWD:ALL`,改为`userALL=(root)NOPASSWD:/usr/bin/systemctlrestartnginx`。

二、自动化运维工具与配置管理

1.Ansible、SaltStack、Puppet的核心区别是什么?如何选择?

(1)架构差异:

-Ansible:无代理(SSH或WinRM),主节点直接连接目标机器;轻量级,适合小规模或跨云环境。

-SaltStack:C/S架构(Master/Minion),基于ZeroMQ通信,支持批量执行和实时反馈;适合中大规模集群。

-Puppet:C/S架构(PuppetServer/Agent),基于RubyDSL,状态管理强;适合需要严格配置一致性的场景。

(2)配置模型:

您可能关注的文档

文档评论(0)

ꪗꪖꪑ + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档