运维工程师面试题

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

1)Linux启动大致过程?
*BIOS自检
*运行系统内核并检测硬件从硬盘启动并运行系统的第一个进程init(LILO和GRUB模式)
*init读取系统引导配置文件/etc/inittab,并根据运行级别配置服务/etc/rc.d/rc.local
Linux系统缺省的运行级别
0为停机,机器关闭
1为单用户模式,就像Win下的安全模式
2为多用户模式,但是没有NFS支持
3为完全的多用户模式,是标准的运行级别
4保留
5图形界面的模式
6为重启,运行init6机器就会重启
2)apache有几种工作模式,分别简述两种工作模式及其优缺点?
apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候添加--with-mpm=worker选项)
prefork的特点是:(预派生)
1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销
2.可以防止意外的内存泄漏
3.在服务器负载下降的时候会自动减少子进程数
worker的特点是:支持混合的多线程多进程的多路处理模块
如果对于一个高流量的HTTP服务器,worker MPM是一个比较好的选择,因为worker MPM占用的内存要比prefork要小。
3)LVS三种模式的工作过程?
NAT (Network Address Translation)模式。LB收到用户请求包后,LB将请求包中虚拟服务器的IP地址转换为某个选定RS的IP地址,转发给RS;RS将应答包发给 LB,LB将应答包中RS的IP转为虚拟服务器的IP地址,回送给用户。
IP隧道 (IP Tunneling)模式。LB收到用户请求包后,根据IP隧道协议封装该包,然后传给某个选定的RS;RS解出请求信息,直接将应答内容传给用户。此时要求RS和LB都要支持IP隧道协议。
DR(Direct Routing)模式。LB收到请求包后,将请求包中目标MAC地址转换为某个选定RS的MAC地址后将包转发出去,RS收到请求包后 ,可直接将应答内容传给用户。此时要求LB和所有RS都必须在一个物理段内,且LB与RS群共享一个虚拟IP。
4)oracle数据库备份的方法?
我同学是做DBA的,改天问问他,然后在告诉大家。
5)简述/etc/fstab里面个字段的含义?
因为mount挂载在重启服务器后会失效,所以需要将分区信息写到/etc/fstab文件中让它永久挂载:
磁盘分区                挂载目录       文件格式     
/dev/sdb1              /mnt/david       ext3          defaults 0 0
6)Apache设置虚拟目录的字段?
NameVirtualHost 192.168.1.2             //设置域名虚拟主机使用的IP地址
           //建立在地址上的虚拟主机区域
ServerName            //虚拟主页说使用的域名
DocumentRoot /data/vhosts/sfzhang    //建立虚拟主机所使用的文档根目录

7)列出linux常见打包工具并写相应解压缩参数(至少三种)?
包类型       压缩实例                          解压实例                 压缩比率
tar 包       tar -cvf icewarp.tar icewarp      tar -xvf icewarp.tar     只打包不压缩
tar.gz 包    tar -czvf icewarp.tar.gz icewarp  tar -zxvf icewarp.tar.gz 中高
tar.bz2 包   tar -cjvf icewarp.tar.bz2 icewarp tar -jxvf icewarp.tar.bz2 高
8)一个EXT3的文件分区,当用touch新建文件时报错,错误信息是磁盘已满,但是使用df -H查看分区信息时只使用了50%,请分析具体原因?
答:两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode耗尽了。
9)请使用Linux系统命令统计出establish状态的连接数有多少?
netstat -an |grep 80 |grep ESTABLISHED |wc -l
10)mysql数据库的备份还原是怎么做的?
答:平时采用两种方法来做:1)利用mysql自带的使用工具mysqldump和mysql来备份还原数据库 2)利用第三方的mysql管理工具比如:mysqladmin 3)停止mysqld服务拷贝数据文件
11)简述运维工程师的职责?
负责公司运营平台的正常工作;加强平台的自动化管理;随便写写,写好听的就行.....
12)Linux系统是由那些部分组成?
Linux系统内核,shell,文件系统和应用程序四部分组成。
13)用一条命令查看目前系统已启动服务所监听的端口?
[root@nagios ~]# netstat -antl |grep "LISTEN"  
14)使用lsof命令查看占用80端口的进程?
[root@nagios ~]# lsof `which httpd`   或者lsof -i:80也可以
15)统计出一台web server上的各个状态(ESTABLISHED/SYN_SENT/SYN_RECV等)的个数?
[root@nagios ~]# netstat -antl |grep "ESTABLISHED" |wc -l
[root@nagios ~]# netstat -antl |grep "SYN_SENT" |wc -l
[root@nagios ~]# netstat -antl |grep "SYN_RECV" |wc -l
上面的命令可以用一条命令来统计出来TCP各种状态连接总数:
[root@nagios ~]# netstat -n |grep ^tcp |awk '{print $NF}' |sort -r |uniq -c  

