當前位置:
首頁 > 最新 > 總結一下:運維工程師面試的經歷及面試相關問題—中

總結一下:運維工程師面試的經歷及面試相關問題—中

基於大家熱情高昂的氣氛,筆者又花了一個下午的時間回憶並整理在2017年2月24號筆者在東三環邊上(快到東四環了,沒有地鐵過去,到了四惠還要轉公交車)的一家傳媒公司的面試經歷,還好筆者有做筆記的習慣,把之前面試的問題都記錄在案,這一次的面試筆者可是記憶猶新,因為這次這家公司都跟筆者發offer了,實在是真心不想去這家公司就找原因推掉了,大家可別學我這麼不靠譜。下面是這家公司中的崗位要求說明:

崗位職責:

1、負責公司產品的版本控制、構建和發布管理;

2、負責公司統一配置庫管理工作,許可權管理與分配準確及時,定期完成配置備份;

3、負責公司內部開發/測試伺服器的運行管理工作;

4、負責Linux操作系統的安裝、配置、監控和維護、問題處理、軟體升級、 數據備份、應急響應、故障排除等、保證線上環境的穩定運行;

5、負責支撐平台24×7穩定運行,並進行前瞻性容量規劃;

6、負責公司機房伺服器日常維護及網路系統安裝、部署、維護工作。

崗位要求:

1、計算機相關專業本科及以上學歷,2年以上運維或配置管理工作經驗;

2、至少熟悉一種監控系統搭建,如Nagios/Zabbix/等;

3、至少熟悉一種集群管理工具,如Ansible/SaltStack等;

4、有使用集成發布工具發布構建經驗優先。比如:bamboo或者Jenkins;

5、熟悉Unix/Linux操作系統,熟悉Weblogic/tomcat等中間件,能夠編寫shell腳本,熟悉軟體開發過程及過程產品,有一定的網路基礎;

6、熟悉rsyslog, flume等日誌收集和處理系統;

7、具有強烈的安全意識及較強的溝通協調和學習能力,良好的團隊合作精神,工作積極主動。

過去之後,前台美眉把我帶到他們公司的地下室,我掃視了一下周圍的環境,貌似旁邊就是機房,因為我聽到伺服器的聲音。等了幾分鐘,面試官下來了,面試官目測比較瘦,看著跟我身材差不多(應該不到120),他說他是負責運維部的,然後開始就叫我先自我介紹,都是一個套路,免不了介紹的,所以兄弟們一定要把自我介紹練好。然後開始問我問題了,跟面試官聊得還行,問我應該有不下10個以上的問題,我記住了下面有10個問題:

1、LVS負載的原理,和Nginx負載有啥區別?

筆者回答:這個問題我覺得面試官司沒問好,正常都會這麼問「LVS有哪些負載均衡技術和調度演算法?"。我回答就是按我說的這種問法回答的,反正他也頻繁點頭,當然,筆者回答的可能沒有下面我整理出來的那麼詳細,大概意思我都說明白了。

LVS是Liunx虛擬伺服器的簡稱,利用LVS提供的負載均衡技術和linux操作系統可實現高性能、高可用的伺服器集群,一般LVS都是位於整個集群系統的最前端,由一台或者多台負載調度器(Director Server)組成,分發給應用伺服器(Real Server)。它是工作在4層(也就是TCP/IP中的傳輸層),LVS是基於IP負載均衡技術的IPVS模塊來實現的,IPVS實現負載均衡機制有三種,分別是NAT、TUN和DR,詳述如下:

? VS/NAT: 即(Virtual Server via Network Address Translation)

也就是網路地址翻譯技術實現虛擬伺服器,當用戶請求到達調度器時,調度器將請求報文的目標地址(即虛擬IP地址)改寫成選定的Real Server地址,同時報文的目標埠也改成選定的Real Server的相應埠,最後將報文請求發送到選定的Real Server。在伺服器端得到數據後,Real Server返回數據給用戶時,需要再次經過負載調度器將報文的源地址和源埠改成虛擬IP地址和相應埠,然後把數據發送給用戶,完成整個負載調度過程。

