前言html
近期時間在努力投簡歷加找工做中,將本身或者朋友遇到的面試題在此一一整理,後期將持續更新。。。mysql
(因爲博主起步階段水平有限,接觸的都是基礎題目,大佬不要見笑)nginx
一、測試網絡連通性的命令面試
ping:最基礎的就不解釋了sql
tracent(trace router的縮寫):判斷數據包到目的地通過的哪些節點出現了錯誤;格式:tracert 主機名稱或ip地址(具體詳情自行百度)shell
二、CPU徹底虛擬化和半虛擬化的區別?CPU能夠虛擬出多少個vCPU?api
cpu支持了硬件虛擬化,經過xen或kvm配置後及時徹底虛擬化,cpu不支持就是半虛擬化。bash
被虛擬化出來的操做系統上執行的指令,會運行在被虛擬化出來的硬件上,就是徹底虛擬化。kvm只支持徹底虛擬化,xen能夠徹底虛擬化也能夠半虛擬化。服務器
總結:網絡
看虛擬化技術是徹底虛擬化仍是半虛擬化,首先看虛擬化技術有沒有修改內核,xen虛擬化技術須要修改內核,所以它有徹底虛擬化和半虛擬化之分,kvm沒有修改內核,所以,它只有徹底虛擬化。
虛擬化是徹底虛擬化仍是半虛擬化,仍是要看cpu是否支持硬件虛擬化,支持硬件虛擬化,就是徹底虛擬化,不支持,就是半虛擬化。xen有兩種選擇,而kvm只有一種選擇,因此,xen有徹底虛擬化和半虛擬化之分,kvm只有徹底虛擬化。
(本文內容來自做者icy2013,原文連接http://blog.51cto.com/qiufengsong/1321151)
三、新建服務器如何經過DHCP獲取IP?
首先服務器發送DHCP Discover 數據包,這個過程是服務器使用udp的68端口來進行廣播,用67端口接受。數據包中包含DHCP類型,上次分配ip,apipa分配地址。
DHCP服務器接收到後檢查本身是否有有效的地址,返回一個廣播消息。新建服務器接收到ip地址後用DHCP request包迴應DHCP服務器,DHCP會問一下分配的那個ip有沒有別的機器正在使用 ,而後迴應新建服務器(租約ip地址、掩碼、期限)
客戶端收到後會廣播ARP包檢測ip衝突,若是衝突新建服務器將進行第二次的ip地址獲取
四、VLAN是如何隔離的?二層VLAN和三層VLAN的區別?(這個問題本人也不是很明白,求大神解釋)
VLAN是對鏈接到的第二層交換機端口的網絡用戶的邏輯分段,不受網絡用戶的物理位置限制而根據用戶需求進行網絡分段。一個VLAN能夠在一個交換機或者跨交換機實現。VLAN能夠根據網絡用戶的位置、做用、部門或者根據網絡用戶所使用的應用程序和協議來進行分組。基於交換機的虛擬局域網可以爲局域網解決衝突域、廣播域、帶寬問題。
二層vlan是能夠劃分vlan的兩層交換機 只能劃分vlan不能設置vlan接口地址,沒有路由功能 三層vlan是指三層交換機的vlan 能夠設置vlan接口地址
五、命令統計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行
六、 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)
七、寫一個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 來查看文件大小
..........