前言 近期時間在努力投簡歷加找工作中,將自己或者朋友遇到的面試題在此一一整理,後期將持續更新。。。 (由於博主起步階段水平有限,接觸的都是基礎題目,大佬不要見笑) 1、測試網路連通性的命令 ping:最基礎的就不解釋了 tracent(trace router的縮寫):判斷數據包到目的地經過的哪些節 ...
前言
近期時間在努力投簡歷加找工作中,將自己或者朋友遇到的面試題在此一一整理,後期將持續更新。。。
(由於博主起步階段水平有限,接觸的都是基礎題目,大佬不要見笑)
1、測試網路連通性的命令
ping:最基礎的就不解釋了
tracent(trace router的縮寫):判斷數據包到目的地經過的哪些節點出現了錯誤;格式:tracert 主機名稱或ip地址(具體詳情自行百度)
2、CPU完全虛擬化和半虛擬化的區別?CPU可以虛擬出多少個vCPU?
cpu支持了硬體虛擬化,通過xen或kvm配置後及時完全虛擬化,cpu不支持就是半虛擬化。
被虛擬化出來的操作系統上執行的指令,會運行在被虛擬化出來的硬體上,就是完全虛擬化。kvm只支持完全虛擬化,xen可以完全虛擬化也可以半虛擬化。
總結:
看虛擬化技術是完全虛擬化還是半虛擬化,首先看虛擬化技術有沒有修改內核,xen虛擬化技術需要修改內核,因此它有完全虛擬化和半虛擬化之分,kvm沒有修改內核,因此,它只有完全虛擬化。
虛擬化是完全虛擬化還是半虛擬化,還是要看cpu是否支持硬體虛擬化,支持硬體虛擬化,就是完全虛擬化,不支持,就是半虛擬化。xen有兩種選擇,而kvm只有一種選擇,所以,xen有完全虛擬化和半虛擬化之分,kvm只有完全虛擬化。
(本文內容來自作者icy2013,原文鏈接http://blog.51cto.com/qiufengsong/1321151)
3、新建伺服器如何通過DHCP獲取IP?
首先伺服器發送DHCP Discover 數據包,這個過程是伺服器使用udp的68埠來進行廣播,用67埠接受。數據包中包含DHCP類型,上次分配ip,apipa分配地址。
DHCP伺服器接收到後檢查自己是否有有效的地址,返回一個廣播消息。新建伺服器接收到ip地址後用DHCP request包回應DHCP伺服器,DHCP會問一下分配的那個ip有沒有別的機器正在使用 ,然後回應新建伺服器(租約ip地址、掩碼、期限)
客戶端收到後會廣播ARP包檢測ip衝突,如果衝突新建伺服器將進行第二次的ip地址獲取
4、VLAN是如何隔離的?二層VLAN和三層VLAN的區別?(這個問題本人也不是很明白,求大神解釋)
VLAN是對連接到的第二層交換機埠的網路用戶的邏輯分段,不受網路用戶的物理位置限制而根據用戶需求進行網路分段。一個VLAN可以在一個交換機或者跨交換機實現。VLAN可以根據網路用戶的位置、作用、部門或者根據網路用戶所使用的應用程式和協議來進行分組。基於交換機的虛擬區域網能夠為區域網解決衝突域、廣播域、帶寬問題。
二層vlan是可以劃分vlan的兩層交換機 只能劃分vlan不能設置vlan介面地址,沒有路由功能 三層vlan是指三層交換機的vlan 可以設置vlan介面地址
5、命令統計Nginx日誌access.log(目錄是/var/usr/log)中訪問量做多的3個ip
日誌內容如下:
(45.127.65.16 -- (log:........) )
awk '{print $1}' /var/log/nginx/access.log |sort | uniq -c |sort -nr -k1 | head -n 3
awk:取日誌中的第一列
sort:對數據排列,順序有小到大
uniq -c :列印重覆行次數
sort -nr -k1 :按照重覆行出現次數倒序排列
head -n 3:取前3行
6、 iptables如何控制mysql的訪問?如何防禦ddos的攻擊?
通過控制埠訪問:iptable -A INPUT -p tcp --dport 3306 -j ACCEPT
iptable -A OUTPUT -p tcp --sport 3306 -j ACCEPT
只允許指定ip訪問: iptable -A INPUT -p tcp --dport 3306 -s 指定ip -j ACCEPT
#防止SYN攻擊 輕量級預防
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT
#防止DOS太多連接進來,可以允許外網網卡每個IP最多15個初始連接,超過的丟棄
iptables -A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#用Iptables抵禦DDOS (參數與上相同)
iptables -A INPUT -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
(參考:https://www.cnblogs.com/fatt/p/6932380.html)
7、寫一個shell腳本,將/usr/local/bak下大於1M的文件移到/tmp下
#! /bin/bash cd /usr/local/bak for filename in `ls -l | awk '$5>10240 print{$9}'` do mv $filename /tmp done
ls -l 預設顯示的大小是以位元組為單位 ,可以使用 ls -lh 來查看文件大小
8、查看應用服務流量使用情況
iftop
左邊為伺服器;中間為外網IP,左箭頭流入,右箭頭流出;右邊為2s 10s 40s 的流量情況。
TX:發送流量 RX:接收流量 TOTAL:總流量 Cumm:運行iftop到目前時間的總流量 peak:流量峰值 rates:分別表示過去 2s 10s 40s 的平均流量
9、統計主機tcp的鏈接數量,並按鏈接狀態分類
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
更多題目請訪問主頁鏈接:https://www.cnblogs.com/aloneysir/