為什么感覺很多都和運維有關?
這是一個非常好的問題,作為一名IT從業者,我來回答一下。
首先,在當前的大數據、云計算時代,程序員在面試的過程中,經常會遇到與運維相關的問題,尤其是有自身產品(平臺類)的企業,往往對于程序員的運維類知識有比較多的要求,所以當前的程序員,尤其是Java程序員,要想獲得較強的崗位競爭力,一定要重視運維類知識的學習。
在當前的大數據時代背景下,很多程序員在日常開發過程中,需要與運維人員進行配合,所以程序員在面試過程中,經常會被問及與運維相關的問題,通過這樣的問題,也能夠全面了解程序員是否面對過大用戶的并發問題,這對于判斷程序員是否適合當前的招聘崗位也有一定的參考價值。
以大數據開發崗位為例,程序員在進行大數據任務開發的過程中,不可避免地需要與運維人員打交道,其中大數據平臺的搭建就是比較繁瑣的過程,另外還有一系列產品的安裝和部署,這些通常都需要運維人員來完成。對于一款平臺類產品來說,運維人員的技術能力能夠在很大程度上決定軟件平臺的性能,而且運維人員與開發人員的配合也非常關鍵。
當然,對于程序員來說,如果能夠自己掌握一定的運維知識,對于開發任務的開展還是很有幫助的,如果什么問題都需要運維人員來完成,不僅需要更多的運維人員,同時也會影響項目的整體開發進度。從這個角度來看,隨著未來大數據技術的逐漸落地,程序員掌握一定的運維類知識,對于提升自身的工作效率,還是很有幫助的。
在程序員面試過程當中,通過一些運維知識也能夠更加直觀地了解到程序員的技術棧,相對于比較復雜的開發問題來說,運維知識的脈絡還是比較清晰的,通過運維知識能夠在一定程度上擠出一些“技術水分”,這也是很多面試官比較愿意問運維問題的主要原因。另外,對于一些創業型公司來說,程序員掌握一定的運維類知識,也會節省一些投入,尤其在產品研發的初期。
從技術體系結構來看,要想解決大用戶的并發問題和系統擴展性問題,通常需要從兩個角度出發,一個角度是技術選型,比如采用擴展性比較強的大數據平臺,另一個角度就是硬件擴充,但是硬件擴充的前提是要有一個可擴充的平臺體系,而通過運維知識,程序員的交流會更明確,技術方案也比較直觀。
從崗位任務劃分的角度來看,程序員的工作任務與運維人員的工作任務有比較明確的邊界,但是在云計算技術的推動下,程序員接觸運維場景的情況也在不斷增加,比如通過云計算平臺的支撐,很多傳統的運維類任務,程序員也會比較方便地完成,比如安全配置等等。
最后,程序員在進行面試的過程中,如果遇到的運維類問題并不清楚,一定要如實回答,因為運維類知識需要一個積累的過程,而且經驗往往非常重要,所以很多運維類知識,在短期內是無法掌握的,如果盲目擴展自己的知識面,會為后續的工作帶來很多麻煩。
我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關于互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收獲。
如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!