金山两面,先笔试后面试,笔试题超级简单,题目比较老,仿佛是从网上直接找的题目来应付面试者;
HR比较漂亮,一般大公司的前台和HR漂亮,说明公司给的薪资比较高,值得去
该学员已通过面试,成功入职。
## 笔试题
### 1. linux开机启动流程?系统安装完,忘记密码怎么破解?
```bash
1、开机自检bios
2、mbr引导
3、grub引导菜单
4、加载内核
5、启动init进程
6、读取inittab文件,执行rc.sysinit.rc等脚本
7、启动mingetty进程,进入系统登入界面
忘记密码 重启启单用户模式 或启动光盘进入修复模式
```
### 2. 如何查看占用端口8080的进程。
```bash
netstat –apn | grep 8080
```
### 3. 写出apache2.X版本的两种工作模式,以及各自工作原理.如何查看apache当前所支持的模块,并且查看是工作在哪种模式下?
```bash
3.11apache当前所支持的模块,并且查看是工作在哪种模式下?
apache有两种工作模式,一种为prefork模式,另一种为work模式
prefork:一个进程仅有一个线程接待一个访问请求,稳定性高,一个进程崩溃后不影响其它进程,但是占用内存较多,对硬件要求高。
work:一个进程具有多个线程,并分别响应访问请求,占用内存小,但是一个进程崩溃会影响其它请求
查看支持模块:httpd-l
查看工作模式:httpd-V
```
### 4. 写出下面服务的常用端口ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服务。
```bash
80 http 用于万维网(WWW)服务的超文本传输协议(HTTP)
20 ftp-data FTP 数据端口
21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用
53 domain 域名服务(如 BIND)
161 snmp 简单网络管理协议(SNMP)
110 pop3 邮局协议版本3
67 bootps 引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用
68 bootpc Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用
2049 nfs [nfsd] 网络文件系统(NFS)
3306 mysql MySQL 数据库服务
137 netbios-ns 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务
138 netbios-dgm 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 数据报服务
139 netbios-ssn 在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务
```
### 5. 写一个脚本,判断一个指定的脚本是否语法错误;如果有,则提醒用户渐入Q或者q无视错误并退出其他任何任何键可以通通过vim打开这个指定的脚本
```bash
#!/bin/bash
[ $# -ne 1 ]&&echo '请接一个脚本!'&&exit 1
if bash -n $1 &>/dev/null;then
echo '脚本语法正确!'
else
read -p '语法有误!q退出,其它键进入编辑>>' xxx
if [ "$xxx" == 'q' or "$xxx" == 'Q' ];then
exit
else
vim $1
fi
fi
```
### 6. 如何查看系统连接数和系统句柄数的命令分别是什么
```bash
netstat -antu|grep -i ESTAB
[root@slytopc ~]# ulimit -n
1024
```
### 7. 系统参数中net.ipv4.tcp_tw_recycle是什么意思,有几个值,分别是什么意思
```bash
net.ipv4.tcp_tw_recycle = 0 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
```
### 8. 常见的系统监控命令有什么
```bash
常用的系统监控命令有哪些:ps命令,top命令,mpstat命令,iostat命令,pid命令,dstat命令
```
### 9. 如何开启apache服务rewrite功能
```bash
1、打开 apache 里httpd.conf(通常是在/etc/httpd/conf目录里)
2、找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#
3、找到 AllowOverride None 改成 AllowOverride All , 有两个全部改掉
```
### 10. 你认为作为运维工程师最重要的品须是什么
1) 责任心
2)沟通能力
3)学习能力
### 11. 写出你用过的系统和数据库的负载工具
```bash
Nginx LVS F5 Heartbeat haproxy
互联网企业采用的开源集群软件有: Nginx , LVS , Haproxy , Keepalived , Heartbeat
互联网企业常用的商业集群硬件有: F5 , Netscaler , Radware , A10 等,工作模式相当于Haproxy的工作模式.
```
### 12. 简要列出服务器日常巡检主要工作内容
```bash
1. 服务器物理硬件巡检
2、 操作系统的磁盘、内存、cpu、硬盘读写情况使用情况
3、 服务器系统日志
4、 运行与服务器上应用是否可用
5、 应用系统日志检查(根据实际情况执行)
6、 数据库运行状态、运行日志检查(根据实际情况执行)
7、 数据库定时备份机制执行情况(根据实际情况执行)
8、 系统定时任务执行情况(根据实际情况执行)
```
### 13. 列出服务器备份恢复策略
```bash
全网服务器备份策略:
1、全网备份服务器
1、数据库完全备份
2、数据库增量备份
3、差分备份
4、冷数据归档
5、定时任务备份站点目录、配置文件等
恢复策略
1、数据库增量恢复、全量恢复
2、站点目录、配置文件等故障后随时调取备份来恢复
```
### 14. 写出一个shell,脚本,实现对Http服务的监控及报警
```bash
#!/bin/bash
# monitor nginx server port
errLogPath="/application/nginx/logs/error.log"
norLogPath="/application/nginx/logs/norlog"
date=`date +"%Y/%m/%d %H:%M:%S"`
lsof -i:80 &>/dev/null
if [ $? -ne 0 ]
then
/application/nginx/sbin/nginx &>/dev/null
echo "$date [warning] nginx server stoped" >>$errLogPath
echo "$date [warning] nginx server stoped"|mail -s "nginx server warning" abc@163.com
else
echo "$date nginx server normal" >>$norLogPath
fi
```



