北京2014年Linux运维工程师常见面试题

1.批量的linux系统安装
网络安装:NFS,FTP,HTTP,
开源工具:kickstart,FAI,Cobbler,Spacewalk,OpenQRM
2.linux的几个运行级别及相应的含义
Linux系统有7个运行级别,他们各自的含义是:
第0级 关闭系统
第1级 单用户模式
第2级 没有网络多用户模式
第3级 有网络多用户模式
第4级 系统保留
第5级 有网络和图形的多用户模式
第6级 重启系统
3.软连接与硬链接的区别
(1)软连接可以跨文件系统,硬连接不可以
(2)硬连接不管有多少个,都指向的是同一个I节点,会把结点连接数增加,只要结点的连接数不是0,文件就一直存在
(3)软连接可以对一个不存在的文件名进行连接
(4)软连接可以对目录进行连接
4.三次握手原理
TCP握手协议在tcp/ip协议中,tcp协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包
(syn=j)到服务器,并进入syn_send状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的syn_recv状态;第三次握
手:客户端收到服务器的syn+ack包,向服务器发送确认包ack(ack=k+1),此包发送完毕,客户端和服务器进入established状态,完成
三次握手
5.TCP与UDP 区别
TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资
源)
UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快
6.DNS工作原理
DNS译成中文就是“域名系统”或“域名解析系统”。它在互联网的作用是:把域名转换成为网络可以识别的IP地址.DNS分为Client和
Server,Client扮演发问的角色,也就是问Server一个Domain Name,而Server必须要回答此Domain Name的真正IP地址。而当地的
DNS先会查自己的资料库。如果自己的资料库没有,则会往该DNS上所设的的DNS询问,依此得到答案之后,将收到的答案存起来,并
回答客户。
7.查看服务器的TCP/IP连接状况及其连接状态含义
netstat -an
连接状态顺序:CLOSED->LISTEN->SYN收到->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED
LISTEN->SYN_SENT:打开连接
SYN_SENT->SYN收到:SYN收到状态,准备进入ESTABLISHED
SYN_SENT->CLOSED:发送超时的会返回到CLOSED状态
SYN_收到->LISTEN:如果受到RST包会返回到LISTEN状态
SYN_收到->FIN_WAIT_1:不用到ESTABLISHED状态,直接跳转到FIN_WAIT_1状态并等待关闭
TIME_WAIT:即2MSL等待状态
FIN_WAIT_2:半关闭
8.CDN原理
将用户源站的内容缓存到不同地区、不同运营商的CDN节点上,从而让访问者实现就近访问。(个人理解)
9.将IP位192.168.1.1的机器本地80端口的请求转发到8080端口
iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080
or iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
10.lvs的工作模式
NAT模式(VS-NAT):把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完
成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址即可。
IP隧道模式TUN模式(VS-TUN):把客户端发来的数据包,封装一个新的IP头标记(仅目的IP)发给RS,RS收到后,先把数据包的头解开,还原
数据包,处理后,直接返回给客户端,不需要再经过负载均衡器。
直接路由模式(VS-DR):负载均衡器和RS都使用同一个IP对外服务。只有DR对ARP请求进行响应,所有RS对本身这个IP的ARP请求保持
静默。
11.TCP/IP和OSI协议
OSI:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
TCP/IP:网络接口层,互连网络层,传输层,应用层
12.FTP有两种工作模式
主动模式:服务器主动连接客户端的数据端口
被动模式:指服务器被动地等待客户端连接自己的数据端口。
13.Mysql的主从复制
(1)Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容
(2)Master接收到来自Slave的IO进程的请求,通过负责复制的IO进程根据请求信息读取制定日志指定位置之后的日志信息,返回给Slave
的IO进程
(3)Slave的IO进程接收信息,将接收到的日志内容依次添加到Slave端的relay-log文件的最末端,并将读取到的Master端的bin-log的文
件名和位置记录到master-info文件中
(4)Slave的Sql进程检测到relay-log中新增加内容,马上解析relay-log的内容成为在Master端真实执行时候的那些可执行的内容,并在自
身执行。
14.iptables三表五链
三表:即nat表,filter表,mangle表
五链:PERROUTING链,POSTROUTING链,OUTPUT链,INPUT链,和FORWARD链,但不是所有的表都包括这五个链。
15.服务器监控性能指标
首看CPU使用率、CPU负载、内存使用率、磁盘I/O、磁盘空间、网络流量等。而数据库服务器像SQL除了首看这些指标外还要看资源监控
中指标缓存点击率(Cache Hit Ratio)该值越高越好。Oracle呢则还看一些库快存或数据字典快存的命中率,缓冲区命中率等。
16.常见爬寻返回代码
1XX:临时/信息响应
2XX:成功
3XX:重定向
4XX:客户端/请求错误
5XX:服务器错误
17.MySQL存储引擎比较
MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。
MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。 InnoDB存储引
擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空
间以保留数据和索引。 MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应一个磁盘文件。MEMORY类型
的表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢失掉。 MERGE存
储引擎是一组MyISAM表的组合,这些MyISAM表必须结构完全相同。MERGE表本身没有数据,对MERGE类型的表进行查询、更新、删
除的操作,就是对内部的MyISAM表进行的。
18.raid0 raid1 raid5 三种工作模式的工作原理及特点
RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是
真正的RAID 结构。RAID 0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因
此,RAID 0 不能应用于数据安全性要求高的场合。
RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取
数据,因此RAID 1 可以提高读取性能。RAID 1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效
时,系统可以自动切换到镜像磁盘上读写 ,而不需要重组失效的数据。简单来说就是:镜象结构,类似于备份模式,一个数据被复制到两
块硬盘上。
RAID10:高可靠性与高效磁盘结构一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充。主要用于容量不大,但
要求速度和差错控制的数据库中。
RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重
建损坏的数据。支持一块盘掉线后仍然正常运行。
19.统计apache访问日志流量排名前10个IP
cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10
20.查看占用端口8080 的进程
lsof -i:8080
21.查看当前Linux 系统的状态,如CPU 使用,内存使用,负载情况
对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:cpuinfo:主机CPU信息,filesystems:文件系统信
息,meninfo:主机内存信息
version Linux 内存版本信息。diskstatus 磁盘负载情况。另外top 命令可以动态的显示当前系统进程用户的使用情况,而且是动态的显示
出来,尤其是在该命令显示出来的对上方对系统的情况进行汇总.free 命令呢可以查看真实使用的内存 一般用free -m使用lsof 、ps -aux
可以查看详细的每个进程的使用状况。dmesg 也是常用来查看系统性能的命令
22.Apache 两种工作模式,以及它们之间的区别
最主要的两种模式是prefork 模式与worker 模式。prefork 每个子进程只有一个线 程,效率高但消耗内存大,是unix 下默认的模式;
worker 模式每个子进程有多个线程, 内存消耗低,但一个线程崩溃会牵连其它同子进程的线程。
23.DNS既采用了tcp 协议,又采用了udp 协议,什么时候采用tcp协议?什么时候采用udp协议?为什么要这么设计?
(1)从数据包大小上分:UDP的最大包长度是65507 个字节,响应dns 查询的时候数据包 长度超过512 个字节,而返回的只要前512 个字
节,这时名字解释器通常使用TCP从发原来的请求。
(2)从协议本身来分:UDP 协议是一种不可靠的协议,dns不像其它的使用UDP 的Internet 应用 (如:TFTP,BOOTP 和SNMP 等), 大
部分集中在局域网,dns查询和响应需要经过广域网,分组丢失和往返时间的不确定性在 广域网比局域网上更大,这就要求dns 客户端需
要好的重传和超时算法,这时候使用TCP11。
24.Linux系统启动顺序
1.BIOS加电自检-->2.加载主引导加载程序(MBR)-->3.加载次引导加载程序(GRUB)-->4.加载内核映像-->5.启动init进程
25.简要叙述下列端口所运行的服务
21、22、23、25、110、143、873、3306
ftp ssh telnet snmp pop3 IMAP rsync
26.查看占用内存最多的进程
ps -aux | sort -k4nr | head 5
27.脚本将/usr/local/test 目录下大于100K 的文件转移到/tmp 目录下
for file in `ls /root`
do
if [ -f $file ]; then
if [ `ls -l $file|awk '{print $5}'` -gt 10000 ]; then
mv $file /tmp/
fi
fi
done
28.自动ftp上传
#!/bin/sh
ftp -n<<END_FTP
open 192.168.1.4
user codfei duibuqi //用户名codfei 密码duibuqi
binary
prompt off //关闭提示
mput test //上传test
close
bye
END_FTP
29.自动ssh 登陆从A到B然后再到c
#!/usr/bin/expect -f
set timeout 30
spawn ssh codfei@B
expect "password:"
send "pppppp\r"
expect "]*"
send "ssh codfei@C\r"
expect "password:"
send "pppppp\r"
interact
30.判断一文件是不是字符设备文件,如果是将其拷贝到/dev 目录下
#!/bin/bash
directory=/dev
for file in anaconda-ks.cfg install.log install.log.syslog
do
if [ -f $file ]
then
cp $file $directory/$file.bak
echo " HI, $LOGNAME $file is backed up already in $directory !!"
fi
done
31.建立class1 用户组,再批量建立stu1--stu30 的用户,并指定用户组为class1
vi autoaddusr
#!/usr/bin/php -q
<?php
exec("groupadd class1");
for($i=1; $i<=30; $i++){
exec("useradd -G class1 stu".$i);
}
?>
chmod +x autoaddusr
./autoaddusr
32.使用ping命令检测整个网段IP的网络状态
#!/bin/sh
# Ping网段所有IP
# 2012/02/05
ip=1 #修改初值
while [ $ip != "254" ]; do
#yes正常,no主机不存在或不正常
ping 192.168.0.$ip -c 2 | grep -q "ttl=" && echo "192.168.0.$ip yes" || echo "192.168.0.$ip no"
ip=`expr "$ip" "+" "1"`
done
33.模拟二维数组
#!/bin/bash
declare -i j=0
declare -i limit=4
array=(34 35 36 37 38 39)
echo "Two-dimensional array"
while [ $j -lt $limit ]
do
echo "${array[*]:$j:3}"
let j+=2
let j++
done
echo
exit 0
#!/bin/bash
arry1=(A B C)
arry2=(D E F)
arry3=(G H I)
for ((i=0;i<4;i++))
do
eval value=\${arry${i}[@]}
for element in ${value}
do
echo -e ${value}
continue 2
done
done
echo
exit 0
34.查找最后创建时间是3天前,后缀是*.log的文件并删除
find / -name "*.log" -ctime +3 -exec rm -f {} \;
35.将数据库备份并打包至远程服务器192.168.1.1 /backup目录下
mount 192.168.1.1:/backup /mnt
cd /mnt
/usr/local/mysql/bin/mysqldump -hlocalhost -uroot test >test.sql
tar czf test.sql.tar.gz test.sql
rm -f test.sql
36.防火墙配置脚本,只允许远程主机访问本机的80端口
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -X
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP
37.用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr
38.对现在运维工程师的理解和以及对其工作的认识
运维工程师在公司当中责任重大,需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服务。运维工程师的一个小小的失误,
很有可能会对公司及客户造成重大损失,因此运维工程师的工作需要严谨及富有创新精神。
39.个人对该工作的未来如何规划,需要加强哪些能力
首先,我有一颗真诚的心,遇事沉着冷静,不急不躁;
其次,我有相应的专业知识和工作经验。一年多的系统管理经历锻炼了我在这个行业的业务 能力,并对行业前景和发展动态有相应的了
解;
最后,我会用踏实的作风在今后的工作中证明我自己的能力!
40.对虚拟化的认识
41.描述你策划过得一个架构(可画图说明)
42.谈谈你的职业规划
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值