"这是一份关于Linux运维的经典面试题汇总,涵盖了网络基础、Linux系统管理和Shell编程三个主要领域,旨在测试和提升运维人员的专业技能。"
一、网络基础类面试题:
1. ISO/OSI七层模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,分别负责物理信号传输、帧的形成与检测、路由选择、端到端的数据传输、建立和终止会话、数据格式转换和应用交互。
2. TCP/IP四层模型由网络接口层、网络层、传输层和应用层组成,对应OSI模型的物理层、数据链路层、网络层和传输层,主要处理网络通信的基本功能。
3. TCP协议工作在传输层,确保可靠的数据传输;UDP协议也在传输层,提供无连接、快速的数据传输服务。
4. TCP三次握手包括:SYN(同步序列编号)请求、SYN+ACK(同步序列编号+确认)响应和ACK(确认)确认,确保双方可以正确通信。
5. TCP包头包含源和目标端口号、序号、确认号、数据偏移、保留、标志位(如SYN、ACK、FIN等)、窗口大小、紧急指针和选项字段。
6. TCP四次挥手包括FIN(结束)请求、ACK确认、FIN+ACK响应和FIN确认,完成连接关闭。
7. IP地址172.22.141.231/26位于172.22.141.192到172.22.141.255的网段,共有64个可用IP地址(除去网络地址和广播地址),广播地址为172.22.141.255。
8. IP地址分为A、B、C、D、E五类,其中A、B、C类用于分配给主机,D类用于多播,E类保留。
二、Linux系统管理类面试题:
1. Linux权限由rwx(读、写、执行)组成,遵循用户、用户组和其他用户的权限设定。
2. 当user1对/testdir有写和执行权限,但file1是只读时,不能修改或删除file1。
3. 全面的备份策略应包括定期全备、增量备份、差异备份,以及灾难恢复计划。
4. 对于大量日志备份,可使用logrotate工具定期清理和压缩日志,同时考虑使用分布式存储或云存储。
5. RAID0提供高速度,但无冗余;RAID1提供镜像冗余,安全性高;RAID5使用奇偶校验,允许一个磁盘故障;RAID6类似RAID5,但能容忍两个磁盘故障;RAID10结合了RAID1的镜像和RAID0的速度。
6. 软RAID由操作系统管理,硬件资源灵活;硬RAID由专用硬件控制器处理,性能稳定但成本较高。
7. 查看系统资源的命令包括top、htop、iostat、vmstat、free、df、netstat等。
8. CentOS6.x的启动流程涉及BIOS自检、MBR加载GRUB、内核加载、init进程启动等;CentOS7.x使用systemd替代init,启动流程更为复杂。
9. Linux系统优化包括调整内核参数、优化文件系统、合理分配内存、优化网络设置等。
三、Shell编程类面试题:
1. 使用grep、awk、sort和uniq命令可以提取和统计域名。
2. netstat -an | sort | uniq -c 可以统计连接IP地址及其次数。
3. 使用for循环和date命令生成随机六位小写字母,结合固定字符串创建文件。
4. 使用echo $RANDOM生成随机数字。
5. 使用for循环和curl命令,结合重试机制检查网站访问状态,模拟真实访问模式。