可以看出,在NAT方式下,用戶請求和響應報文都必須經過Director Server地址重寫,當用戶請求越來越多時,調度器的處理能力將稱為瓶頸。

? VS/TUN :即(Virtual Server via IP Tunneling)

也就是IP隧道技術實現虛擬伺服器。它的連接調度和管理與VS/NAT方式一樣,只是它的報文轉發方法不同,VS/TUN方式中,調度器採用IP隧道技術將用戶請求轉發到某個Real Server,而這個Real Server將直接響應用戶的請求,不再經過前端調度器,此外,對Real Server的地域位置沒有要求,可以和Director Server位於同一個網段,也可以是獨立的一個網路。因此,在TUN方式中,調度器將只處理用戶的報文請求,集群系統的吞吐量大大提高。

? VS/DR: 即(Virtual Server via Direct Routing)

也就是用直接路由技術實現虛擬伺服器。它的連接調度和管理與VS/NAT和VS/TUN中的一樣,但它的報文轉發方法又有不同,VS/DR通過改寫請求報文的MAC地址,將請求發送到Real Server,而Real Server將響應直接返回給客戶,免去了VS/TUN中的IP隧道開銷。這種方式是三種負載調度機制中性能最高最好的,但是必須要求Director Server與Real Server都有一塊網卡連在同一物理網段上。

回答負載調度演算法,IPVS實現在八種負載調度演算法,我們常用的有四種調度演算法(輪叫調度、加權輪叫調度、最少鏈接調度、加權最少鏈接調度)。一般說了這四種就夠了,也不會需要你詳細解釋這四種演算法的。你只要把上面3種負載均衡技術講明白面試官就對這道問題很滿意了。接下來你在簡單說下與nginx的區別:

LVS的優點:

· 抗負載能力強、工作在第4層僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟體里的性能最強的;無流量,同時保證了均衡器IO的性能不會受到大流量的影響;

· 工作穩定,自身有完整的雙機熱備方案,如LVS+Keepalived和LVS+Heartbeat;

· 應用範圍比較廣,可以對所有應用做負載均衡;

· 配置性比較低,這是一個缺點也是一個優點,因為沒有可太多配置的東西,所以並不需要太多接觸,大大減少了人為出錯的幾率。

LVS的缺點:

· 軟體本身不支持正則處理,不能做動靜分離,這就凸顯了Nginx/HAProxy+Keepalived的優勢。

· 如果網站應用比較龐大,LVS/DR+Keepalived就比較複雜了,特別是後面有Windows Server應用的機器,實施及配置還有維護過程就比較麻煩,相對而言,Nginx/HAProxy+Keepalived就簡單一點

Nginx的優點:

· 工作在OSI第7層,可以針對http應用做一些分流的策略。比如針對域名、目錄結構。它的正則比HAProxy更為強大和靈活;

· Nginx對網路的依賴非常小,理論上能ping通就就能進行負載功能,這個也是它的優勢所在;

· Nginx安裝和配置比較簡單,測試起來比較方便;

· 可以承擔高的負載壓力且穩定,一般能支撐超過幾萬次的並發量;

· Nginx可以通過埠檢測到伺服器內部的故障,比如根據伺服器處理網頁返回的狀態碼、超時等等,並且會把返回錯誤的請求重新提交到另一個節點;

· Nginx不僅僅是一款優秀的負載均衡器/反向代理軟體,它同時也是功能強大的Web應用伺服器。LNMP現在也是非常流行的web環境,大有和LAMP環境分庭抗禮之勢,Nginx在處理靜態頁面、特別是抗高並發方面相對apache有優勢;

· Nginx現在作為Web反向加速緩存越來越成熟了,速度比傳統的Squid伺服器更快,有需求的朋友可以考慮用其作為反向代理加速器;

Nginx的缺點:

· Nginx不支持url來檢測。

· Nginx僅能支持http和Email,這個它的弱勢。

· Nginx的Session的保持,Cookie的引導能力相對欠缺。

(更多精彩,請關注我們)


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 匯巨科技 的精彩文章:

TAG:匯巨科技 |