文章目录

  • Linux CentOS 面试知识点整理
    • 速查复习
      • ✅ 一、Linux 高频面试题
      • ✅ 二、MySQL 高频面试题
      • ✅ 三、计算机网络(OSI四层模型)高频面试题
        • 🔗 链路层(Link Layer)
        • 🌐 网络层(Internet Layer)
        • 🚚 传输层(Transport Layer)
        • 🌐 应用层(Application Layer)
      • ✅ 面试小贴士
      • 📦 附:快速记忆口诀
    • 一、Linux 基础命令
      • (一)文件和目录操作
      • (二)文件查看和编辑
      • (三)系统信息和进程管理
      • (四)网络相关命令
      • (五)用户和权限管理
      • (六)其他常用命令
    • 二、数据库安装与配置
      • (一)MySQL 安装
      • (二)MySQL 配置
      • (三)MySQL 文件路径
    • 三、计算机网络
    • 各层详细知识点总结
    • 一、链路层(Link Layer)
      • 1. **核心概念**
      • 2. **常见协议**
      • 3. **面试问题**
    • 二、网络层(Internet Layer)
      • 1. **核心概念**
      • 2. **常见协议**
      • 3. **面试问题**
    • 三、传输层(Transport Layer)
      • 1. **核心概念**
      • 2. **常见协议**
        • TCP/IP 协议
        • UDP 协议
      • 3. **面试问题**
    • 四、应用层(Application Layer)
      • 1. **核心概念**
      • 2. **常见协议**
        • HTTP协议
      • 3. **面试问题**


Linux CentOS 面试知识点整理

速查复习

✅ 一、Linux 高频面试题

问题标准答案
如何查找当前目录下最大的5个文件?du -ah . | sort -rh | head -n 5
如何查看某个端口是否被占用?ss -tuln | grep 端口号lsof -i:端口号
如何查看某个进程是否存在?ps aux | grep 进程名
如何递归删除某个目录下所有.log文件?find /path -type f -name "*.log" -exec rm -f {} \;
如何查看系统负载?topuptime
如何设置一个用户的密码?passwd 用户名
如何查看某个命令的帮助文档?man 命令名
如何查看当前用户是谁?whoami
如何修改文件权限为755?chmod 755 文件名
如何查看某个目录的磁盘使用情况?du -sh 目录名

✅ 二、MySQL 高频面试题

问题标准答案
如何查看MySQL当前连接数?SHOW STATUS LIKE 'Threads_connected';
如何查看MySQL字符集?SHOW VARIABLES LIKE 'character_set_server';
如何修改MySQL最大连接数?修改 /etc/my.cnfmax_connections=数值 后重启服务,或使用 SET GLOBAL max_connections=1000;
MySQL的数据文件默认存放路径?/var/lib/mysql
MySQL的配置文件路径?/etc/my.cnf
如何安全初始化MySQL?执行 mysql_secure_installation
如何查看MySQL错误日志路径?SHOW VARIABLES LIKE 'log_error';
如何查看MySQL服务状态?systemctl status mysqld
如何设置MySQL开机自启?systemctl enable mysqld
如何查看MySQL版本?mysql -V 或登录后 SELECT VERSION();

✅ 三、计算机网络(OSI四层模型)高频面试题

🔗 链路层(Link Layer)
问题标准答案
以太网帧的最小长度是多少?64字节(含FCS)
MAC地址是多少位?格式?48位,格式为 XX:XX:XX:XX:XX:XX
CSMA/CD的作用?检测并避免以太网中数据碰撞
CRC的作用?用于错误检测
🌐 网络层(Internet Layer)
问题标准答案
IPv4和IPv6的区别?IPv4是32位,IPv6是128位;IPv6支持自动配置、更高安全性
子网掩码的作用?划分网络位和主机位
CIDR表示法中 /24 是什么意思?子网掩码为 255.255.255.0
NAT的作用?将私有IP转换为公网IP,节省地址资源
如何查看本机路由表?ip routeroute -n
ARP协议的作用?将IP地址解析为MAC地址
🚚 传输层(Transport Layer)
问题标准答案
TCP和UDP的区别?TCP:面向连接、可靠、有流量控制;UDP:无连接、不可靠、快
TCP三次握手过程?SYN → SYN-ACK → ACK
TCP四次挥手过程?FIN → ACK → FIN → ACK
TCP如何实现可靠传输?序列号、确认应答、重传机制、滑动窗口
UDP适用于哪些场景?视频、语音、DNS、游戏等实时性高的场景
什么是滑动窗口?控制发送方在未收到确认前可发送的数据量
🌐 应用层(Application Layer)
问题标准答案
HTTP和HTTPS的区别?HTTPS加了SSL/TLS加密,端口443,HTTP端口80
HTTP状态码分类?1xx信息,2xx成功,3xx重定向,4xx客户端错误,5xx服务器错误
常见状态码?200成功,301/302重定向,404资源不存在,500服务器错误
DNS的作用?将域名解析为IP地址
RESTful API的特点?无状态、资源导向、统一接口、支持HTTP方法
什么是Web缓存?临时存储资源副本,减少请求、加快响应

