網絡、CentOS 系統、數據庫面試知識點總結

文章目錄

  • 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; 方式…