Linux运维工程师面试知识点汇总(一)
一、Linux命令知识点
1.查看/var/log/下的文件数
[root@tianyi ~]# ls -lR /var/log/ |grep "^-" |wc -l
124
2.shell下随机密码生成(32位)
[root@tianyi ~]# cat /dev/urandom |head -1|md5sum |head -c 32
b4625822c262a545f91472fe463f0dc9[root@tianyi ~]#
3.随机生成8位密码(大小写和数字混合)
[root@tianyi ~]# head -c 500 /dev/urandom | tr -dc a-z0-9A-Z | head -c 6
fqtGGx[root@tianyi ~]#
4.随机生成两位随机数字
[root@tianyi ~]# echo $[$RANDOM%100]
45
5.查找/etc/httpd/conf/httpd.conf属于哪个安装包
[root@tianyi ~]# rpm -qf /etc/httpd/conf/httpd.conf
httpd-2.4.37-30.module_el8.3.0+561+97fdbbcc.x86_64
6.查找ngnix命令的路径
[root@tianyi ~]# which nginx
/usr/sbin/nginx
7.查看snmp配置文件的生效项
[root@IT-01 ~]# grep -Ev '^#|^$' /etc/snmp/snmpd.conf
com2sec notConfigUser default public
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view systemview included .1
access notConfigGroup "" any noauth exact systemview none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappe
8.查看系统的版本
[root@IT-01 ~]# cat /proc/version
Linux version 4.18.0-193.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri May 8 10:59:10 UTC 2020
[root@IT-01 ~]# uname -r
4.18.0-193.el8.x86_64
[root@IT-01 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
9.通过Makefile来安装已编译过的代码的命令
make install
10.备份文件的方式
①本地备份
[root@tianyi ~]# cp -av /data/ /tmp/
'/data/' -> '/tmp/data'
'/data/scrips' -> '/tmp/data/scrips'
'/data/passwd' -> '/tmp/data/passwd'
'/data/person.txt' -> '/tmp/data/person.txt'
②远程备份
[root@control ansible]# rsync -avz /data/tmp/ user1@node1:/data/backup/control/
[root@control ansible]# rsync -avz /data/tmp/ root@node1:/data/backup/control/
sending incremental file list
./
file0.py
file1.py
file10.py
file11.py
file12.py
file13.py
file14.py
file15.py
file16.py
file17.py
file18.py
file19.py
file2.py
file20.py
file3.py
file4.py
file5.py
file6.py
file7.py
file8.py
file9.py
sent 1,151 bytes received 418 bytes 3,138.00 bytes/sec
total size is 0 speedup is 0.00
11.查看swap状态
[root@IT-01 tmp]# free -m
total used free shared buff/cache available
Mem: 1800 1123 67 21 609 503
Swap: 2047 36 2011
12.scp使用
scp是一个基于SSH协议在网络之间进行安全传输的命令
[root@node1 data]# scp -pr ./dir/ root@192.168.200.136:/tmp/
root@192.168.200.136's password:
file01.txt 100% 0 0.0KB/s 00:00
[root@node1 data]#
二、存储相关技术面试问题
1.RIAD相关知识介绍
①RAID介绍
1.RAID:RAID:独立磁盘冗余阵列(Redundant Array of Independent Drives),磁盘阵列是由很多块独立的磁盘,
组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据
切割成许多区段,分别存放在各个硬盘上。
2.RAID整合方式有很多,常用的:0 1 5 10
②RAID0
RAID 0:可以是一块盘和N个盘组合,其优点读写快,是RAID中最好的. 缺点:没有冗余,一块坏了数据就全没有了.
③RAID1
RAID 1,只能2块盘,盘的大小可以不一样,以小的为准
10G+10G只有10G,另一个做备份。它有100%的冗余,
缺点:浪费资源,成本高
④RAID5
RAID 5 ,3块盘,损失一块盘
特点,读写性能一般,读还好一点,写不好
⑤RAID分析
冗余从好到坏:RAID1 RAID10 RAID 5 RAID0
性能从好到坏:RAID0 RAID10 RAID5 RAID1
成本从低到高:RAID0 RAID5 RAID1 RAID10
单台服务器:很重要盘不多,系统盘,RAID1
数据库服务器:主库:RAID10 从库 RAID5RAID0(为了维护成本,RAID10)
WEB服务器,如果没有太多的数据的话,RAID5,RAID0(单盘)
有多台,监控、应用服务器,RAID0 RAID5
2.NFS/samba/cifs
①NFS/samba/cifs介绍
三种最常用的共享协议(服务)
1、NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
(场景:用于 *NIX 之间文件的共享,用于小型存储服务或者小型网站)
2、Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
(场景:用于 *NIX 与 Windows 之间文件的共享,用于小型跨系统服务或者小型公司办公区文件共享)
3、CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议现在是局域网上用于服务器文件访问和打印的协议。
(场景:CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现)
②三种协议总结
总结:
1)CIFS是微软的,提供windows间的文件共享
2) NFS是sun的,提供类unix间的文件共享,虽然windows与类unix间也可以用nfs,但是看来不好用。
3)samba可以提供windows与类unix间的文件共享。
三、网络相关面试问题
1.OSI七层协议模型
层级 | OSI | 介绍 | 协议 |
---|---|---|---|
七 | 应用层 | 网络服务与最终用户的一个接口 | HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP |
六 | 表示层 | 数据的表示、安全、压缩 | JPEG、ASCll、GIF、MPEG |
五 | 会话层 | 建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话 | RPC、NFS、SQL |
四 | 传输层 | 定义传输数据的协议端口号,以及流控和差错校验 | TCP 、UDP |
三 | 网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 | ICMP 、IGMP 、IP(IPV4 IPV6)、ARP |
二 | 数据链路层 | 建立逻辑连接、进行硬件地址寻址、差错校验 | PPP、IEEE 802.3/.2 |
一 | 物理层 | 建立、维护、断开物理连接 | RS232、RJ-45、FDDI |
2.TCP三次握手
OSI参考模型中的网络层,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),
即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据
3.NAT介绍
原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址
并发至此RS来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包原IP地址改为自己的IP
将目的地址改为客户端IP地址即可期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址
缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈
因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时
大量的数据包都交汇在负载均衡器那,速度就会变慢!
四、Linux系统相关面试题
1.telnet和ssh区别
Telnet:不安全,没有对传输的数据进行加密,容易被监听还有遭受中间人攻击,telnet不能压缩传输
数据,所以传输慢;
ssh:对数据进行了RSA加密,安全性高,ssh传输数据是经过压缩的,所以数据传输速度比较快
2.检查服务器是否正常工作
1.ping 服务器ip
2.ss -antul|grep 服务端口
3.ps aux|grep 服务名
4.systemctl status 服务名
五、运维岗位相关面试题
1.运维的概念及职责
1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,
在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术
运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等
2)运维工程师又有分工,分为开发运维、应用运维(业务运维)和系统运维
开发运维:是给应用运维开发运维工具和运维平台的
应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查
系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等
总结:开发运维和系统运维给应用运维提供了“工具”和“基础设施”上的支撑
开发运维、应用运维和系统运维他们的工作是环环相扣的
2.IT运维工程师日常使用工具
例如Nagios网络监控、HP OpenView IT基础架构监控、HP SiteScope应用监控或者Cacti网络监控。候选人需要了解Windows PowerShell、Linux Bash、ansible、dockerfile或者其他脚本工具,以及技术支持工具像Spicewords或者开源的替代品osTicket。
3.如何介绍自己
一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,切记说得合情合理企业才会相信。另外企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”,企业喜欢有礼貌的求职者。
4.工作出现失误怎么办
1.我本意是为公司努力工作,如果造成经济损失,我认为首要的问题是想方设法去弥补或挽回经济损失。如果我无能力负责,希望单位帮助解决。
2.分清责任,各负其责,如果是我的责任,我甘愿受罚;如果是一个我负责的团队中别人的失误,也不能幸灾乐祸,作为一个团队,
需要互相提携共同完成工作,安慰同事并且帮助同事查找原因总结经验。
3.总结经验教训,一个人的一生不可能不犯错误,重要的是能从自己的或者是别人的错误中吸取经验教训,并在今后的工作中避免发生同类的错误。
检讨自己的工作方法、分析问题的深度和力度是否不够,以致出现了本可以避免的错误。
5.对自己评价
我经常用的三个词是:适应能力强,有责任心和做事有始终,结合具体例子向主考官解释。