整理一份这两天遇到运维的面试题(附答案)

  1. 分别说出客户端在使用匿名登录、本地登录和虚拟用户登录时,对应服务端的共享目录?
    匿名用户:/var/ftp
    本地用户:该本地用户的家目录
    虚拟用户:该虚拟用户所映射的本地用户的家目录
    这里解释一下虚拟用户的原理:在linux之下,使用vsftp建立用户之后,默认使用ftp访问的时候,是会访问到对应的用户家目录。如果想多个用户同时访问某一个目录,同时对同一目录下有着不同的权限,比如部分用户只能看,不修改,或者有的用户只能下载不能上传这些权限,这些设定只能通过vsftp中的虚拟用户来进行设定,普通的用户无法达到这样的效果。故先通过建立一个普通系统用户,建立家目录,然后将所有的虚拟用户映射到对应的普通系统用户家目录中,然后再对各虚拟用户进行权限控制,达到上述的效果。
  2. 阐述一下你对lnmp的理解
    LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
    下图是LNMP的架构图
    LNMP架构图
    接下来对LNMP的工作流程进行简单介绍(参考原文)
    第一步,浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上。
    第二步,将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发执行。
    第三步,将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx。
    第四步,服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。
  3. 说一下你对CGI和FastCGI的理解(以PHP为例)
      CGI全称是“通用网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序一般运行在WEB服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等
    CGI工作原理:每当客户请求CGI的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如php-cgi.exe),CGI 的一个进程则处理完一个请求后退出,下一个请求来时再创建新进程。当然,这样在访问量很少没有并发的情况也行。可是当访问量增大,并发存在,这种方式就不 适合了。于是就有了fastcgi。
      FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。
      FastCGI的工作流程如下:
      1. Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)
      2.FastCGI进程管理器自身初始化,启动多个CGI解释器进程(比如多个php-cgi)并等待来自Web Server的连接。
      3.当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。 Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
      4.FastCGI 子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时, 请求便处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,当处理完一个请求后,php-cgi便退出了。
  4. 解释一下MySQL主从复制的原理
      当开启主从复制时,从库生成两个线程,一个I/O线程,一个SQL线程。其中,I/O线程去请求主库的binlog,并将得到的binlog日志写到从库的relaylog(中继日志)文件中,而主库会生成一个 logdump 线程,用来给从库的I/O线程传binlog;从库的SQL线程,会读取relaylog文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致。
  5. 解释一下MySQL主从复制的几种种方式及区别
      MySQL有三种主从复制方式:
      第一种,同步,发主库发送binlog日志,只有所有从库同步,主库才能继续操作
      第二种,异步,发送binlog,只要主库发送binlog日志,主库就可以继续操作
      第三种,半异步,主库发送binlog日志,只要有一个从库完成复制,主库就可以继续操作
  6. PV、UV、IP之间的区别与联系
    以上三个术语都用来衡量网站的用户访问量
    PV(Page View)值就是所有访问者在24小时(0点到24点)内访问了某个网站多少个页面或某个网页多少次
    (页面刷新也会视为一次PV流量)。度量方法就是从浏览器发出一个对网络服务器的请求(Request),网络服务器接到这个请求后,会将该请求对应的一个网页(Page)发送给浏览器,从而产生了一个PV。那么在这里只要是这个请求发送给了浏览器,无论这个页面是否完全打开(下载完成),那么都是应当计为1个PV。
    UV(unique visitor)即独立访客数。一天内访问某个网站的人数,以cookie为依据;一天内同一访客的多次访问只能被记为一个UV。
    IP可以理解为独立IP的访问用户,指1天内使用不同IP地址的用户访问网站的数量。
### 运维工程师常见面试题答案 #### 1. 游戏运维的分类有哪些?各自的工作职责是什么? 游戏运维可以细分为开发运维、应用运维(业务运维)和系统运维。 - **开发运维**:负责为应用运维开发运维工具和运维平台[^1]。 - **应用运维**:主要负责业务上线、维护以及故障排查,通常会使用由开发运维团队提供的工具完成工作。 - **系统运维**:为应用运维提供必要的基础设施支持,例如操作系统、网络环境、监控体系和硬件资源等[^1]。 #### 2. 如何仅列出 `/test` 目录下的所有子目录? 可以通过以下命令实现: ```bash ls /test -l | grep "^d" ``` 此命令通过 `grep` 筛选出以字母 `d` 开头的内容,代表目录条目[^2]。 #### 3. 解释 `umask 022` 的含义。 `umask` 是用于设置文件或目录默认权限的一个机制。当执行 `umask 022` 后,新创建的目录默认权限为 `755`,而新创建的文件默认权限为 `644`。 #### 4. 排除 `/test/a` 子目录的情况下,如何将整个 `/test` 目录归档并压缩成 `.tar.gz` 文件? 以下是完整的操作命令: ```bash tar zcvf backup.tar.gz --exclude /test/a /test ``` 这条命令利用了 `--exclude` 参数来指定需要排除的目标路径,并将其余内容打包并压缩[^2]。 #### 5. 查找并显示名为 `test` 的进程所打开的所有文件。 可以使用如下命令查询: ```bash lsof -c test ``` 该命令基于进程名称筛选出对应的文件列表[^2]。 #### 6. 列举 RPM 包 `test.rpm` 中包含的所有文件。 可通过以下方式查看包内的具体内容: ```bash rpm -qpl test.rpm ``` 其中 `-qpl` 表示查询包清单。 #### 7. 创建从 `/test/a` 到 `/test/b` 的软链接。 具体命令如下所示: ```bash ln -s /test/a /test/b ``` 这一步骤实现了符号链接的功能[^2]。 #### 8. 配置变量 `test` 并使其即时生效。 可以在 Shell 环境下输入下面的指令: ```bash export test=123 ``` 这样就完成了变量定义与导出的操作。 #### 9. 让服务 `test` 在当前运行级别中开机自启。 针对不同的 Linux 发行版可能有不同的解决方案,在 CentOS 或 RHEL 上常用的方式有: ```bash chkconfig test on ``` 或者对于 systemd 系统而言,则应采用: ```bash systemctl enable test ``` #### 10. NAT 和 PAT 的区别是什么? 两者都属于网络地址转换技术范畴,但存在本质差异。NAT 实现一对一映射关系;PAT 属于一种特殊形式的 NAT,它允许多个私网 IP 地址共享同一个公网 IP 地址对外通信,依靠端口号区分数据流方向[^4]。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值