http://3060674.blog.51cto.com/3050674/1590803git
很久沒寫文章了,最近要來刷下存在感,近兩年,運維自動化被炒的火的不行,行業趨勢不可擋,如今企業招運維工程師都要求會一門開發語言。咱們公司也不例外,因爲剛上市,一會兒有錢了,開始招兵買馬瞎折騰,所以最近我也面試了不下十來個求職者,本成想能夠很容易招到幾個不錯的小夥,結果卻令我很失望,今天貼幾個面試者例子上來,跟你們吐槽下:程序員
面試A君:面試
應聘職位:高級系統工程師 , 工資要18K數據庫
此君簡歷寫的不錯,在360幹過幾年,簡歷上寫的是維護公司的360網盤平臺,管理着2000多臺機器,寫了不少自動化工具。而後我就讓他跟我聊聊他作的自動化工具,哥們娓娓到來跟我講他寫的那些腳本(自動部署、批量命令、日誌分析),從他的表情中感受他好像以爲他作過的這些東西很牛B(其實都是一堆SHELL+PYTHON拼湊起來的粗糙工具,需求稍一改變就不能知足,腳本的擴展性極差),他說他如今的工做基本上80%都能經過腳本完成,說完後直視我,貌似是等待着個人承認,出於尊重,我只好說那確實不錯。接下來我就拿他寫過的批量併發執行命令的腳本跟他深刻聊了下,他說這個腳本是Python多線程併發的,1000臺機器執行一次批量命令1分鐘就能所有完成,我因而讓他給我講講多線程與多進程的區別,在何時用線程或進程更合適,結果哥們說了不少廢話也沒有講明白。而後我又讓他用PYTHON多線程給我寫個簡單的生產者消費者模型,哥們愣是不知道這是啥東西?那我又問,若是你不知道生產者消費者模型是什麼,那你的併發異步處理是怎麼作的?哥們語塞說沒在這方面作過深刻研究,我因而又問了幾個其它方面的問題,好比他的Ngnix 日誌是如何分析的?自動部署如何跟git結合的?監控報警接口是如何優化才下降誤報率的?但回答的都不理想,而後,就沒有而後了….。 在這裏我只能說,我不是想打擊他,若是你只是寫了幾個腳本就聲稱本身就是自動化大拿了,未免有點牽強。因此他被PASS掉了,由於我以爲把他招過來,真的不會給咱們公司的自動化水平提升多少!api
面試B君:服務器
應聘職位:運維自動化開發工程師, 工資不能低於16Krestful
此君簡歷上說他擅長PHP\Python開發,在原公司作過運維自動化平臺。我很感興趣,讓他講一下他作的東西,主要是監控平臺和CMDB資產數據庫,讓他着重講了一下他的監控架構,他說他的項目主要是主動監控方式,就是監控服務器每隔一兩分鐘去輪巡一次全部的機器的SNMP接口,把各機器的基本系統性能信息抓回來,再經過RRDTOOL出圖。他們有500多臺機器散落在3個不一樣地區的機房,我問他大家這種作主動監控輪巡一次得多少時間?他說1分鐘左右,我說若是輪巡過程當中,若是有幾臺機器連不上怎麼辦?他說他的輪巡是併發的,連不上的不會影響其它機器的監控,我說可是你的線程池的線程個數是有限的,有幾個線程由於機器連不上,那就會產生阻塞直至超時,但在超時以前這幾個線程是不會再空閒出來的,所以確定會致使整個輪巡時間的加長呀。哥們想了想說,確實存在這樣的問題。而後我問他有沒有考慮過用被動監控方式,就是讓客戶端自動彙報數據呢?他說當時他們也這樣想過,可是一想到要在全部的機器上裝個客戶就以爲會增長複雜度,而且維護和管理不容易。我說採用被動模式確實會增長點複雜度,但會給你帶來不少好處呀,監控客戶端自動給你的服務器彙報數據會大大減小你主監控服務器的負載,而且可監控的東西要多的多呀,你還能夠自定義插件,自動升級,而且還能夠把監控客戶端當作它用,好比自動化部署、任務下發等。多是出於尊重,哥們僞裝贊成了個人見解。多線程
而後我又問他們的項目是幾我的開發的,他說算他在內有3我的一塊作,我說那大家以前是如何協做的,好比接口互相是如何調用和約定的?他說基本上是每一個人寫本身的接口,互相之間約定好如何調用。我問那大家有沒有遵循什麼標準?好比是統一用http api仍是其它的?接口格式是統一用Json仍是用XML 或其它?哥們說他們有的用JSON、有的用XML。我說大家沒有用restful標準嗎?哥們表示沒聽過。。。。。OH,好吧!若是你們開發時都不遵循必定的標準和規範,我真心不知道他們的系統之後如何擴展,不知道這個哥們離職後誰還能看懂他的代碼?不知道這種拿一堆隨心所意寫出來的腳原本拼湊起來的所謂的系統能知足多少實際需求?架構
面試C君:併發
應聘職位:運維工程師 工資要求11K
哥們剛工做不到2年就要11K,真比我當時工做了2年掙的多多了(即便去掉通貨膨脹影響),但若是技術好那也沒有問題的。結果問了一堆基礎問題都答很差,再要這些錢是否有點自不量力了?問他LVS,結果只是配置過,讓他講幾種負載調度原理也講不明白,問他平時怎麼管理大量機器,他說用SaltStack 或本身批量寫腳本,我問那你用腳本批量管理機器,是經過什麼方式呢?他說是用SSH批量密鑰登陸,我說那你給我講講RSA密鑰認證原理吧,他接下說的就是怎麼經過ssh-keygen命令,怎麼把公鑰拷到客戶端機器上等怎麼實現密鑰認證的過程。我打斷他說我想聽的是原理,不是認證方法,爲何須要把public_key拷到客戶機上而不是private_key?爲何COPY過去後就登陸不須要再輸入密碼了?結果哥們一點都說不出來,接下來問的一些其它問題也是這樣,只知其然,不知其因此然,最後我說,你這種狀況咱們給不了11K,若是低點你願意考慮嗎?哥們說不太會考慮,那。。。。好吧,只能打發他走了。
其它的一些面試者狀況也好不到哪裏去,一路十多個面下來,讓我很失望,本覺得過了這麼多年之後,整個行業的從業素質會提升不少。但結果卻仍是老樣子,因此你們能夠想一想業內你們都在炒的運維自動化到底實際有多水?若是從業人員技術水平都這樣,還談個妹自動化呢?自動化真的是寫寫腳本,再拿個開源軟件拼拼湊湊下就完了嗎?在我看來這撐死了只能叫輔助運維,不叫自動化,自動化應該是真正的開始讓機器幫你監測問題\發現問題\處理問題\解決問題\自我修復\自我維護\自帶乾糧,各模塊之間儘可能低耦合\可擴展\可插拔。應該是真正能幫企業下降IT運營成本,使運營成本可視化\可測量\可對比,應該是真正能減輕運維人員的工做量而不是又製造一堆新的問題,應該是切合企業真正的實際需求作出來一些好用的工具和平臺,而不是搞一些花裏胡哨卻最後扔在那裏沒人用的花架子(我本身在這方面就掉進過大坑,以前主導作的一個開源軟件就是個失敗案例)。
總之最後給個人感受是,會開發的不真正的懂業務邏輯,開發出來的東西沒人用,會運維的開發水平又太爛,寫出來的代碼爛到哭。想找個真正合格的運維自動化人才真是不容易。
我近期一共只面了10多個,確實不能表明全行業水平,有些真正技術牛人估計我也沒有碰到,可是10多個樣本里面一個合適的都找不到,我以爲這也能差很少從側面說明一個行業的總體平均水平了,這些求職者水平不高,卻又想要高工資,我能說這是眼高手低、好高騖遠的表現麼?打鐵還需自身用,若是真想要高工資,請先踏實點把自身技術水平提升,若是真想作架構師,那請把架構技術和思想學好,若是真要作自動化運維,請先把至少一門開發語言學好、學透,不僅是會寫個腳本就完了,腳本只是腳本,那不是自動化,So,哥們別再逗了!
但願此文能給業內小夥伴選擇職業路徑時提供幫助!
P.S: 我也不是什麼大牛,只不過作好幾年運維,作了幾年自動化開發,大多數運維人員走過的路我都走過,上面寫的這几案例在我本身求職時也發生過,我也是一個從月薪2500一路走過來的屌絲而已,我寫這篇文章只是爲了表達對這個行業的低質、粗糙、落後的現狀吐槽一下,我也是這個行業裏的一員,因此全部的問題也有個人一份, SO評論裏罵我裝逼的人我就不解釋了,我這人就這風格,我寫的其它文章比這篇可激進多了,So若是某些看官不喜歡,那就let it be 吧。
補充:其實我上面面的這幾我的,我都是能夠把他們留下的,只是沒有辦法給他們期待的工資而已,論運維水平,A君要18K,但我以爲他不值這些呀,我最多隻能給到15K如下,由於若是我校招一個211學校計算機畢業的研究生也就給11-13就能夠了,再培養一年的話,相信運維+開發水平都會比A君強不少!B君也是,一個連開發模式和標準都沒搞明白的半調子程序員我能給他10K+就不錯了,我如今手下的一個剛本科畢業的學生寫出來的東西都比他強,有人說我對求職者要求過高,沒有人什麼都精通,我固然不要他什麼都精通了呀,可是在我看來是一些基礎性的、通用性的知識,若是你都不瞭解的話,在我看來只能算作不合格,不能說我要求高。
下面附上我認爲一些很好的問題,我回答了下:
---------------------------------------
問:個人問題不涉及技術原理,就是要問下運維工程師的工資怎麼定的,一個熟練使用工具或者說本身寫的腳本的人,起碼是對運維這塊有過多年經驗的人,爲何不值18k,這類人的定位徹底能夠定位於一個能夠幹活的人,試問一個能夠幹活的人,怎麼就不能值18k。若是招人都執着於原理,能幹出活的人少,執着於原理何用,我絕對不是說懂原理的人不會幹活。that's all
回覆 花花工資hgz:
我很想認真的回答下這個問題,但一會我又要去面試一我的,因此只能簡要回答了,我作過5年運維,2年開發到如今,你說的,在我看來,這個要18K的人就跟我最後2年作運維的時候情形是同樣的,就是感受本身什麼都懂了,實際上是什麼都大概懂了,就像一個汽車修理工同樣,幹了好多年了,感受什麼車都會修了,車子出了問題很快就能修好。可是若是這個廠商把車造出來時就有技術缺陷的話,這個他是不會去關注的。由於他只會修車,再深刻的好比說發動機的詳細原理他是不知道並不關注的,他只能靠聽聲音來肯定是否是發動機出了問題。 我以爲如今好多工做了多年的運維人員就是這種狀況,工做多年也只是變成了熟練的修車工人,而自動化則是嘗試改變修車行業的事情,熟練的修車工人不去多關注的話,那我是不看好他接下來的發展前景的,但一旦說到自動化,他若是隻是本身閉門造車的話,可能造出來的又只是一個三蹦子,那怎麼辦呢? 在我看來,若是作運維時間久了,迷茫了,就應該想一想如何提升自動化水平,多跟開發人員多學學開發模式,不要只知足於只是把各類開源軟件和腳本拼湊起來就完了,作運維的若是隻止步於運維,不去多想一想若是作點創造性的東西的話,那你也就只能是一個運維。
--------------------------
問:是否是有些太矯情,運維最最重要的就是解決各類問題,原理,呵呵...
答:我看到不少相似的評論,以爲運維最重要的是能幹活,能解決各類問題,那咱們來討論下什麼叫能幹活?什麼叫能解決各類問題? 把把各類服務配置好、業務運行穩定不出問題算不算能幹活?固然算!可是你是花了多少的成本和代價讓業務運行穩定了?這個問題你本身有沒有衡量過? 我買一堆F5,一堆豪華服務器讓廠商把東西都給我配置好,出了穩定找廠商幫解決,這算不算能幹活?一個優秀的運維人員能把負責的整個業務以最小的代價和成本管理的層次分明並努力嘗試整個公司的IT管理環境,一個普通的運維會認爲他也作到了這一點,可是是否真的作到了呢?誰知道呢?畢竟他本身相信了。
再說能解決各類問題,什麼叫能解決各類問題?我相信大多數的運維人員所謂的解決問題就是處理各類故障,但不怎麼涉及優化,尤爲是業務級的、代碼級的優化,運維一般只關注CPU、內存、負載是否太高,但業務很是慢怎麼辦?加CDN?加負載?加完後若是仍是慢怎麼辦?若是確實是由於代碼寫的很差致使慢怎麼辦?想過沒有?固然你能夠說這他媽哪是運維的問題,這是開發寫的代碼爛致使的問題, 可是若是你能告訴開發是他的哪塊代碼的調用可能致使了業務變慢的話,是否能更凸顯你的價值呢?固然若是隻去解決一些常規問題也無可厚非呀,但那就不要老想着拿過高的工資了吧!
附贈在羣裏看網友討論看到的一段不錯的話:
----北京-菜菜左 2014/12/17 12:12:07
建議搞運維的仍是要把計算機體系的基礎知識打牢,萬丈高樓平地起,基礎很重要。看似沒用只是由於你沒學,因此你不知道學了是啥樣。別人都說不重要只是由於你們都說不重要,也反映了運維行業的浮躁。不跟風不盲從,不迷信權威不吹水忽悠,走本身的路,不忘初心。這些話可能反對的人不少,就當我吹水吧。
------------------------
問:文人相輕,作技術的也不免落入這個俗套,老是提一些別人回答不出的問題來顯示本身的牛逼,忘了本身當初是個啥熊樣,一我的的技術水平就憑你簡單的問問就能作出答案,我服了你。
答:你本身想一想,我問的那些問題是很是規問題麼?這是基礎問題,任何一個正經幹過幾年運維或運維開發都須要知道的問題!他答不上來不是我爲難他,是他自己技術功底不紮實,一我的的技術水平不能經過面試面出來的話?那還要面試幹個蛋用?
-------------------------------
問:你怎麼就只看到人家缺點 ,就沒有看到人家優勢。你作的那軟件也那麼渣渣 ,你都好意思拿出來說。作爲面試者 你只見不得人家比你優秀。面了這麼多人 不想一想是否本身是否有問題!
答:這個看官提到我作的軟件是個渣渣,這個我認可呀,我就是作過一個失敗的開源軟件呀,我在博文裏也說了呀,因此我才吸收了教訓之後不能只作表面功夫呀,可是我面試的這些人多跟我以前同樣呀,拼拼湊湊搞個花架子出來了就叫作自動化,看着好看但解決不了什麼實際問題。寫個腳本就說本身提升了企業生產力。我爲何要招這樣的人?你可能以爲沒有一我的一開始就很牛B,須要培養,我以爲沒問題呀,能夠培養呀,但既然是讓我培養你,就請你不要想着即拿比你實際能力高不少的工資,又不想讓我揭穿你了吧。
---------------------------------
問:做爲招聘者,你並無從一個管理者的角度出發,認爲本身只是一個幹活的,不是管理者。並且你面試了十幾個,竟是沒發現一個合適的。好好想一想是否是本身的問題?
答:我跟你保證,我沒問題!面試十幾個都沒有合適的就表明我有問題了?爲何不能是從業人員廣泛水平不高呢?你這簡直就是千夫所指,無疾而終的調調!
------------------------
問:其實樓主寫這篇文章說白了仍是裝13用的,本身都搞不清楚什麼是自動化,真正的自動化是什麼含義,什麼樣的環境適合什麼樣的技術,張口就自動化,上萬臺機器,顯得很牛B似的,說白了,哄哄那些剛畢業的小弟還能湊乎,懂行的人一看這就是在給本身吹吹牛B而已。技術是在環境和場景下出來的,一個公司什麼樣的規模基本決定了什麼樣的技術實力,不是天天喊喊口號你就能漲起來的,以前也看過樓主的開源軟件,號稱自動化工具,說白了也就是個腳本集成工具而已,再加點頁面展現,這有何難,你的就叫自動化了?別人的就不是了? 只能說太你嗎自戀了
答:你這種評論我平時都懶的回,今天心情大好,回一下!
------------------------------
問:有要求能夠,不過你認爲要求一個運維人員,即熟練安裝配置管理開源,集羣管理工具,又熟練說出各類基礎原理,還要熟練編寫監控腳本,卻只值18K?開玩笑~如今一個熟練的快遞員都是10K的時代。一個工做3年的金融工做者都是20K的時代。
你的要求不算高,但起碼工資給高些,會有人來的。
答:一個工做3年的金融從業者是20K,這個確實很多,但哥們,我本身曾在牛B的金融公司幹過,而且我能夠告訴你,他們不少的時候拿的比這個多多了,可是人家都是名校畢業,都是高知呀,作運維的若是連開發的東西都不會一些,只會各類照文檔配置配置還敢要18K?在我看來這就是一個熟練工,一你沒有名校學歷,而你作的事情也沒人家有技術含量,還敢要18K,腦子是否是燒壞了?我發現如今有太多的作運維的,看着整個行業工資不斷上漲,也跟着蚍蜉撼樹起來,我聽過N多什麼一跳槽就翻倍,就20多K了,就年薪40萬了,本身也跟着開始漫天要價。你要價能夠呀,但你得真有兩把刷子,你要了18K,就請對的住 這18K的工資。