✅ 面试小贴士

场景建议
不会的问题诚实说“这个我不太确定,但我理解是……”并尝试推理
被问到项目经验用 STAR 法则(情境-任务-行动-结果)描述
Linux命令不熟说“我可以查man手册或用–help”
MySQL调优提到:索引优化、慢查询日志、连接池、缓存
网络故障排查说“先ping,再traceroute,再看端口和防火墙”

📦 附:快速记忆口诀

  • TCP三次握手:SYN → SYN-ACK → ACK(“三次握手,确认连接”)
  • TCP四次挥手:FIN → ACK → FIN → ACK(“四次挥手,断开连接”)
  • HTTP状态码:2xx成功,3xx跳转,4xx你错了,5xx我挂了
  • Linux权限:755=所有者可写可执行,组和其他只读可执行

一、Linux 基础命令

(一)文件和目录操作

命令功能常用选项示例
ls列出目录内容-l(长格式)、-a(显示隐藏文件)、-h(易读格式)ls -lh
cd切换目录cd /etc
pwd显示当前工作目录pwd
mkdir创建目录-p(递归创建)mkdir -p dir1/dir2/dir3
rm删除文件或目录-r(递归删除)、-f(强制删除)rm -rf file.txt
cp复制文件或目录-r(递归复制)cp -r file1 file2
mv移动或重命名文件或目录mv file1 /dir

面试知识点补充

  • 批量删除特定文件类型:在实际工作中,可能需要批量删除某个目录下的特定文件类型。例如,删除所有.log文件,可以使用rm -f *.log。面试中可能会问到如何删除多个目录下的特定文件类型,可以使用find命令结合rm命令,例如find /path/to/directory -type f -name "*.log" -exec rm -f {} \;
  • rm -rf的谨慎使用rm -rf命令非常强大,但也非常危险,因为它会强制删除文件或目录,且不会提示确认。面试官可能会问到如何避免误删除重要文件。一个常见的做法是使用rm -i(交互模式)进行删除,或者在脚本中添加额外的检查逻辑。
  • cpmv的区别cp用于复制文件或目录,而mv用于移动或重命名文件或目录。面试中可能会问到它们的区别以及使用场景。cp适用于需要保留原始文件的情况,而mv适用于需要移动文件或重命名文件的情况。

(二)文件查看和编辑

命令功能示例
cat查看文件内容cat file.txt
moreless分页查看文件内容less file.txt
headtail查看文件头部和尾部内容head -n 5 file.txttail -f file.log
vivim文本编辑器命令模式(i进入插入模式,Esc退出,:wq保存退出)

面试知识点补充

  • vim编辑器的高级用法:在面试中,可能会被问到vim编辑器的一些高级功能,例如使用正则表达式批量替换文本。可以使用:s/old/new/g命令替换文件中的所有oldnew,或者使用:g/pattern/s/old/new/g命令只替换匹配pattern的行。
  • 日志文件的实时监控tail -f命令用于实时查看文件的新增内容,常用于监控日志文件。面试中可能会问到如何结合grep命令过滤特定内容。例如,tail -f file.log | grep "error"可以实时显示包含error的日志内容。
  • lessmore的区别lessmore更强大,支持上下翻页和搜索功能。面试中可能会问到如何在less中搜索特定内容,可以使用/pattern向前搜索,使用?pattern向后搜索。

(三)系统信息和进程管理

命令功能示例
uname显示系统信息uname -a
df显示磁盘空间使用情况df -h
du显示目录或文件的磁盘使用情况du -sh /dir
ps显示当前运行的进程ps aux
top实时显示系统中资源占用最高的进程top
kill终止进程kill -9 PID
nicerenice调整进程优先级nice -n 10 command
systemctl管理服务和系统状态systemctl restart service

