程序員面試,為什麼感覺很多都和運維有關?

做一個理性的青年


不會運維的程序員不是好程序員。這個信條要時刻謹記,不管是面試還是自己平時在工作中都要堅持這個準則,因為這對你以後的發展大有裨益。


觀念問題

一直以來,很多圈外人對我們程序員的觀念就是永遠的一本正經,著裝單一,了無生趣,聰明絕頂,其實這是他們對程序員的誤解,因為多才多藝,多姿多彩的程序員比比皆是,但是傳統的觀念或者說以偏概全的觀念矇蔽了他們的雙眼,而他們自己又沒有嘗試去了解,所以導致人云亦云,給程序員披上了一層灰。


同樣的,我們大部分程序員的觀念也跟他們差不多,認為程序員就只是搬磚擼碼的,至於各種部署服務器相關的工作應該是運維做的,其實非也,如果真的這樣認為的話,那就真的太不把自己當程序員了。為什麼這麼說呢?因為我們程序員是實實在在擼碼開發產品的群體,可是如果我們開發出來的東西只能自個在本地玩耍,卻不能眾樂樂,那還有什麼意義,此時,你可能會說,交給運維啊,那麼如果沒有運維呢,就沒法玩了,所以我們不能總是將希望寄託在別人身上,當自己有能力能夠將系統進行部署的時候,那就該學會部署。


其實不僅僅是程序員,優秀的運維工程師也是需要會開發擼碼的,因為有時候他們也需要開發一些小工具來進行驗證,或者開發網頁來進行服務的管理,所以說程序員和運維都是相輔相成的。


公司問題

像我們現在很多的公司都沒有明確的人員分工,特別是小公司連運維都沒有,所以就談不上讓運維去部署了,那麼怎麼辦呢?肯定就是開發人員自己去部署了,如果不會部署的話就可以去網上查找資料,其實總體來說不會很難,因為我看過很多運維其實也是在網上找資料按步聚進行操作。

另外公司之所以這麼要求,一方面是基於人員成本的考慮,畢竟如果一個人能幹好的事為啥非得招兩個人;另一方面可能基於公司的發展問題,像一般的小公司確實沒必要專門招一個運維,不過隨著公司的發展,後期肯定會招專業運維,畢竟專人做專事,事半功倍。


總結

永遠記住“不會運維的程序員不是好程序員”,其實作為程序員不能總是把自己陷在擼碼的深淵,除了擼碼,我們還要學會產品需求分析、簡單的UI畫圖、數據庫分表分庫及性能優化、運維服務器部署、單元及系統測試等等,總的來說,要想成為優秀的程序員,我們有必要把產品線上的每一個環節都略知一二,這是經驗收穫,一定會成為我們日後發展的資本。


都市心聲


這是一個非常好的問題,作為一名IT從業者,我來回答一下。

首先,在當前的大數據、雲計算時代,程序員在面試的過程中,經常會遇到與運維相關的問題,尤其是有自身產品(平臺類)的企業,往往對於程序員的運維類知識有比較多的要求,所以當前的程序員,尤其是Java程序員,要想獲得較強的崗位競爭力,一定要重視運維類知識的學習。

在當前的大數據時代背景下,很多程序員在日常開發過程中,需要與運維人員進行配合,所以程序員在面試過程中,經常會被問及與運維相關的問題,通過這樣的問題,也能夠全面瞭解程序員是否面對過大用戶的併發問題,這對於判斷程序員是否適合當前的招聘崗位也有一定的參考價值。

以大數據開發崗位為例,程序員在進行大數據任務開發的過程中,不可避免地需要與運維人員打交道,其中大數據平臺的搭建就是比較繁瑣的過程,另外還有一系列產品的安裝和部署,這些通常都需要運維人員來完成。對於一款平臺類產品來說,運維人員的技術能力能夠在很大程度上決定軟件平臺的性能,而且運維人員與開發人員的配合也非常關鍵。

當然,對於程序員來說,如果能夠自己掌握一定的運維知識,對於開發任務的開展還是很有幫助的,如果什麼問題都需要運維人員來完成,不僅需要更多的運維人員,同時也會影響項目的整體開發進度。從這個角度來看,隨著未來大數據技術的逐漸落地,程序員掌握一定的運維類知識,對於提升自身的工作效率,還是很有幫助的。

在程序員面試過程當中,通過一些運維知識也能夠更加直觀地瞭解到程序員的技術棧,相對於比較複雜的開發問題來說,運維知識的脈絡還是比較清晰的,通過運維知識能夠在一定程度上擠出一些“技術水分”,這也是很多面試官比較願意問運維問題的主要原因。另外,對於一些創業型公司來說,程序員掌握一定的運維類知識,也會節省一些投入,尤其在產品研發的初期。

從技術體系結構來看,要想解決大用戶的併發問題和系統擴展性問題,通常需要從兩個角度出發,一個角度是技術選型,比如採用擴展性比較強的大數據平臺,另一個角度就是硬件擴充,但是硬件擴充的前提是要有一個可擴充的平臺體系,而通過運維知識,程序員的交流會更明確,技術方案也比較直觀。

從崗位任務劃分的角度來看,程序員的工作任務與運維人員的工作任務有比較明確的邊界,但是在雲計算技術的推動下,程序員接觸運維場景的情況也在不斷增加,比如通過雲計算平臺的支撐,很多傳統的運維類任務,程序員也會比較方便地完成,比如安全配置等等。

最後,程序員在進行面試的過程中,如果遇到的運維類問題並不清楚,一定要如實回答,因為運維類知識需要一個積累的過程,而且經驗往往非常重要,所以很多運維類知識,在短期內是無法掌握的,如果盲目擴展自己的知識面,會為後續的工作帶來很多麻煩。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


IT人劉俊明


技術迭代是需要時間的,而且公司預算不多的話,會選擇現有系統繼續使用。有的企業也會選擇維穩,不會輕易開發新系統代替現有系統。


分享到:


相關文章: