面試需要掌握的知識點

最愛喝酸奶發表於2019-01-30

轉載自:https://blog.csdn.net/guaiderzhu1314/article/details/80781047

什麼是運維?什麼是遊戲運維?

  1. 運維是指大型組織已經建立好的網路軟硬體的維護,就是要保證業務的上線與運作的正常,
    在他運轉的過程中,對他進行維護,他集合了網路、系統、資料庫、開發、安全、監控於一身的技術
    運維又包括很多種,有DBA運維、網站運維、虛擬化運維、監控運維、遊戲運維等等

  2. 遊戲運維又有分工,分為開發運維、應用運維(業務運維)和系統運維
    開發運維:是給應用運維開發運維工具和運維平臺的
    應用運維:是給業務上線、維護和做故障排除的,用開發運維開發出來的工具給業務上線、維護、做故障排查
    系統運維:是給應用運維提供業務上的基礎設施,比如:系統、網路、監控、硬體等等

總結:開發運維和系統運維給應用運維提供了“工具”和“基礎設施”上的支撐開發運維、應用運維和系統運維他們的工作是環環相扣的。

主機與主機之間通訊的三要素有什麼?

IP地址、子網掩碼、IP路由

網路排錯常用思路及每一步的作用或目的。

先ping迴環地址,檢查TCP/IP驅動是否正常;
再ping本網段其他主機,檢查內網通訊是否正常;
再ping預設閘道器,檢查出口路由是否正常;
再ping其他網段其他主機,檢查遠端連通性;

迴環地址的範圍

127.0.0.1 ~ 127.0.0.254

HTTP返回的狀態分別代表什麼意思?

200:成功,伺服器已經成功處理了請求。
307:臨時重定向。
400:錯誤請求,伺服器不理解請求的語法。
401:身份驗證錯誤,此頁要求授權。
403:禁止,伺服器拒絕請求。
404:未找到,伺服器找不到請求的網頁。
500-505:伺服器在嘗試處理請求時發生內部錯誤,這些錯誤可能是伺服器本身的錯誤。

有一臺web伺服器,某天某使用者投訴上面某個網站速度很慢,如果你是伺服器的管理員,以目前所學的知識,你將以什麼思路查詢原因,請列出排查思路和步驟及理由。(假設伺服器有任意作業系統和軟體)

首先檢測伺服器狀態,排除硬體和系統故障;
然後檢查底層網路狀態,如互聯情況、延遲、流量,排除網路和網路卡故障;
最後檢查web伺服器軟體執行情況。

什麼是檔案系統?常見的有哪些?

即在外部儲存裝置上組織檔案的方法。
FAT、NTFS、EXT

NTFS檔案系統的優點有哪些?

提高磁碟讀寫能力;
可靠性強:加密、訪問控制列表;
磁碟利用率:壓縮、磁碟配合;

什麼是冷/熱備份?他們各自有什麼優點和缺點?

冷備份:
指需要備份的文件不被佔用的情況下執行備份的方式;比如將資料庫軟體關閉,對資料庫資料做備份。
優點是簡單快速、容易恢復到某個時間點、方便維護;缺點是隻能恢復到某個時間點、備份期間資料不便正常使用。

熱備份:
指執行備份時不影響備份文件正常使用的方式;比如資料庫軟體正在執行,對資料庫資料做備份。
優點是備份時間短、不影響資料使用、可達秒級恢復;缺點是所有操作都會同步,包括刪除。

什麼是域?

將網路中的計算機邏輯上組織到一起,進行集中管理,這種集中管理的環境稱為域。

什麼是域控制器?

在域中,至少有一臺域控制器,域控制器中儲存著整個域的使用者賬號和安全資料庫,安裝了活動目錄的一臺計算機為域控制器,域管理員可以控制每個域使用者的行為。

LVS、Nginx、HAproxy有什麼區別?工作中你怎麼選擇?

所謂四層就是基於IP+埠的負載均衡;七層就是基於URL等應用層資訊的負載均衡。

LVS: 是基於四層的轉發
HAproxy: 是基於四層和七層的轉發,是專業的代理伺服器。
Nginx: 是WEB伺服器,快取伺服器,又是反向代理伺服器,可以做七層的轉發。

區別: LVS由於是基於四層的轉發所以只能做埠的轉發,而基於URL的、基於目錄的這種轉發LVS就做不了。

工作選擇:
HAproxy和Nginx由於可以做七層的轉發,所以URL和目錄的轉發都可以轉發。
在很大併發量的時候我們就要選擇LVS,像中小型公司的話併發量沒那麼大,選擇HAproxy或者Nginx足已,由於HAproxy由是專業的代理伺服器,配置簡單,所以中小型企業推薦使用HAproxy。

什麼是代理伺服器?

能當替使用者去訪問公網,並且能把訪問到的資料快取到伺服器本地,等使用者下次再訪問相同的資 源的時候,代理伺服器直接從本地回應給使用者,當本地沒有的時候,我代替你去訪問公網,我接收你的請求,我先在我自已的本地快取找,如果我本地快取有,我直接從我本地的快取裡回覆你;如果我在我本地沒有找到你要訪問的快取的資料,那麼代理伺服器就會代替你去訪問公網。

Squid、Varinsh和Nginx有什麼區別,工作中你怎麼選擇?

Squid、Varinsh和Nginx都是代理伺服器。

區別:

  1. varnish和squid是提供專業的cache服務,而nginx快取功能呢個是第三方模組完成的。Nginx本來是反向代理/web伺服器,用了外掛可以做做這個副業,只能快取靜態檔案。
  2. varnish本身的技術上優勢要高於squid,它採用了視覺化頁面快取技術,並且在記憶體的利用上,Varnish比Squid具有優勢,效能要比Squid高,通過Varnish管理埠,還可以使用正規表示式快速、批量地清除部分快取。
  3. squid的優勢在於完整的龐大的cache技術資料,和很多的應用生產環境。

工作中選擇:
要做cache服務的話,我們肯定是要選擇專業的cache服務,優先選擇squid或者varnish。

Tomcat和Resin有什麼區別,工作中你怎麼選擇?

區別:
Tomcat使用者數多,可參考文件多,Resin使用者數少,可考慮文件少
最主要區別則是Tomcat是標準的java容器,不過效能方面比resin的要差一些
但穩定性和java程式的相容性,應該是比resin的要好

工作中選擇:現在大公司都是用resin,追求效能;而中小型公司都是用Tomcat,追求穩定和程式的相容

講述一下Tomcat8005、8009、8080三個埠的含義?

8005==》 關閉時使用
8009==》 為AJP埠,即容器使用,如Apache能通過AJP協議訪問Tomcat的8009埠
8080==》 一般應用使用

什麼是中介軟體?什麼是jdk?

中介軟體介紹:
中介軟體是一種獨立的系統軟體或服務程式,分散式應用軟體藉助這種軟體在不同的技術之間共享資源。
中介軟體位於客戶機/ 伺服器的作業系統之上,管理計算機資源和網路通訊
是連線兩個獨立應用程式或獨立系統的軟體。相連線的系統,即使它們具有不同的介面

但通過中介軟體相互之間仍能交換資訊。執行中介軟體的一個關鍵途徑是資訊傳遞
通過中介軟體,應用程式可以工作於多平臺或OS環境。

jdk:
jdk是Java的開發工具包,它是一種用於構建在 Java 平臺上釋出的應用程式、applet 和元件的開發環境。

什麼叫CDN?

內容分發網路:
簡單的說CDN就是讓原本上海的瀏覽器要訪問北京主站內容的請求轉而由部署在上海或南京的快取來受理,這樣請求的資料只需經過一跳或有限的幾跳就能到達請求端。
其目的是通過在現有的Internet中增加一層新的網路架構,將網站的內容釋出到最接近使用者的網路邊緣,使使用者可就近取得所需的內容,提高使用者訪問網站的速度。

什麼叫網站灰度釋出?

灰度釋出是指在黑與白之間,能夠平滑過渡的一種釋出方式。

AB test就是一種灰度釋出方式,讓一部使用者繼續用A,一部分使用者開始用B。
如果使用者對B沒有什麼反對意見,那麼逐步擴大範圍,把所有使用者都遷移到B上面 來
灰度釋出可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度。

簡述DNS進行域名解析的過程?

使用者要訪問www.baidu.com,會先找本機的host檔案,再找本地設定的DNS伺服器,如果也沒有的話,就去網路中找根伺服器,根伺服器反饋結果,說只能提供一級域名伺服器.cn,就去找一級域名伺服器,一級域名伺服器說只能提供二級域名伺服器.com.cn,就去找二級域名伺服器,二級域伺服器只能提供三級域名伺服器.baidu.com.cn,就去找三級域名伺服器,三級域名伺服器正好有這個網站www.baidu.com,然後發給請求的DNS伺服器,伺服器儲存一份之後,再發給客戶端。

講一下Keepalived的工作原理?(結合筆記)

keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗餘協議。

虛擬路由冗餘協議,可以認為是實現路由器高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組。這個組裡面有一個master和多個backup,master上面有一個對外提供服務的vip,master會發組播,當backup收不到vrrp包時就認為master宕掉了。這時就需要根據VRRP的優先順序來選舉一個backup當master。這樣就可以保證路由器的高可用了。

keepalived主要有三個模組,分別是core、check和vrrp。
core模組為keepalived的核心,負責主程式的啟動、維護,及全域性配置檔案的載入和解析。
check負責健康檢查。
vrrp模組是來實現VRRP協議的。

講述一下LVS三種模式的工作過程?

LVS 有三種負載均衡的模式,分別是NAT(nat 模式)、DR(直接路由模式)、 TUN(隧道模式)。

  1. NAT模式

原理:就是把客戶端發來的資料包的IP頭的目的地址,在負載均衡器上換成其中一臺RS的IP地址

併發至此RS來處理,RS處理完後把資料交給負載均衡器,負載均衡器再把資料包原IP地址改為自己的IP,將目的地址改為客戶端IP地址即可期間,無論是進來的流量,還是出去的流量,都必須經過負載均衡器。

優點:叢集中的物理伺服器可以使用任何支援TCP/IP作業系統,只有負載均衡器需要一個合法的IP地址。

缺點:擴充套件性有限。當伺服器節點(普通PC伺服器)增長過多時,負載均衡器將成為整個系統的瓶頸,因為所有的請求包和應答包的流向都經過負載均衡器。當伺服器節點過多時,大量的資料包都交匯在負載均衡器那,速度就會變慢。所以有了隧道模式。

  1. IP隧道模式(VS-TUN)

原理:隧道模式就是,排程器把客戶端發來的資料包通過IP隧道轉發給RS,RS收到後,先把資料包的頭解開,還原資料包,處理後,直接返回給客戶端。

應答報文不需要再經過排程器,排程器只處理請求報文。網際網路上的大多Internet服務的請求包很短小,而應答包通常很大。採用VS/TUN技術後,叢集系統的最大吞吐量可以提高10倍。

注意,由於RS需要對負載均衡器發過來的資料包進行還原,所以說必須支援IPTUNNEL協議,所以,在RS的核心中,必須編譯支援IPTUNNEL這個選項。

優點:負載均衡器只負責將請求包分發給後端節點伺服器,而RS將應答包直接發給使用者。所以,減少了負載均衡器的大量資料流動,負載均衡器不再是系統的瓶頸,就能處理很巨大的請求量。

這種方式,一臺負載均衡器能夠為很多RS進行分發。而且跑在公網上就能進行不同地域的分發。

缺點:隧道模式的RS節點需要合法IP,這種方式需要所有的伺服器支援”IP Tunneling”(IP Encapsulation)協議,伺服器可能只侷限在部分Linux系統上

  1. 直接路由模式(VS-DR)

原理:負載均衡器和RS都使用同一個IP對外服務但只有DR對ARP請求進行響應。所有RS對本身這個IP的ARP請求保持靜默(ARP抑制)。而DR收到資料包後根據排程演算法,找出對應的RS,把目的MAC地址改為RS的MAC(因為IP(VIP)一致)。並將請求分發給這臺RS。RS收到這個資料包,處理完成之後,由於IP(VIP)一致,可以直接將資料返給客戶。

注意:由於負載均衡器要對二層包頭進行改換,所以負載均衡器和RS之間必須在一個廣播域,也可以簡單的理解為在同一臺交換機上。

優點:和TUN(隧道模式)一樣,負載均衡器也只是分發請求,應答包有RS通過單獨的路由方法返回給客戶端。與VS-TUN相比,VS-DR這種實現方式不需要隧道結構,因此可以使用大多數作業系統做為物理伺服器。

缺點:(不能說缺點,只能說是不足)要求負載均衡器的網路卡必須與物理網路卡在一個物理段上。

Nginx相比於apache的優缺點

nginx 相對 apache 的優點:
(1)輕量級,同樣起web 服務,比apache 佔用更少的記憶體及資源。
(2)抗併發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高效能。
(3)Nginx更適合作處理靜態請求。
(4)高度模組化的設計,編寫模組相對簡單。
(5)本身就是一個反向代理伺服器,支援七層負載均衡。

  1. 作為 Web 伺服器:相比 Apache(select),Nginx (epoll)使用更少的資源,支援更多的併發連線,體現更高的效率,在高連線併發的情況下,更適合用Nginx。 Apache更適合處理動態請求,nginx的優勢是處理靜態請求。

  2. 作為負載均衡伺服器: Nginx 既可以在內部直接支援PHP 程式對外進行服務,也可以支援作為 HTTP代理伺服器對外進行服務。

Nginx,LVS,Haproxy特點:

Nginx的優點是:
1、工作在網路的7層之上,當使用者請求服務時,可以根據url進行判斷,然後分配到不同的後臺RS上。並且它的正則規則比HAProxy更為強大和靈活。
2、Nginx安裝和配置比較簡單,測試起來比較方便,LVS的配置、測試就要花比較長的時間了。Nginx對網路穩定性的依賴非常小(能ping通就就能進行負載功能),LVS對網路依賴比較大。
3、可以承擔高負載壓力且穩定,在硬體不差的情況下一般能支撐幾萬次的併發量。
4、Nginx可以對後端進行健康檢查,會將後端伺服器返回錯誤的請求重新提交到另一個節點。LVS需要配合Keepalive來實現。

Nginx的缺點是:
1、僅能支援http、https和Email協議
2、對後端伺服器的健康檢查只是節點級別的(通過埠來檢測),不支援通過url來檢測。

LVS的優點是:
工作在網路4層之上僅作分發之用,沒有流量的產生,決定了它在負載均衡軟體裡的效能最強的,對記憶體和cpu資源消耗比較低。

LVS的缺點是:
不支援正規表示式處理,不能做動靜分離。

HAProxy的特點是:
1、支援Session共享、Cookies引導
2、支援通過URL健康檢測
3、支援8種負載均衡策略
4、可以對MySQL讀進行負載均衡

單純從效率上來講HAProxy會比Nginx有更出色的負載均衡速度,在併發處理上也是優於Nginx的。

awk命令

統計ip訪問情況,要求分析nginx訪問日誌,找出訪問頁面數量在前十位的ip

cat access.log | awk '{print $1}' | uniq -c | sort -rn | head -10

檢視http的併發請求數與其TCP連線狀態

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

請執行命令取出 linux 中 eth0 的 IP 地址

ifconfig eth0|awk 'NR==2'|awk -F ":" '{print $2}'|awk '{print $1}'

iptables命令

如何將本地80 埠的請求轉發到8080 埠,當前主機IP 為192.168.2.1

iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -dport 80 -j DNAT-to-destination 192.168.2.1:8080

你常用的Nginx模組,用來做什麼?

mysql如何減少主從複製延遲?

如果延遲比較大,就先確認以下幾個因素:
1、從庫硬體比主庫差,導致複製延遲。
2、主從複製單執行緒,如果主庫寫併發太大,來不及傳送到從庫就會導致延遲。更高版本的mysql(6.5以後)可以支援多執行緒複製。
3、慢SQL語句過多
4、網路延遲

MySQL資料庫主從同步延遲解決方案:

主庫是寫,對資料安全性較高,比如sync_binlog=1,innodb_flush_log_at_trx_commit = 1 之類的設定,而slave則不需要這麼高的資料安全,完全可以講sync_binlog設定為0或者關閉binlog,innodb_flushlog也可以設定為0來提高sql的執行效率。另外就是使用比主庫更好的硬體裝置作為slave。

SSL

加密技術的兩個元素是什麼?
演算法;
金鑰。

什麼是金鑰?
是用來對資料進行編碼和解碼的一種演算法。

資料加密技術總體分為幾類?分別是什麼?
對稱加密;
非對稱加密。

作業系統

也稱OS,是一種計算機軟體,為應用軟體提供訪問計算機硬體的服務,提供有效的硬體、軟體管理。

什麼是虛擬機器?虛擬機器有幾種架構?列舉出三個虛擬機器廠商?

虛擬機器:
執行在計算機上的一款軟體程式,模擬計算機硬體功能為其他軟體程式系統一個獨立的計算機環境。

兩種架構:
1、寄居架構:作為應用軟體安裝在作業系統上,可以在此應用軟體上安裝多個作業系統

2、原生架構:虛擬機器軟體直接安裝在計算機硬體上,虛擬機器本身就是一個作業系統。

虛擬機器廠商:Vmware、微軟、Citrix(思傑)


參考:

運維常見面試題
https://blog.csdn.net/qq_39397409/article/details/79022399

linux運維面試精選
http://blog.51cto.com/silencezone/2072531

相關文章