面试知识点补充

  • 查找占用磁盘空间最大的目录:面试中可能会问到如何查找占用磁盘空间最大的前几个目录。可以使用du -sh /dir/* | sort -rh | head -n 5命令。这个命令会列出指定目录下所有子目录的大小,并按降序排列,显示前5个最大的目录。
  • 使用psgrep查找特定进程:面试中可能会问到如何查找特定进程。可以使用ps aux | grep process_name命令。例如,查找名为httpd的进程,可以使用ps aux | grep httpd
  • kill命令的信号类型kill命令可以发送不同的信号给进程。面试中可能会问到常见的信号类型,例如SIGTERM(默认信号,请求进程终止)、SIGKILL(强制终止进程,kill -9)和SIGINT(中断信号,通常由Ctrl+C产生)。

(四)网络相关命令

命令功能示例
ifconfigip查看和配置网络接口ip a
ping测试网络连通性ping -c 4 8.8.8.8
netstatss查看网络连接和监听端口ss -tuln
curlwget下载文件或测试HTTP请求curl -O http://example.com/file.zip

面试知识点补充

  • 查看所有监听端口:面试中可能会问到如何查看当前系统的所有监听端口。可以使用ss -tuln命令。这个命令会列出所有TCP、UDP和监听状态的端口。
  • 使用pingtraceroute定位网络故障点:面试中可能会问到如何排查网络问题。可以使用ping命令测试网络连通性,使用traceroute命令查看数据包的传输路径。例如,traceroute 8.8.8.8可以显示到达目标IP的路径。
  • curl命令的高级用法curl命令不仅可以下载文件,还可以用于测试HTTP请求。面试中可能会问到如何使用curl发送POST请求。例如,curl -X POST -d "key=value" http://example.com/api可以发送一个POST请求。

(五)用户和权限管理

命令功能示例
whoami显示当前登录用户whoami
who显示当前登录的用户信息who
su切换用户su -
useradd创建用户useradd username
passwd设置用户密码passwd username
chmod修改文件或目录的权限chmod 755 file.txt
chown修改文件或目录的所有者chown user:group file.txt

面试知识点补充

  • 批量创建用户:面试中可能会问到如何批量创建用户。可以使用useradd命令结合循环脚本实现。例如,使用for i in {1..10}; do useradd user$i; done可以批量创建user1user10
  • 设置目录的特殊权限:面试中可能会问到如何设置目录的特殊权限,例如setuidsetgidsticky bit。可以使用chmod命令。例如,chmod +s file.txt可以设置setuid权限,chmod g+s dir可以设置setgid权限,chmod +t dir可以设置sticky bit权限。
  • 用户组管理:面试中可能会问到如何管理用户组。可以使用groupadd命令创建用户组,使用usermod命令将用户添加到用户组。例如,groupadd groupname可以创建一个用户组,usermod -aG groupname username可以将用户添加到用户组。

(六)其他常用命令

命令功能示例
grep在文件中搜索文本grep "pattern" file.txt
find查找文件或目录find / -name "file.txt"
history显示命令历史history
man查看命令的手册页man ls

面试知识点补充

  • 使用find命令查找特定权限的文件:面试中可能会问到如何查找具有特定权限的文件。可以使用find命令结合权限选项。例如,find / -perm 777可以查找权限为777的文件。
  • 清空命令历史:面试中可能会问到如何清空命令历史。可以使用history -c命令。此外,还可以通过编辑~/.bash_history文件来手动清空历史记录。
  • man命令的高级用法:面试中可能会问到如何查看特定章节的手册页。可以使用man命令的章节选项。例如,man 1 ls可以查看ls命令的手册页,man 5 crontab可以查看crontab文件格式的手册页。

二、数据库安装与配置

(一)MySQL 安装

  1. 使用yum安装MySQL
    sudo yum install -y mysql-community-server
    
  2. 启动MySQL服务并设置开机自启
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
    
  3. 检查MySQL服务状态
    sudo systemctl status mysqld
    

面试知识点补充

  • 查看MySQL服务是否已经安装成功:面试中可能会问到如何查看MySQL服务是否已经安装成功。可以使用rpm -q mysql-community-server命令。如果返回mysql-community-server-版本号,则表示已安装成功。
  • 服务管理:面试中可能会问到如何查看服务的依赖关系。可以使用systemctl list-dependencies service命令。例如,systemctl list-dependencies mysqld可以查看MySQL服务的依赖关系。

(二)MySQL 配置

  1. 安全配置
    sudo mysql_secure_installation
    
  2. 修改配置文件
    • 配置文件路径:/etc/my.cnf
    • 常见配置项:datadirportbind-address
  3. 字符集配置
    [client]
    default-character-set = utf8mb4[mysql]
    default-character-set = utf8mb4[mysqld]
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    

面试知识点补充

  • 查看MySQL的当前字符集:面试中可能会问到如何查看MySQL的当前字符集。可以使用SHOW VARIABLES LIKE 'character_set_server';命令。
  • 动态修改MySQL配置:面试中可能会问到如何动态修改MySQL配置而无需重启服务。可以使用SET GLOBAL命令。例如,SET GLOBAL max_connections = 1000;可以动态修改最大连接数。

(三)MySQL 文件路径

  1. 数据文件路径/var/lib/mysql
  2. 配置文件路径/etc/my.cnf
  3. 日志文件路径/var/log/mysql/

面试知识点补充

  • 查看MySQL的错误日志文件路径:面试中可能会问到如何查看MySQL的错误日志文件路径。可以使用SHOW VARIABLES LIKE 'log_error';命令。
  • 日志文件的自动轮转:面试中可能会问到如何设置日志文件的自动轮转。可以使用logrotate工具。例如,可以编辑/etc/logrotate.d/mysql文件,配置日志轮转策略。

三、计算机网络


各层详细知识点总结

一、链路层(Link Layer)

1. 核心概念

  • 功能
    • 将数据封装成帧(Frame)。
    • 负责物理传输,包括信号的编码和解码。
    • 错误检测和纠正(通过CRC校验等)。
    • 流量控制(如滑动窗口机制)。
    • 提供硬件地址(MAC地址)。
  • 硬件地址(MAC地址)
    • 48位的唯一标识符,用于在局域网内识别设备。
    • 格式:XX:XX:XX:XX:XX:XX

2. 常见协议

  • 以太网(Ethernet)
    • 最常用的链路层协议,支持多种物理介质(如双绞线、光纤)。
    • 以太网帧结构:
      • 前导码(Preamble):用于同步。
      • 目标MAC地址(Destination MAC Address):6字节。
      • 源MAC地址(Source MAC Address):6字节。
      • 类型/长度字段(Type/Length):2字节。
      • 数据负载(Payload):46-1500字节。
      • 帧校验序列(FCS):4字节。
  • 无线局域网(WLAN)
    • 使用无线信号进行通信,遵循IEEE 802.11标准。
    • 支持多种加密方式(如WEP、WPA、WPA2)。
  • 点对点协议(PPP)
    • 用于点对点连接,常用于拨号上网。
    • 提供链路控制协议(LCP)和多种网络控制协议(NCP)。

3. 面试问题

  • 问题1:以太网帧的结构是什么?
    • 答案:以太网帧包括前导码、目标MAC地址、源MAC地址、类型/长度字段、数据负载和帧校验序列(FCS)。
  • 问题2:如何检测和纠正链路层的错误?
    • 答案:使用循环冗余校验(CRC)进行错误检测,通过重传机制进行错误纠正。
  • 问题3:什么是MAC地址?它的作用是什么?
    • 答案:MAC地址是网络设备的唯一标识符,用于在链路层识别设备。它是一个48位的地址,通常以十六进制表示。
  • 问题4:以太网中的最小帧大小是多少?
    • 答案:以太网中的最小帧大小是64字节,包括8字节的前导码和4字节的FCS。
  • 问题5:什么是碰撞检测(CSMA/CD)?它在以太网中的作用是什么?
    • 答案:CSMA/CD(Carrier Sense Multiple Access with Collision Detection)是一种介质访问控制方法,用于检测和避免数据冲突。在以太网中,当多个设备尝试同时发送数据时,CSMA/CD机制可以检测到冲突并重新发送数据。

二、网络层(Internet Layer)

1. 核心概念

  • 功能
    • 寻址:为每个网络设备分配一个唯一的IP地址。
    • 路由:根据IP地址将数据包从源主机发送到目标主机。
    • 分片和重组:将大数据包分割成小片段,以便在不同网络中传输。
    • 提供逻辑地址(IP地址)。
  • IP地址
    • IPv4:32位地址,格式为A.B.C.D,分为A、B、C、D、E五类。
    • IPv6:128位地址,格式为A:B:C:D:E:F:G:H,提供更多的地址空间。
  • 子网掩码
    • 用于将IP地址划分为网络部分和主机部分。
    • 常见的子网掩码:255.255.255.0(/24)。

2. 常见协议

  • IP(Internet Protocol)
    • 网络层的核心协议,负责数据包的寻址和路由。
    • IPv4:32位地址,格式为A.B.C.D
    • IPv6:128位地址,格式为A:B:C:D:E:F:G:H
  • ICMP(Internet Control Message Protocol)
    • 用于发送错误消息和操作信息。
    • 常见的ICMP消息类型:回显请求(ping)、回显应答、目的不可达。
  • ARP(Address Resolution Protocol)
    • 将IP地址解析为MAC地址。
    • 常见的ARP消息类型:ARP请求、ARP应答。

3. 面试问题

  • 问题1:IPv4和IPv6的主要区别是什么?
    • 答案:IPv4使用32位地址,而IPv6使用128位地址,提供了更多的地址空间。IPv6还支持无状态地址自动配置(SLAAC)和更好的安全性。
  • 问题2:什么是子网掩码?它的作用是什么?
    • 答案:子网掩码用于将IP地址划分为网络部分和主机部分。它帮助路由器确定数据包是否属于同一网络或需要转发到其他网络。
  • 问题3:如何查看当前主机的路由表?
    • 答案:在Linux系统中,可以使用route -nip route命令查看路由表。
  • 问题4:什么是CIDR(无类别域间路由)?它的作用是什么?
    • 答案:CIDR是一种IP地址的表示方法,通过子网掩码的位数来表示网络部分和主机部分。例如,192.168.1.0/24表示网络部分为192.168.1.0,子网掩码为255.255.255.0。CIDR的作用是提高IP地址的利用率,减少路由表的大小。
  • 问题5:什么是NAT(网络地址转换)?它的作用是什么?
    • 答案:NAT是一种将一个IP地址空间转换为另一个IP地址空间的技术,常用于将私有IP地址转换为公共IP地址。NAT的作用是节省公共IP地址资源,提高网络安全性。

三、传输层(Transport Layer)

1. 核心概念

  • 功能
    • 提供可靠的、面向连接的传输服务(如TCP)。
    • 提供无连接的、不可靠的传输服务(如UDP)。
    • 流量控制和拥塞控制。
    • 提供端到端的通信。
  • 端口号
    • 用于标识主机上的应用程序。
    • 范围:0-65535。
    • 常见的端口号:80(HTTP)、443(HTTPS)、22(SSH)、25(SMTP)。

2. 常见协议

TCP/IP 协议
  1. 定义:TCP/IP 是一组用于互联网及相关网络的通信协议,包括 TCP 和 IP。
  2. 层次结构
    • 链路层:负责物理链路的管理,如以太网。
    • 网络层:负责数据包的路由和转发,主要协议是 IP。
    • 传输层:负责端到端的数据传输和可靠性保证,主要协议是 TCP 和 UDP。
    • 应用层:负责处理特定的应用程序之间的通信,主要协议是 HTTP、FTP、SMTP 等。
  3. TCP 协议特点
    • 面向连接:在数据传输之前,必须建立一个可靠的连接。
    • 可靠传输:通过确认(ACK)、重传机制、滑动窗口等技术,确保数据的完整性和顺序性。
    • 应用场景:文件传输、网页浏览、邮件传输等。

面试知识点补充

  • TCP 的三次握手和四次挥手过程:面试中可能会问到 TCP 的三次握手和四次挥手过程。三次握手过程如下:
    1. 客户端发送一个 SYN 包到服务器,请求建立连接。
    2. 服务器收到 SYN 包后,回复一个 SYN-ACK 包,确认客户端的请求。
    3. 客户端收到 SYN-ACK 包后,发送一个 ACK 包到服务器,完成连接建立。
      四次挥手过程如下:
    4. 客户端发送一个 FIN 包到服务器,请求关闭连接。
    5. 服务器收到 FIN 包后,回复一个 ACK 包,确认客户端的请求。
    6. 服务器发送一个 FIN 包到客户端,请求关闭连接。
    7. 客户端收到 FIN 包后,发送一个 ACK 包到服务器,完成连接关闭。
  • 查看本机的 IP 地址:面试中可能会问到如何查看本机的 IP 地址。可以使用ifconfigip a命令。ip a命令是现代 Linux 系统中推荐使用的命令。
UDP 协议
  1. 定义:UDP 是一种无连接的、不可靠的传输层协议。
  2. 特点
    • 无连接:不需要建立连接,开销较小。
    • 不可靠:不提供确认和重传机制。
    • 应用场景:视频流、语音通话、游戏、DNS 查询等。

面试知识点补充

  • UDP 和 TCP 的主要区别:面试中可能会问到 UDP 和 TCP 的主要区别。TCP 是面向连接的、可靠的传输协议,而 UDP 是无连接的、不可靠的传输协议。TCP 适用于对可靠性要求较高的场景,如文件传输和网页浏览;UDP 适用于对实时性要求较高的场景,如视频流和语音通话。
  • 使用 UDP 协议实现简单的数据传输:面试中可能会问到如何使用 UDP 协议实现简单的数据传输。可以使用netcat工具。例如,服务器端可以使用nc -u -l 1234监听 UDP 端口 1234,客户端可以使用nc -u server_ip 1234发送数据到服务器。

3. 面试问题

  • 问题1:TCP和UDP的主要区别是什么?
    • 答案:TCP是面向连接的、可靠的传输协议,提供流量控制和拥塞控制,适用于对可靠性要求较高的应用。UDP是无连接的、不可靠的传输协议,适用于对实时性要求较高的应用。
  • 问题2:TCP的三次握手和四次挥手过程是什么?
    • 答案
      • 三次握手
        1. 客户端发送一个SYN包到服务器,请求建立连接。
        2. 服务器收到SYN包后,回复一个SYN-ACK包,确认客户端的请求。
        3. 客户端收到SYN-ACK包后,发送一个ACK包到服务器,完成连接建立。
      • 四次挥手
        1. 客户端发送一个FIN包到服务器,请求关闭连接。
        2. 服务器收到FIN包后,回复一个ACK包,确认客户端的请求。
        3. 服务器发送一个FIN包到客户端,请求关闭连接。
        4. 客户端收到FIN包后,发送一个ACK包到服务器,完成连接关闭。
  • 问题3:什么是滑动窗口协议?它的作用是什么?
    • 答案:滑动窗口协议是一种流量控制机制,用于控制发送方在等待确认之前可以发送的数据量。它通过动态调整窗口大小来优化网络利用率,防止发送方发送过多数据导致接收方溢出。
  • 问题4:TCP的拥塞控制机制有哪些?
    • 答案:TCP的拥塞控制机制包括慢启动(Slow Start)、拥塞避免(Congestion Avoidance)、快速重传(Fast Retransmit)和快速恢复(Fast Recovery)。
  • 问题5:UDP适用于哪些应用场景?
    • 答案:UDP适用于对实时性要求较高的应用,如视频流、语音通话、游戏和DNS查询。这些应用对延迟敏感,可以容忍一定程度的数据丢失。

四、应用层(Application Layer)

1. 核心概念

  • 功能
    • 提供应用程序之间的通信接口。
    • 支持多种应用层协议,如HTTP、FTP、SMTP、DNS等。
    • 提供用户界面和应用程序逻辑。

2. 常见协议

HTTP协议
  • HTTP(HyperText Transfer Protocol)
  1. 定义:HTTP 是一种应用层协议,用于在客户端和服务器之间传输超文本数据。
  2. 特点
    • 无状态:每次请求都是独立的。
    • 基于 TCP:确保数据的可靠传输。
    • 请求/响应模型:客户端发送请求,服务器返回响应。
  3. 请求和响应
    • 请求行:包含请求方法(GET、POST、PUT、DELETE等)、请求的URL和HTTP版本。
    • 请求头:包含附加信息,如HostUser-AgentContent-Type等。
    • 请求体:对于POST请求,包含要提交的数据。
    • 响应行:包含HTTP版本、状态码和状态消息。
    • 响应头:包含附加信息,如Content-TypeContent-Length等。
    • 响应体:包含服务器返回的数据,如HTML页面、JSON数据等。
  4. 状态码
    • 1xx:信息性状态码。
    • 2xx:成功状态码,如 200(请求成功)、201(资源已创建)。
    • 3xx:重定向状态码,如 301(永久重定向)、302(临时重定向)。
    • 4xx:客户端错误状态码,如 400(请求格式错误)、404(未找到资源)。
    • 5xx:服务器错误状态码,如 500(服务器内部错误)、503(服务不可用)。

面试知识点补充

  • 查看 HTTP 请求的详细信息:面试中可能会问到如何查看 HTTP 请求的详细信息。可以使用curl -v命令。例如,curl -v http://example.com可以显示 HTTP 请求和响应的详细信息。

  • 常见的 404 和 500 错误的原因及解决方法:面试中可能会问到常见的 404 和 500 错误的原因及解决方法。404 错误表示请求的资源未找到,可能是因为 URL 错误或文件不存在。500 错误表示服务器内部错误,可能是因为服务器配置错误或代码问题。解决方法包括检查 URL、检查服务器日志、检查应用程序代码等。

  • HTTPS(HTTP Secure)

    • 特点:在HTTP基础上添加了SSL/TLS加密。
    • 应用场景:安全的网页浏览、电子商务、在线银行。
  • FTP(File Transfer Protocol)

    • 特点:用于文件传输,支持文件上传和下载。
    • 应用场景:文件服务器、文件共享。
  • SMTP(Simple Mail Transfer Protocol)

    • 特点:用于发送电子邮件。
    • 应用场景:邮件服务器。
  • DNS(Domain Name System)

    • 特点:将域名解析为IP地址。
    • 应用场景:域名解析、负载均衡。

3. 面试问题

  • 问题1:HTTP和HTTPS的主要区别是什么?
    • 答案:HTTPS在HTTP的基础上添加了SSL/TLS加密,确保数据传输的安全性。HTTPS使用端口443,而HTTP使用端口80。
  • 问题2:什么是HTTP状态码?常见的状态码有哪些?
    • 答案:HTTP状态码是服务器对客户端请求的响应状态的描述。常见的状态码包括:
      • 200:请求成功。
      • 301/302:重定向。
      • 400:请求格式错误。
      • 401:未授权。
      • 403:禁止访问。
      • 404:未找到资源。
      • 500:服务器内部错误。
      • 503:服务不可用。
  • 问题3:DNS的作用是什么?它是如何工作的?
    • 答案:DNS的作用是将域名解析为IP地址。当客户端请求一个域名时,DNS服务器会查找该域名对应的IP地址,并将结果返回给客户端。DNS解析过程包括递归查询和迭代查询。
  • 问题4:什么是RESTful API?它的特点是什么?
    • 答案:RESTful API是一种基于HTTP协议的网络应用程序接口,遵循REST(Representational State Transfer)架构风格。它的特点包括无状态、统一接口、资源导向、超媒体作为应用状态的引擎(HATEOAS)。
  • 问题5:什么是Web缓存?它的作用是什么?
    • 答案:Web缓存是一种存储机制,用于临时存储Web资源的副本。它的作用是减少对服务器的请求次数,提高响应速度,降低网络带宽的使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91645.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91645.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/91645.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue (Official) v3.0.2 新特性 为非类npm环境引入 globalTypesPath 选项

目录 前言 报错信息 原因 解决方案 总结 前言 在早上更新了vscode后,发现自己 uni-app 项目的 .vue文件 的 template 标签都出现了报错。定位到了问题是因为 Vue (Official) 插件更新导致的,重装了插件的上一个小版本,报错消失&#xff…

程序可能的输出

#include "csapp.h"int main() {int x 3;if (Fork() ! 0)printf("x%d\n", x);printf("x%d\n", --x);exit(0); }分析:父进程先执行printf("x%d\n", x); 输出x4。后执行 printf("x%d\n", --x);输出x3。子进程只执…

2025年UDP应用抗洪指南:从T级清洗到AI免疫,实战防御UDP洪水攻击

一次未防护的UDP暴露,可能让日活百万的应用瞬间瘫痪,损失超千万2025年,随着物联网僵尸网络规模指数级增长及AI驱动的自适应攻击工具泛滥,UDP洪水攻击峰值已突破8Tbps,单次攻击成本却降至50元以下。更致命的是&#xff…

centos7安装MySQL8.4手册

目录前言一、首先更新插件,并查看当前系统版本二、安装步骤1、创建mysql目录2、安装rpm包3、安装 mysql-community-server4、启动MySQL服务5、查看MySQL状态6、设置开机自启动三、查看默认密码四、登录mysql五、修改密码六、开启远程访问1. 修改 MySQL 配置文件2. 重…

人脸检测算法——SCRFD

SCRFD算法核心解析 1. 算法定义与背景 SCRFD(Sample and Computation Redistribution for Efficient Face Detection)由Jia Guo等人于2021年在arXiv提出,是一种高效、高精度的人脸检测算法,其核心创新在于: 双重重分…

vue3+ts+elementui-表格根据相同值合并

代码<div style"height: auto; overflow: auto"><el-table ref"dataTableRef" v-loading"loading" :data"pageData" highlight-current-row borderselection-change"handleSelectionChange" :span-method"obj…

UI前端与数字孪生融合案例:智慧城市的智慧停车引导系统

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩!一、引言&#xff1a;停车难的 “城市痛点” 与数字孪生的破局之道当司机在商圈绕圈 30 分钟仍…

java+vue+SpringBoot集团门户网站(程序+数据库+报告+部署教程+答辩指导)

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿ppt部署教程代码讲解代码时间修改工具 技术实现 开发语言&#xff1a;后端&#xff1a;Java 前端&#xff1a;vue框架&#xff1a;springboot数据库&#xff1a;mysql 开发工具 JDK版本&#xff1a;JDK1.8 数…

【Docker基础】Docker-compose从入门到精通:安装指南与核心命令全解析

目录 前言 1 Docker-compose核心概念解析 1.1 什么是Docker-compose&#xff1f; 1.2 典型应用场景 2 Docker-compose离线安装详解 2.1 离线安装背景与优势 2.2 详细安装步骤 步骤1&#xff1a;获取离线安装包 步骤2&#xff1a;文件部署与权限设置 步骤3&#xff1a…

面试150 被围绕的区域

思路 使用DFS&#xff0c;将所有与边界相连的’O’都修改为‘#’,然后遍历数组&#xff0c;如果是遇到’#‘修改为’O’,如果是’O’修改为’X’。 class Solution:def solve(self, board: List[List[str]]) -> None:"""Do not return anything, modify boar…

(数据结构)线性表(上):SeqList 顺序表

线性表&#xff08;上&#xff09;&#xff1a;Seqlist 顺序表基本了解线性表顺序表静态顺序表动态顺序表编写动态顺序表项目结构基础结构初始化尾插头插尾删头删查找指定位置pos之前插入数据删除指定位置pos的数据销毁完整代码SeqLIst.hSeqLIst.ctest.c算法题移除元素删除有序…

WebStorm vs VSCode:前端圈的「豆腐脑甜咸之争」

目录 一、初识两位主角&#xff1a;老司机与新势力 二、开箱体验&#xff1a;是「拎包入住」还是「毛坯房改造」 三、智能提示&#xff1a;是「知心秘书」还是「百度搜索」 四、调试功能&#xff1a;是「CT 扫描仪」还是「听诊器」 五、性能表现&#xff1a;是「重型坦克」…

C#将类属性保存到Ini文件方法(利用拓展方法,反射方式获取到分组名和属性名称属性值)

前言&#xff1a;最近学习C#高级课程&#xff0c;里面学到了利用反射和可以得到属性的特性、属性名、属性值&#xff0c;还有拓展方法&#xff0c;一直想将学到的东西利用起来&#xff0c;刚好今天在研究PropertyGrid控件时&#xff0c;想方便一点保存属性值到配置文件&#xf…

kafka 单机部署指南(KRaft 版本)

目录环境准备JDK安装下载jdkjdk安装kafka 部署kafka 下载kafka 版本号结构解析kafka 安装下载和解压安装包配置 KRaft 模式格式化存储目录启动kafkaKafka 配置为 systemd 服务注意事项调整 JVM 内存参数Kafka KRaft 版本&#xff08;即 Kafka 3.0 及更高版本&#xff09;使用 K…

websocket案例 599足球比分

目标地址:aHR0cHM6Ly93d3cuNTk5LmNvbS9saXZlLw接口:打开控制台 点websocket 刷新页面 显示分析:不写理论了关于websocket 几乎发包位置都是下方图片 不管抖音还是快手 等平台这里在进行 new WebSocket 后 是要必须走一步的 也就是 new WebSocket().onopen() 也就是onopen 进行向…

【后端】Linux系统发布.NetCore项目

目录 1.设置全球化不变模式 1.发布到文件 3. 配置为服务 3.1.添加服务 3.2.添加执行权限 3.3.启动服务 4.访问 1.设置全球化不变模式 双击所需项目&#xff0c;设置全球化不变模式 <!-- 设置全球化不变模式 --><RuntimeHostConfigurationOption>System.Globa…

CMU-15445(2024fall)——PROJECT#0

题目介绍 这是题目原文。 注意&#xff1a;在拉取项目的时候需要注意拉取2024fall的Tag&#xff0c;本人血泪教训&#xff01; 本题是关于HyperLogLog的具体实现&#xff0c;其介绍可以看这个视频进行了解。简单来说HyperLogLog可以在一个非常小的固定内存下&#xff08;一般…

使用微信免费的图像处理接口,来开发图片智能裁剪和二维码/条码识别功能,爽歪歪

大家好&#xff0c;我是小悟。 1、图片智能裁剪 我们先来了解一下图片智能裁剪。图片智能裁剪聚焦于数字图像的智能化处理。AI技术的引入彻底改变了传统依赖人工框选的裁剪模式。 通过深度学习模型自动识别图像主体&#xff08;人物、商品等&#xff09;&#xff0c;能在极短时…

【代码随想录】+ leetcode hot100:栈与队列算法专题总结、单调栈

大家好&#xff0c;我是此林。 今天分享的是【代码随想录】栈与队列算法专题总结&#xff0c;分享刷算法的心得体会。 1. 用栈实现队列、用队列实现栈 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09;…

《5分钟开发订单微服务!飞算JavaAI实战:IDEA插件安装→空指针修复→K8s部署全流程》

目录 40倍提升开发效能的秘密武器 一、为什么选择飞算JavaAI&#xff1f;​编辑 二、IDEA插件安装三步曲&#xff08;极简版&#xff09; 步骤1&#xff1a;安装插件&#xff08;30秒完成&#xff09; 步骤2&#xff1a;账号登录&#xff08;2种方式任选&#xff09; 方式…