筆者其實沒有想到去面試,只是在智聯上更新了一下簡歷,就陸陸續續接到很多獵頭的郵件和電話,閑話少說,下麵就分享給大家Linuxer的面試經歷:
首先,獵頭或者公司人資會把公司的介紹及崗位要求發到你郵箱(或者QQ、微信),下麵這份是獵頭髮給我的崗位說明,為了職業道德操守,公司的介紹和麵試通知資訊我就不貼出來了,我就把崗位要求貼出來:
職位描述:
1、 負責應用伺服器的安裝、配置、最佳化與維護;
2、 負責應用系統的日誌資訊備份、管理、維護與分析;
3、 負責應用系統的日常監測於維護、故障處理、效能分析與最佳化;
4、 負責應用部署系統、環境配置系統、監控系統的開發、部署、升級與維護,建設高效能的運維平臺。
崗位要求:
1、 熟悉Linux作業系統的基礎知識,熟練使用Linux常用操作命令;
2、 熟練配置Nginx、HAproxy 等應用相關軟體的部署、配置與最佳化維護;
3、 熟悉網路基礎知識、熟悉TCP/IP的工作原理,會配交換機或路由器,能熟練的對網路情況進行分析
4、 熟悉shell/perl/python中的一種或多種進行運維程式的開發;
5、 熟悉Nagios,Ganglia等監控軟體
看著上面的要求大家是不是覺得要求也不高啊,你要細看就會發現,這家公司要求的還挺多,不僅要會網路知識(熟悉TCP/IP好像是每家單位的都會寫這樣的要求),還要會開發技能。相信很多做運維的兄弟在網路這一塊是個頭疼的事情,都對交換機和路由器不怎麼會配置和管理。
關鍵點來了,就是和麵試官溝通了,有筆試的公司會讓你做些面試題,沒有筆試就直接和麵試官聊了,下麵是我和麵試官溝通完之後記住的一些問題,分享給大家看一下,筆者一共記住了7個問題,好像還有兩個問題實在想不起來了,如果大家有更恰當的回答一定要貼出來一起探討和進步:
1、介紹下自己?
(幾乎每家公司首先都會讓你做個自我介紹,好像是必修課一樣)
回答:此處省略筆者的自我介紹,筆者建議介紹自己的時間不宜過長,3-4分鐘為宜,說多了面試官會覺得你太囉嗦了。說太少了也不行,那樣會讓人感覺你的經歷太簡單了、太空了。
正常情況下,一般你在做自我介紹的同時,面試官這個時候在看你的簡歷,他需要一邊看簡歷、一邊聽你介紹自己,如果你說個幾句話就把自己介紹完了,他肯定還沒緩過神來,對你的映像會減分的。在介紹的同時思維要清晰,邏輯要清楚,最好是根據你簡歷上寫的經歷來介紹,這樣可以把面試官的思路帶到你這裡來,讓他思路跟著你走。不要東扯一句,西扯一句。
儘量少介紹自己的性格、愛好(最好能不說就不說),你可以簡單羅列乾過幾家公司(最多羅列3家公司/也包含目前所在的公司,註意順序不要亂),都在那幾家公司負責什麼工作,都用過什麼技術,在著重介紹一下你目前所在的公司是負責哪些工作的,可以稍微詳細一點介紹,不要讓面試官聽著暈頭轉向的感覺。
2、灰度釋出如何實現?
回答:這個問題事後在知乎上看到了一位網友的建議覺得不錯,大家可以參考看一下 !
仔細考慮一下灰度釋出系統要達到哪些目的,基本就能有答案了。需要註意的是,客戶端應用(無論PC端還是移動端)的灰度釋出要比Web應用的灰度釋出更為複雜,因為應用執行在使用者持有的終端上,資料採集和回滾都更為困難(但可採集的資料型別要更加豐富)。
註:本人缺乏移動客戶端產品的經驗,下述內容可能不適用於移動客戶端產品。
我所理解的灰度釋出系統,主要任務是從產品使用者群中按照一定策略選取部分使用者,讓他們先行體驗新版本的應用,透過收集這部分使用者對新版本應用的顯式反饋(論壇、微博)或隱式反饋(應用自身統計資料),對新版本應用的功能、效能、穩定性等指標進行評判,進而決定繼續放大新版本投放範圍直至全量升級或回滾至老版本。
從上述描述可以得出灰度釋出系統需要具備的一些要素:
使用者標識
用於區分使用者,輔助資料統計,保證灰度釋出過程中使用者體驗的連貫性(避免使用者在新舊版本中跳變,匿名Web應用比較容易有這個問題)。匿名Web應用可採用IP、Cookie等,需登入的應用可直接採用應用的帳號體系。
標的使用者選取策略
即選取哪些使用者先行體驗新版本,是強制升級還是讓使用者自主選擇等。可考慮的因素很多,包括但不限於地理位置、使用者終端特性(如解析度、效能)、使用者自身特點(性別、年齡、忠誠度等)。對於細微修改(如文案、少量控制元件位置調整)可直接強制升級,對於類似新浪微博改版這樣的大型升級,應讓使用者自主選擇,最好能夠提供讓使用者自主回滾至舊版本的渠道。
對於客戶端應用,可以考慮類似Chrome的多channel升級策略,讓使用者自主選擇採用stable、beta、unstable channel的版本。在使用者有明確預期的情況下自行承擔試用風險。
資料反饋
使用者資料反饋:在得到使用者允許的前提下,收集使用者的使用新版本應用的情況。如客戶端效能、客戶端穩定性、使用次數、使用頻率等。用於與舊版本進行對比,決策後續是繼續擴大新版本投放範圍還是回滾。
服務端資料反饋:新版本服務端效能、服務端穩定性等,作用與使用者資料反饋類似。
新版本回滾策略
當新版本灰度釋出表現不佳時,應回滾至舊版本。對於純粹的Web應用而言,回滾相對簡單。主要難點在於使用者資料的無縫切換。對於客戶端應用,如果期待使用者自行解除安裝新版本另行安裝舊版本,成本和流失率都太高。可以考慮透過快速另行釋出新版本,利用升級來“回滾”,改寫上次灰度釋出的修改。
對於移動客戶端,新版本釋出成本較高,需要Appstore、Market審核。本人沒有移動客戶端產品的經驗,不太確定移動客戶端產品如何處理灰度釋出及回滾。但儘量將客戶端打造成Web App,會更有利於升級和回滾。(不過蘋果對純Web App類的App有較強的限制,好像已經不允許在Appstore上釋出這類應用了?)
新版本公關運營支援
對於改版級別的大型升級,需要配合公關運營支援,用於及時處理使用者在微博、部落格等渠道給出的“顯式反饋”。對比透過隱式資料反饋得到的結論後,綜合考慮應對策略。
3、Mongodb熟悉嗎,一般部署幾臺?
回答:部署過,沒有深入研究過,一般mongodb部署主從、或者mongodb分片叢集;建議3臺或5臺伺服器來部署。MongoDB分片的基本思想就是將集合切分成小塊。這些塊分散到若干片裡面,每個片只負責總資料的一部分。 對於客戶端來說,無需知道資料被拆分了,也無需知道服務端哪個分片對應哪些資料。
資料在分片之前需要執行一個路由行程,行程名為mongos。這個路由器知道所有資料的存放位置,知道資料和片的對應關係。對客戶端來說,它僅知道連線了一個普通的mongod,在請求資料的過程中,透過路由器上的資料和片的對應關係,路由到標的資料所在的片上,如果請求有了回應,路由器將其收集起來回送給客戶端。
4、如何釋出和回滾,用jenkins又是怎麼實現?
回答:釋出:jenkins配置好程式碼路徑(SVN或GIT),然後拉程式碼,打tag。需要編譯就編譯,編譯之後推送到釋出伺服器(jenkins裡面可以調指令碼),然後從分發伺服器往下分發到業務伺服器上。
回滾:按照版本號到釋出伺服器找到對應的版本推送
5、Tomcat工作樣式?
回答:Tomcat是一個JSP/Servlet容器。其作為Servlet容器,有三種工作樣式:獨立的Servlet容器、行程內的Servlet容器和行程外的Servlet容器。
進入Tomcat的請求可以根據Tomcat的工作樣式分為如下兩類:
Tomcat作為應用程式伺服器:請求來自於前端的web伺服器,這可能是Apache, IIS, Nginx等;
Tomcat作為獨立伺服器:請求來自於web瀏覽器;
6、監控用什麼實現的?
回答:現在公司的業務都跑在阿裡雲上,我們首選的監控就是用阿裡雲監控,阿裡雲監控自帶了ECS、RDS等服務的監控模板,可結合自定義報警規則來觸發監控項。上家公司的業務是託管在IDC,用的是zabbix監控方案,zabbix圖形介面豐富,也自帶很多監控模板,特別是多個分割槽、多個網絡卡等自動發現併進行監控做得非常不錯,不過需要在每臺客戶機(被監控端)安裝zabbix agent。
7、你是怎麼備份資料的,包括資料庫備份?
回答:在生產環境下,不管是應用資料、還是資料庫資料首先在部署的時候就會有主從架構,這本身就是是屬於資料的熱備份;
其實考慮冷備份,用專門一臺伺服器做為備份伺服器,比如可以用rsync+inotify配合計劃任務來實現資料的冷備份,如果是發版的包備份,正常情況下有臺釋出伺服器,每次發版都會儲存好發版的包。
總結一下麵試註意幾點事項:
第一,你要對自己的簡歷很熟悉
簡歷上的寫的技能自己一定要能說出個一二,因為面試官的很多問題都會挑你簡歷上寫的問。比如你簡歷上寫了這麼一條技能“熟悉mysql資料庫的部署安裝及原理”。你即然寫了這麼一條技能,你在怎麼不熟悉你也要瞭解mysql的原理,能說出個大概意思。萬一面試官問到了你寫的這一條,你都答不上來,那在他心裡你又減分了,基本上這次面試希望不大。
第二,不要不懂裝懂
如果面試官問到你不會的問題,你就說這個不太熟悉,沒有具體研究過,千萬別不懂裝懂,還扯一堆沒用的話題來掩飾,這樣只會讓面試官反感你。
第三,準備充分
竟可能多的記住原理性的知識,一般面試問的多的就是原理。很少問具體的配置檔案是怎麼配置的。面試前也要瞭解清楚“職位描述”和“崗位要求”,雖然有時候大多數不會問到崗位要求的問題,但也要瞭解和熟悉。
第四,面試完後一定要總結
儘量記住面試官問的每一個問題,回去記錄下來,如果問到不會的問題,事後要立馬查百度或者找朋友搞清楚、弄明白,這樣你才能記勞,下次面試說不定又問到同樣的問題。
作者:甘兵,知乎內容作者:連城
來源:http://blog.51cto.com/ganbing/2057482
《Linux雲端計算及運維高薪實戰班》2018年03月26日即將開課中,120天衝擊Linux運維年薪30萬,改變速約~~~~
*宣告:推送內容與圖片均來源於網路,部分內容會有所改動,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。
– END –
更多Linux好文請點選【閱讀原文】哦
↓↓↓