网络管理员面试题(Linux运维面试)
系统管理员这个职业它需要一个了解系统工作原理的人,这样的人才才能保证数据的安全和服务器的平稳运行。
但是,小伙伴们可能会问:「难道系统管理员就只能做这些吗?」答案是否定的!
让我先给大家介绍一下典型的系统管理员的日常任务,以及 24 个常见 Linux 运维面试题。
初级运维面试题
1. 登录Linux服务器后你使用的前五个命令是什么?
答:
lsblk — 查看所有块设备的信息
who — 可以看谁登录到服务器
top — 可以了解服务器上正在运行的程序
df -khT — 查看服务器上可用的磁盘空间
netstat — 查看哪些TCP网络连接处于活动状态
2. 如何在后台运行程序,这样做有什么好处?
答:我们可以通过在命令末尾使用符号 & 来使命令在后台运行。通常,执行时间太长而不需要用户交互的应用程序会让它在后台运行,这样可以方便大家可以继续在终端中工作。
3. 一直以 root 身份运行命令是一个好习惯吗?
答:主要有两个问题。以 root 身份运行所有工作,首先是风险。当我们以 root 身份登录时,一旦误操作,后果将是无法挽回的。如果我们以其他身份去修改一些敏感配置,系统会提示使用 sudo 命令,这样我们就可以降低犯错的概率。
其次是安全问题。就是如果我们不知道管理员用户的登陆信息,那么系统是难以入侵的。而有权限访问 root 则说明我们已经拥有一半的拥有权了!
4. rm 和 rm-rf 有什么区别?
答:rm 命令本身仅删除指定的文件,但不包括目录。而使用 -rf 选项是添加两个附加功能:
-r,-R 或者 --recursive 表示递归删除目录内容,其中也包括隐藏的文件和子目录
-f 或者 --force 是表示强行删除文件,并且不提示错误消息
5. compress.tgz 的文件大小约为15GB,如何列出它的内容,以及如何仅为列出特定文件?
答:
列出文件内容:
$ tar tf archive.tgz
为特定文件列出:
$ tar xf archive.tgz 文件名
中级运维面试题
6. 什么是RAID?什么是RAID 0,RAID 1,RAID 5,RAID 6和RAID 10?
答:
RAID(廉价磁盘冗余阵列)这是一种用于提高数据存储性能或可靠性的技术。
RAID 0:称为磁盘条带化,这是一种分解文件并将数据分布到RAID组中的所有磁盘驱动器的技术。但它没有防止失败的保障措施。
RAID 1:流行的磁盘子系统,通过在两个驱动器上写入相同的数据来提高安全性。称为镜像,RAID1不会提高写入性能,但读取性能可能会提高到每个磁盘性能的总和。此外,如果一个驱动器发生故障,则使用第二个驱动器,并手动更换故障驱动器。更换后,RAID控制器将工作驱动器的内容复制到新驱动器上。
RAID 5:通过计算奇偶校验数据和提高速度来提高安全性的磁盘子系统。RAID 5通过跨三个或更多驱动器(条带化)交错数据来实现此目的。在单个驱动器发生故障时,可以从分布式奇偶校验计算后续读取,使得没有数据丢失。
RAID 6:通过添加另一个奇偶校验块来扩展 RAID 5。此级别至少需要四个磁盘,并且可以继续执行任何两个并发磁盘故障的读/写操作。RAID 6 对读取操作没有性能损失,但由于与奇偶校验计算相关的开销,它确实会对写操作造成性能损失。
RAID 10:称为 RAID 1 + 0,RAID 10 结合了磁盘镜像和磁盘条带化来保护数据。它至少需要四个磁盘,并且跨镜像对条带化数据。只要每个镜像对中的一个磁盘正常工作,就可以检索数据。如果同一镜像对中的两个磁盘发生故障,则所有数据都将丢失,因为条带集中没有奇偶校验。
7. ping命令使用哪个端口?
答:ping 命令使用 ICMP 。具体来讲就是它使用 ICMP 回应请求和 ICMP 回应回复数据包。这里大家注意,ICMP 不使用 UDP 或 TCP 通信服务,而是使用原始 IP 通信服务。这意味着 ICMP 消息直接包含在 IP 数据报数据字段中。
8. 路由器和网关有什么区别?什么是默认网关?
答:路由器描述了一般技术功能(第3层转发)或用于此目的的硬件设备,而网关描述了本地网段的功能(提供到其他地方的连接)。我们还可以声明"将路由器设置为网关"。那么这里就涉及到另一个术语 hop ,它则是描述了子网之间的转发。
默认网关一词用于表示 LAN 上的路由器,它负责成为LAN外部计算机通信的第一个联系点。
9. 说明 Linux 的启动过程。
答:BIOS → 主引导记录(MBR) → GRUB → 内核 → init → 应用程序
10. 如何在服务器启动时检查错误信息?
答:内核消息始终存储在 kmsg 缓冲区中,通过 dmesg 命令可以查看。引导问题和错误需要系统管理员结合特定的命令来查找某些重要的文件,这些命令在不同版本的Linux中都有不同的处理式:/var/log/boot.log 是系统引导日志,其中包含系统引导期间展开的所有文件。/var/log/messages 存储全局系统消息,包括系统引导期间记录的消息。/var/log/dmesg 包含内核环缓冲区信息。
11. 符号链接和硬链接有什么区别?
答:符号链接或软链接是指向原始文件的实际链接,而硬链接是原始文件的镜像副本。如果删除原始文件,则软链接没有值,因为它随后指向一个不存在的文件。在硬链接的情况下,则完全相反。如果删除原始文件,则硬链接仍包含原始文件中的数据。
12. 如果是你,你将如何改变内核参数?你可能需要调整哪些内核选项?
答:如果想在类Unix系统中设置内核参数,首先我们要编辑文件 /etc/sysctl.conf 。更改完毕后,保存文件并运行 sysctl -p 命令。这项命令使更改成为永久更改,而不需要重新启动计算机。
13. 解释/proc文件系统。
答:/proc 文件系统是虚拟的,并提供有关内核、硬件和运行进程的详细信息。因为 /proc 包含虚拟文件,所以称为虚拟文件系统。这些虚拟文件具有独特的特性。其中大多数都列为零字节大小。虚拟文件诸如(/proc/interrupts、/proc/meminfo、/proc/mounts和/proc/partitions)的提供了系统硬件的最新信息。其他诸如(/proc/filesystems和/proc/sys目录)则提供系统配置信息和接口。
14. 如何在没有密码的情况下以另一个用户身份运行脚本?
答:假使我们正在编辑 sudoers 文件(例如/private/etc/sudoers),则可以使用visudo添加以下内容:user1 all=(user2)NOPASSWD:/opt/scripts/bin/generate.sh
15. 什么是UID 0 toor账户?你受到威胁了吗?
答:toor 用户是另一个超级用户帐户,其中 toor 的根拼写为 backward 。它旨在于非标准 shell 一起使用,因此 root 的默认 shell 不需要更改。shell 不是基本分发的一部分,而是从端口或包安装的,它安装在 /usr/local/bin 中;默认情况下,shell 驻留在不同的文件系统中。如果 root 的 shell 位于/usr/local/bin 于中,并且未安装包含 /usr/local/bin_ 的文件系统,则 root 无法登录以解决问题,并且系统管理员必须重新启动到单用户模式才能进入 shell 的路径。