[root@nagios ~]# netstat -n |awk '/^tcp/{++S[$NF]}END{for (i in S ) print i,S[i]}'   
16)查找/usr/local/apache/logs目录最后修改时间大于30天的文件,并删除?
find  /usr/local/apache/logs -type f -mtime +30 -exec rm -f {}  \;
17)添加一条到192.168.3.0/24的路由,网关为192.168.1.254?
route add  -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254
18)利用sed命令将test.txt中所有的回车替换成空格?
sed -i s/\r/ /g test.txt 
19)在每周6的凌晨3:15执行/home/shell/collect.pl,并将标准输出和标准错误输出到/dev/null设备,请写出crontab中的语句?
15 3 * * 6 /home/shell/collect.pl  > /dev/null  2>&1   
20)源码编译安装apache,要求为:安装目录为/usr/local/apache,需有压缩模块,rewrite,worker模式;并说明在apache的worker MPM中,为什么ServerLimit要放到配置段最前面?
./configure --prefix=/usr/local/apache --enable-so--with-rewrite --with-mpm-worker
不放在最前面,client会忽略掉的
21)请写出精确匹配IPv4规范的正则表达式?
grep "[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}.[0-9]\{3\}"  access.logs
22)匹配文本中的key,并打印出该行及下面的5行?
grep -A5 key filename
23)dmesg命令中看到ip_conntrack: table full, dropping packet.,如何解决?
加大ip_conntrack_max 的值;
降低ip_conntrack_timeout的时间;
24)查询file1里面空行的所在行号?
grep -n "^$" file1
25)查询file1以abc结尾的行?
grep "abc$" file1
26)打印出file1文件第1到第三行?
sed -n '1,3p' file1 用head -3 file1也可以
27)如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.2.1?
iptables -t nat -A PREROUTING -d LOCALIP -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:8080
iptables -t nat -A POSTROUTING -d 192.168.2.1 -p tcp -m tcp --dport 8080 -j SNAT --to-source LOCALIP:80
28)crontab  在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh 怎么实现 ?
* 6-12/2 * 11 *  bash /usr/bin/httpd.sh
29)编写个shell脚本将/usr/local/test 目录下大于100K的文件转移到/tmp目录?
find /usr/local/test -type f -size +100k -exec mv {} /tmp \;
30)有三台Linux主机,A,B和C,A上有私钥,B和C上都有公钥,如何做到用私钥从A登录到B后,可以直接不输密码即可再登录到C?并写出具体命令行。
大致思路在A上面ssh-keygen -t dsa 直接回车生成密钥,然后把公钥分别用ssh-copy-id拷贝到B和C上面。ssh-copy-id -i id_dsa.pub "-p端口号 root@B的ip地址",然后在A上面就可以用ssh -p端口号 root@IP不要密码直接登录服务器B和C。

   转载于:http://sfzhang88.blog.51cto.com/4995876/851931

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
存储 SQL 运维
【面试】运维工程师面试题及答案
【面试】运维工程师面试题及答案
267 0
|
6月前
|
关系型数据库 应用服务中间件 Python
Linux运维工程师面试题全面汇总(2023)
Linux运维工程师面试题全面汇总(2023)
470 0
|
7月前
|
存储 运维 Linux
Linux运维工程师面试题(7)
Linux运维工程师面试题(7)1 常用的 ansible 模块有哪些2 说一下 ansible 使用 roles 编排的目录结构3 docker 六大命名空间 namespace4 cgroups 的作用5 runc 的作用6 docker 常用的命令7 docker 存储引擎有哪些,区别是什么8 进入 docker 容器有几种方法,区别是什么9 Dockerfile 常用指令10 容器数据持久保存方式
109 1
|
7月前
|
SQL 关系型数据库 MySQL
Linux运维工程师面试题(6)
Linux运维工程师面试题(6)1 数据库事务的四个特性及含义2 mysql 的 sql 语句怎么优化3 varchar 与 char 的区别是什么?大小限制?utf8 字符集下 varchar 最多能存多少个字符?4 索引有什么用?5 sql 注入是怎么产生的,如何防止?6 csrf 是什么?如何防范?7 如何加强 MySQL 安全,请给出可行的具体措施?8 如是数据库慢导致网站打开慢,如何排查并解决?9 MySQL 有多少种日志10 MySQL 数据库 cpu 飙升到500%的话他怎么处理?
104 1
|
7月前
|
运维 Kubernetes Linux
Linux运维工程师面试题(9)
Linux运维工程师面试题(9)1 pod 的生命周期2 探针类型3 探针方式 4 探针结果 5 Pod 重启策略6 镜像获取策略7 k8s 的服务类型8 k8s中 service 和 ingress 的区别9 有状态和无状态服务的区别10 k8s 中 service 是做什么的?
128 1
|
7月前
|
运维 Linux Docker
Linux运维工程师面试题(8)
Linux运维工程师面试题(8)1 docker 的网络类型,使用场景2 CMD 和 ENTRYPOINT 的区别3 怎么减小 dokcer 镜像的大小5 如何临时退出⼀个正在交互的容器的终端,而不终止它?7 COPY 和 ADD 的区别8 制作镜像方式9 K8S 有那些组件,都是干什么用的10 K8S 创建一个pod的流程
85 1
|
8月前
|
运维 关系型数据库 MySQL
Linux运维工程师面试题(5)
Linux运维工程师面试题(5)1 SELECT 语句处理的顺序 2 MySQL 高可用方案有哪些 3 mysql 主从复制原理 4 mycat 读写分离原理 5 MHA 高可用原理 6 mysqldump 备份的原理 7 drop, delete 与 truncate 的区别,哪个最快 8 判断主从延迟的方法 9 MySQL 主要的索引类型 10 MySQL 中 myisam 与 innodb 的区别
84 1
|
8月前
|
缓存 NoSQL Linux
Linux运维工程师面试题(4)
Linux运维工程师面试题(4)1 redis 常用的数据类型2 redis 数据持久化有几种,区别是什么,如何选择3 redis 有哪些架构模式4 什么是缓存雪崩?如何解决?5 什么是缓存穿透?如何解决?6 什么是缓存击穿?如何解决?7 redis 为什么这么快8 Redis 常用命令9 SQL 语句分类10 多表查询
80 1
|
8月前
|
负载均衡 算法 应用服务中间件
Linux运维工程师面试题(3)
目录 Linux运维工程师面试题(3)1 LVS 的工作模式有几种,分别是什么2 LVS 由哪几部分组成3 LVS 相关的术语有哪些4 LVS 集群的负载调度算法有哪些5 使用LVS 可不可以把iptables给禁用删除6 haproxy 调度算法有哪些7 nginx 实现负载均衡的分发策略有那些8 四层负载和七层负载的区别9 负载均衡的作用有哪些10 LVS、HAProxy、Nginx三款负载均衡的优缺点及区别
90 0
|
8月前
|
网络协议 应用服务中间件 Linux
Linux运维工程师面试题(2)
Linux运维工程师面试题(2) 1 访问一个网站的流程 2 TCP 三次握手,四次挥手 3 apache 和 nginx 有哪几种虚拟主机 4 TCP 和 UDP 的区别 5 nginx 和 apache 的区别 6 什么是反向代理,什么是正向代理,区别是什么? 7 cookie和session的区别 8 nginx 调优 9 系统出现大量的 time_wait 问题怎么解决 10 拿到一台新服务器后需要干什么,做哪些系统优化
111 2
Linux运维工程师面试题(2)