當前位置:首頁 » 網頁前端 » 前端運維架構師面試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端運維架構師面試

發布時間: 2022-09-25 22:40:04

⑴ 觀點 優秀的運維架構師應該具備哪些能力

具備一定運營技能;要有運營意識;主動性要強;學習能力要跟得上。
大家都會發現這些條件基本是主觀性方面的占的多一些,而與客觀沾邊的貌似只有一點:學習能力問題。運營技能差可以培養,運營意識差可以培養,主動性差也可以受環境影響,可以熏陶。
而學習能力完全是一個人綜合能力的體現,這一點個人覺得客觀性占絕大部分。最近發生的一系列事情,我頗有感觸,合格與不合格的運營工程師就差在這里。接下來,我就簡單的跟大家分享一下。
回歸到我們OPS生產線運營中來,大家分析一下自己的工作經歷,都會發現我們之前做過一些「傻事」,比如:
運營過程中RM掉lib目錄及關鍵的數據文件目錄;Drop掉資料庫,甚至就連自己遠程管理的伺服器,比如做一些安全策略等導致自己也連接不到自己的伺服器,諸如此類。

⑵ 架構師 一般會是什麼級別的來面試

架構師是行業中一種新興職業,工作職責是在一個項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。架構師的主要任務不是從事具體的程序的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,並且需要有良好的組織管理能力。可以這樣說,一個架構師工作的好壞決定了整個開發項目的成敗。 一般來講,系統架構師應該擁有以下幾方面的能力: 1:具備 8 年以上行業工作經驗; 2:具備 4 年以上 C/S 或 B/S 體系結構產品開發及架構和設計經驗; 3:具備 3 年以上的代碼編寫工作經驗; 4:具備豐富的大中型開發項目的總體規劃、方案設計及技術隊伍管理經驗; 5:對相關的技術標准有深刻的認識,對工程標准規范有良好的把握; 6:對 .Net/JAVA 技術及整個解決方案有深刻的理解及熟練的應用,並且精通WebService/J2EE 架構和設計模式,並在此基礎上設計產品框架; 7:具有面向對象分析、設計、開發能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟練使用 Rational Rose、PowerDesigner 等工具進行設計開發; 8:精通大型資料庫如 Oracle、sql Server 等的開發; 9:對計算機系統、網路和安全、應用系統架構等有全面的認識,熟悉項目管理理論,並有實踐基礎; 10:在應用系統開發和項目管理上有深厚的基礎,有大中型應用系統開發和實施的成功案例; 11:良好的團隊意識和協作精神,有較強的內外溝通能力。

⑶ web前端維護是做什麼的

前端開發工程師的主要職責是與交互設計師、 視覺設計師協作,根據設計圖用HTML和CSS完成頁面製作(也可能是一個人完成所有)。同時,在此基礎之上,對完成的頁面進行維護和對網站前端性能做相應的優化。另外,一名合格的前端開發工程師,應該具有一定的審美能力和基礎的美工操作能力,能很好的與交互及視覺協作。

現在的前端工程師可能都需要一定程度上的全棧了,也就是前後端都需要會。不僅需要製作靜態頁面,包括網站架構,H5等。

如今市場上招聘web前端需要你會寫JS、會用JS、能設計、切圖、懂用戶交互等,還需要前端架構是開發和優化框架,及伺服器,用戶體驗等涉汲就比較廣,當然全棧式前端工程師工資也就比較高了。

⑷ 各位大神 女生做前端,測試,運維 哪個比較

你好,現在前端市場不是特別火了,現在市場上對初級前端開發工程師的要求不多,很多公司招中高級的前端開發工程師。如果你對前端非常感興趣,你在自學了解這個課程時候覺得非常簡單,那你可以選擇前端開發。測試的話,基本上難度不大,也不需要你寫太多的代碼。運維的話,也是需要些代碼的。運維必須你要懂資料庫這一塊。其實這3個專業當中,我覺得最適合女生是測試專業,難度不大,女生做的也不少。

⑸ 誰知道面試 百度公司 的 平台運維工程師 的要求

運維平台研發
崗位職責:

-負責網路核心搜索產品的超大規模(以萬計)、高可用集群的穩定性運維
-深入研究核心搜索產品運維相關技術,持續優化服務架構
-深度參與業務系統的設計與實施,主導系統架構的可運維性設計
-理解搜索業務,能設計實現可支撐大規模分布式集群的運維平台與工具
-探索、研究新的運維技術方向
任職資格:

-本科或以上學歷,專業不限,但需要有較強的學習能力
-深入理解Linux操作系統、體系結構,研發能力強
-能夠結合產品需求制定並實施綜合性的運維技術方案
-強烈的責任心與主動性,對所負責工作有owner意識,並能自我驅動成長
-具備搜索引擎、電商、社交網路、雲平台的開發、運維經驗者優先

雲計算運維工程師
工作職責:
-負責雲計算業務大規模、高可用的運維架構設計與優化
-負責穩定性、用戶訪問速度及集群性能的優化,提升用戶體驗
-負責設計實現與運維相關的自動化工具或系統
-負責產品多地域部署、容量規劃及流量遷移
-負責制定公有雲相關的容災、故障預案等相關的運維技術方案

職位要求:
-計算機或相關專業本科或以上學歷
-對Linux操作系統原理有深入的理解,精通Shell/Python語言
-了解網路架構,了解伺服器、網路硬體相關知識
-良好的溝通、組織協調能力和強烈的責任心,具備很強的分析和解決問題的能力
-有三年以上互聯網行業工作經驗

有以下經驗者優先:
-有大規模在線集群及LAMP架構運維經驗優先
-熟悉國內外運維發展趨勢及運維優化方案優先
-熟悉阿里雲、亞馬遜等IAAS、PAAS、SAAS等雲技術方案優先
-虛擬化/容器平台和技術(VMWare,Xen,KVM,VirtualBox,Vagrant,Docker等)

⑹ 應聘JAVA架構師需要掌握哪些必要技術

架構師是軟體行業中一種新興職業,工作職責是在一個軟體項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,並制定這個項目的總體架構,指導整個開發團隊完成這個計劃。架構師的主要任務不是從事具體的軟體程序的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,並且需要有良好的組織管理能力。可以這樣說,一個架構師工作的好壞決定了整個軟體開發項目的成敗。
一般來講,系統架構師應該擁有以下幾方面的能力:
1:具備
8
年以上軟體行業工作經驗;
2:具備
4
年以上
C/S

B/S
體系結構軟體產品開發及架構和設計經驗;
3:具備
3
年以上的代碼編寫工作經驗;
4:具備豐富的大中型開發項目的總體規劃、方案設計及技術隊伍管理經驗;
5:對相關的技術標准有深刻的認識,對軟體工程標准規范有良好的把握;
6:對
.Net/JAVA
技術及整個解決方案有深刻的理解及熟練的應用,並且精通WebService/J2EE
架構和設計模式,並在此基礎上設計產品框架;
7:具有面向對象分析、設計、開發能力(OOA、OOD、OOP),精通
UML

ROSE,熟練使用
Rational
Rose、PowerDesigner
等工具進行設計開發;
8:精通大型資料庫如
Oracle、Sql
Server
等的開發;
9:對計算機系統、網路和安全、應用系統架構等有全面的認識,熟悉項目管理理論,並有實踐基礎;
10:在應用系統開發平台和項目管理上有深厚的基礎,有大中型應用系統開發和實施的成功案例;
11:良好的團隊意識和協作精神,有較強的內外溝通能力。

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

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


觀念問題

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


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


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


公司問題

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

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


總結

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

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

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

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

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

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

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

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

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

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

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

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

一、提問之前的准備

首先,最重要的是,你自己一開始就應該想清楚:

只有明確這些根本性的問題,才能正確高效地完成面試。

二、提問的原則

假定你對上一節的三個問題,已經有了清晰的想法,那麼接下來就可以設計如何提問了。

有一些提問的原則,是你應該遵循的:

三、考察專業能力

為了確認面試者是勝任的,你可以問一些與職位相關的專業方面的問題。(不過通常來說,一次面試不足以看出一個人的專業能力。)

比如,你的招聘職位是系統管理員,你可以問"如何快速地在50台機器上部署Linux?"(提示:正確答案不是刻錄50張安裝光碟。)

另外,你還應該向面試者了解他的過去,因為過去是未來的最好預測依據。不過,提問的重點不要僅僅是他過去的成果,更要關注在當時的環境中,他是如何決策和實施的。

四、考察綜合素質

因為人是會發展的,所以某種程度上,面試者的綜合素質要比他的專業能力更重要。

所以,具體的技術問題(如何調用API、什麼是設計模式、編程語言的語法等等)可以少問一些,更應該關注面試者的事業心、對工作的熱情、進取心、自律能力、毅力等方面。

下面是一些典型問題:

五、考察理性思維

某些情況下,你可能需要了解面試者的分析判斷能力,看他能否全面地思考問題、客觀地評價自己。

那麼,你可以依次提出這樣三個問題:

這里的重點是,讓面試者從正反兩方面評價一件自己熟悉的東西,看看他的思維是否片面。答案無所謂對錯,只要面試者有一個明確的立場,能夠從正反兩方面說出令人信服的理由,就可以了。比如,某個軟體的口碑不好,但是面試者說他很喜歡,而且說得出一大堆理由,清楚地解釋了這種軟體的優點和缺點在哪裡,這樣就很好。

不邀自來。眾所周知,越大型的公司,分工越明確。在BAT裡面,有專門的前端,後端,ops,dba等等。他們專研一方面,所以有深度,有沉澱。遇到問題了,找到相應的人,能夠快速解決問題。

但絕大多數中小公司,更偏愛樣樣都會的全棧,恨不得你一個人把所有活兒做完。並不一定需要有多大深度,能幹活兒就行了。

再說,現在提倡devops,開發懂點運維,能夠更好地定位問題,部署和架構項目,這是需求,也是趨勢。

對小公司而言基本沒有專門的運維,所以需要研發具備一些運維的知識,比如資料庫的搭建、nginx、jdk部署,其它開源中間件,比如Kafka、es等等

其實這個目前真正大規模用的少,炒概念的多,很多公司根本沒機會用. 但是他會問

我覺得很自然的事,為什麼總有人說得高大上?裝個軟體,調個參數,做個邏輯卷,調一調網路,配置一下分布式組件,搞個文件系統程序員就應該不會?

這些工作,我們公司一般運維人員搞不定的。所以用啥,自己整。

個人觀點,計算機知識就必須全面,才能做好一個程序員吧?

而且看大家回復,我有8成猜對,有8成以上的架構師,不懂底層,知識面也沒傳說中那麼廣。

現在devops在流行,說白了企業為了省成本,研發要干一部分運維的活。運維只負責硬體網路和k8s維護,其他什麼部署啦,服務編排啦,通通交給程序員做。

不過這樣倒也合理,運維只負責全公司通用的設施建設,至於cicd,服務編排,熔斷限流等等,都和業務強相關,交給開發做比較貼近實際業務

⑻ 成為合格的Web前端需要具備的條件!

今天小編要跟大家分享的文章是關於成為合格的Web前端需要具備的條件!初級Web前端工程師,如何進階成為優秀的Web前端,手拿高薪?今天小編就為大家帶來了這篇成為合格的Web前端需要具備的條件,讓我們一起來看一看想成為優秀的Web前端工程師需要具備哪些條件!

前端領域這幾年發展速度非常快,人才分布呈兩級分化趨勢,大家都在說缺前端,其實缺的是厲害前端,對於低端的前端,培訓機構一直在量產,但是無法滿足要求。很多情況下,一個厲害前端對於團隊的價值是再多低端前端都無法提供的。


厲害的前端工程師有一些共通的特質,這些特質也許不屬於前端的核心范疇,但是可以通過它們將厲害的人識別出來。


一、對用戶體驗的追求


不要認為用戶體驗只由設計師和產品經理把關就可以了。前端工程師對用戶體驗的關注度會直接影響產品的最終效果。


不管設計文檔有多麼詳細,產品中仍然有大量的細節是設計方沒有考慮到或者默認的,而這些細節需要前端工程師來把關。同樣的設計,交給不關注體驗的前端來做的話,會有很明顯的粗糙感,而想要填平這些粗糙感需要大量的附加成本。


目前多數視覺設計師的不足是無法以動態的角度理解產品。比如我們要出一個設計稿,PC時代我們會出一個固定寬度的稿,比如800像素,然後讓工程師去還原。後來到移動時代,我們會讓設計師出兩三個稿,對應不同屏幕的手機。這就是缺乏動態思維的彌補措施,無論出幾個寬度的視覺稿,都只是動態形態的截面。


二、動機的來源


我遇到的很多轉行做前端的人是認為前端門檻低,所以先從前端做起。這樣的人也許能做基礎的工作,但很難做到優秀。


厲害前端是奔著前端領域有更多的挑戰和發揮空間而來的,而不是為了好找工作。事實上勝任高級前端的職位很難,我們招聘高級前端工程師的面試通過概率可能是研發類職位中最低的。


還有的人說對前端有興趣,所以轉行做前端。對於前端的興趣要建立在對計算機的興趣、對編程的興趣之上。如果一個人對於做前端很有興趣,但是對做後端或者其它開發類職位有排斥,那麼就要對他的興趣打個問號了,這類人可能不適合做研發類的工作。


三、全棧意識


這里所說的全棧並不是真的要去做後端工程師一樣的事情。對於前後端分離,很多人有誤解,理解成前端不用寫後台代碼。真正的前後端分離指的是系統級的分離,前端有獨立的系統,當然要有自己的後台,還有各種輔助支撐系統。代碼構建、發布、線上運維、數據統計監控都要了解,否則沒法獨立承擔一塊業務。


厲害的前端工程師首先得是一個厲害的軟體工程師,他們是不會給自己的能力設限的。


而前端工程師所做的事情是將截面延展為一個完成的產品形態。


厲害的前端能夠主動追求用戶體驗的提升,對於交互、UI、視覺設計有基本的認識和審美能力,即使脫離設計師的支持依然能交付用戶體驗良好的產品。


四、了解自動化測試


優秀的前端不一定真的有多豐富的自動化測試實踐經驗,但一定要了解與自動化測試相關的基礎知識。系統的可測試性本身比具體的測試用例覆蓋度更重要。


追求質量不是一件有時間了再去做的事情,追求質量本身是提高效率的方法,從而給你更多的時間。自動化測試是前端工程化建設的必備環節,雖然前端的自動化測試還沒有形成穩定且應用廣泛的實踐方法,但是自動化測試這一塊完全缺失的話,肯定是成為不了一個厲害前端的。


五、重視監控系統


初級前端看功能,中級前端看測試,高級前端看監控。


前端做監控的目的就是在產品上線之後要從用戶端拿到第一手的數據,畢竟用戶端好用才是真正的好用。


目前多數公司對於前端的監控做的是不夠的。在前後端分離的技術架構之下,前端要有自身的一整套監控體系才行。


很多時候後台監控到的是結果,結合前端監控才能分析出原因。我舉個例子,比如後台監控到實時訂單量驟減,這個是最終的結果,如果有前端的監控,我們就要看一下前端的可用性狀況、各個頁面的UV、載入性能、每個交互環節的點擊量,各個介面的性能和出錯佔比、前端代碼報錯的量和位置,然後定位出問題所在。


真正經歷過大型項目並且做過技術架構的工程師都會重視監控系統的建設。


做好監控需要有很好的大局觀,一方面是產品的大局觀,包括思考用戶會如何使用產品,如何量化這些行為,每個環節數據的預期變化。另一方面是技術的大局觀,要了解到整個技術架構不同模塊是如何協作的,怎樣測量它們是否正常工作。


最後:


厲害的Web前端肯定不會只把時間花在研究瀏覽器上,他們所共有的特質就是:對於用戶體驗的追求、迎難而上的動機、全棧意識、注重自動化測試與數據監控。基礎知識之外,對於周邊體系的掌控狀況最有區分度。


以上就是小編今天為大家分享的關於成為合格的Web前端需要具備的條件的文章,希望本篇文章能夠對正在從事Web前端工作的小夥伴們有所幫助。想要了解更多會計相關知識記得關注北大青鳥會計培訓官網。最後祝願小夥伴們工作順利!


來源:#/p/22026860


⑼ 運維工程師的合格標准:

一個優秀的運維工程師標準是什麼,是不是做運維是一個比較低級的工作?
做IT這行是不是只有做編程才能掙高薪?

發現畢業後大部分同學都去編程了. 像我這種做了運維的主要是linux系統管理方面的.就偶一個

首先明確一下,全文所講的」運維「是指:大型網站運維,與其它運維的區別還是蠻大的;然後我們再對大型網站與小型網站進行范圍定義,此定義主要從運維復雜 性角度考慮,如網站規范、知名度、伺服器量級、pv量等考慮,其它因素不是重點;因此,我們先定義伺服器規模大於1000台,pv每天至少上億(至少國內 排名前10),如sina、、QQ,renren.com等等;其它小型網站可能沒有真正意義上的運維工程師,這與網站規范不夠和成本因素有關,更多的 是集合網路、系統、開發工作於一身的「復合性人才」,就如有些公司把一些合同采購都納入了運維職責范圍,還有如IDC網路規劃也納入運維職責。所以,非常 重要一定需要明白:運維對其它關聯工種必須非常了解熟悉:網路、系統、系統開發、存儲,安全,DB等;我在這里所講的運維工程師就是指專職運維工程師。
我們再來說說一般產品的「出生」流程:
1、首先公司管理層給出指導思想,PM定位市場需求(或成熟應用)進行調研、分析、最終給出詳細設計。
2、架構師根據產品設計的需求,如pv大小預估、伺服器規模、應用架構等因素完成網路規劃,架構設計等(基本上對網路變動不大,除非大項目)
3、開發工程師將設計code實現出來、測試工程師對應用進行測試。
4、好,到運維工程師出馬了,首先明確一點不是說前三步就與運維工作無關了,恰恰相反,前三步與運維關系很大:應用的前期架構設計、軟/硬體資源評估申請 采購、應用設計性能隱患及評估、IDC、服務性能\安全調優、伺服器系統級優化(與特定應用有關)等都需運維全程參與,並主導整個應用上線項目;運維工程 師負責產品伺服器上架准備工作,伺服器系統安裝、網路、IP、通用工具集安裝。運維工程師還需要對上線的應用系統架構是否合理、是否具備可擴展性、及安全 隱患等因素負責,並負責最後將產品(程序)、網路、系統三者進行拼接並最優化的組合在一起,最終完成產品上線提供用戶使用,並周而復使:需求->開 發(升級)->測試->上線(性能、安全問題等之前預估外的問題隨之慢慢就全出來了)在這里提一點:網站開發模式與傳統軟體開發完全不一樣, 網站一天開發上線1~5個升級版本是家常便飯,用戶體驗為王嘛,如果某個線上問題像M$ 需要1年解決,用戶早跑光了;應用上線後,運維工作才剛開始,具體工作可能包括:升級版本上線工作、服務監控、應用狀態統計、日常服務狀態巡檢、突發故障 處理、服務日常變更調整、集群管理、服務性能評估優化、資料庫管理優化、隨著應用PV增減進行應用架構的伸縮、安全、運維開發工作:
a 、盡量將日常機械性手工工作通過工具實現(如服務監控、應用狀態統計、服務上線等等),提高效率。
b、解決現實中服務存在的問題,如高可靠性、可擴展性問題等。
c、大規模集群管理工具的開發,如1萬台機器如何在1分鍾內完成密碼修改、或運行指定任務?2000台伺服器如何快速安裝操作系統?各分布式IDC、存儲集群中數PT級的數據如何快速的存儲、共享、分析?等一系列挑戰都需運維工程師的努力。
在此說明一下其它配合工種情況,在整個項目中,前端應用對於網路/系統工程師來說是黑匣子,同時開發工程師職責只是負責完成應用的功能性開發,並對應用本 身性能、安全性等應用本身負責,它不負責或關心網路/系統架構方面事宜,當然軟/硬體采購人員等事業部其它同事也不會關心這些問題,各司其職,但項目的核 心是運維工程師~!所有其它部門的橋梁。
上面說了很多,我想大家應該對運維有一些概念了,在此打個比方吧,如果我們是一輛高速行駛在高速公路上的汽車,那運維工程師就是司機兼維修工,這個司機不 簡單,有時需要在高速行駛過程中換輪胎、並根據道路情況換檔位、當汽車速度越來越快,汽車本身不能滿足高速度時對汽車性能調優或零件升級、高速行進中解決 汽車故障及性能問題、時刻關注前方安全問題,並先知先覺的採取規避手段。這就是運維工作~!
最後說一下運維工程師的職責:」確保線上穩定「,看似簡單,但實屬不容易,運維工程師必須在諸多不利因素中進行權衡:新產品模式對現有架構及技術的沖擊、 產品高頻度的升級帶來的線上BUG隱患、運維自動化管理承度不高導致的人為失誤、IT行業追求的高效率導致流程執行上的缺失、用戶增漲帶來的性能及架構上 的壓力、IT行業寬松的技術管理文化、創新風險、互聯網安全性問題等因素,都會是網站穩定的大敵,運維工程師必須把控好這最後一關,需具體高度的責任感、 原則性及協調能力,如果能做到各因素的最佳平衡,那就是一名優秀的運維工程師了。
另外在此聊點題外話,我在這里看到有很多人要sina、QQ、,51.com等聊自已的運維方面的經驗,其實這對於它們有點免為其難:
a、各公司自已網路架構、規模、或多或少還算是公司的核心秘密,要保密,另外,對於大家所熟知的通用軟體、架構,由於很多公司會根據自已實際業務需要,同 時因為原版性能、安全性、已知bug、功能等原因,進行過二次開發(如apache,php,mysql),操作系統內核也會根據不同業務類型進行定製 的,如某些應用屬於運算型、某些是高IO型、或大存儲大內存型。根據這些特點進行內核優化定製,如sina就在memcache上進行過二次開發,搞出了 一個MemcacheDB,具體做得如何我們不談,但開源了,是值得稱贊的,國內公司對於開源基本上是索取,沒有貢獻;另外,伺服器也不是大家所熟知的型 號,根據業務特點,大部份都是找DELL/HP/ibm進行過定製;另外,在分布式儲存方面都有自已解決方案,要不就是使用現成開源hadoop等解決方 案,或自已開發。但90%都是借鑒google GFS的思想:分布式存儲、計算、大表。
b、各公司業務方向不一樣,會導致運維模式或方法都不一樣,如51.com和運維肯定區別很大,因為他們業務模式決定了其架構、伺服器量級、 IDC分布、網路結構、通用技術都會不一樣,主打新聞門戶的sina與主打sns的51.com運維模式差異就非常大,甚至職責都不大一樣;但有一點,通 用技術及大致架構上都大同小異,大家不要太神化,更多的公司只是玩壘積木的游戲罷了,沒什麼技術含量。
c、如上面所講,目前大型網站運維還處於幼年時期理念和經驗都比較零散,沒有成熟的知識體系,可能具體什麼是運維,大家都要先思索一番,或壓根沒想過,真 正討論也只是運維工作的冰山一角,局限於具體技術細節,或某某著名網站大的框架,真正運維體系化東西沒有,這也許是目前網上運維相關資料比較少的原故吧。 或者也是國內運維人員比較難招,比較牛的運維工程師比較少見的原因之一吧。
二、運維工作師需要什麼樣的技能及素質
做為一名運維工程師需要什麼樣的技能及素質呢,首先說說技能吧,如大家上面所看到,運維是一個集多IT工種技能與一身的崗位,對系統->網路 ->存儲->協議->需求->開發->測試->安全等各環節都需要了解一些,但對於某些環節需熟悉甚至精通,如系統 (基本操作系統的熟悉使用,*nix,windows..)、協議、系統開發(日常很重要的工作是自動運維化相關開發、大規模集群工具開發、管理)、通用 應用(如lvs、ha、web server、db、中間件、存儲等)、網路,IDC拓樸架構;
技能方面總結以下幾點:
1、開發能力,這點非常重要,因為運維工具都需要自已開發,開發語言:c/c++(必備其中之一)、perl、python、php(其中之一)、shell(awk,sed,expect….等),需要有過實際開發經驗,否則工作會非常痛苦。
2、通用應用方面需要了解:操作系統(目前國內主要是linux、bsd)、webserver相關 (nginx,apahe,php,lighttpd,java。。。)、資料庫(mysql,oralce)、其它雜七八拉的東東。。。系統優化,高可 靠性。。。這些只是加分項,不需必備,可以邊工作邊慢慢學,這些東西都不難。當然在運維中,有些是有分工偏重點不一樣。
3、系統、網路、安全,存儲,CDN,DB等需要相當了解,知道其相關原理。
個人素質方面:
1、 溝通能力、團隊協作:運維工作跨部門、跨工種工作很多,需善於溝通、並且團隊協作能力要強;這應該是現代企業的基本素質要求了,不多說。
2、工作中需膽大心細:膽大才能創新、不走尋常路,特別對於運維這種新的工種,更需創新才能促進發展;心細,運維工程師是網站admin,最高線上許可權者,一不小心就會遺憾終生或打入十八層地獄。
3、主動性、執行力、精力旺盛、抗壓能力強:由於IT行業的特性,變化快;往往計劃趕不上變化,運維工作就更突出了,比如國內各大公司伺服器往往是全國各 地,哪裡便宜性價比高,就那往搬,進行大規模服務遷移(牽扯的伺服器成百上千台),這是一個非常頭痛的問題;往往時間非常緊迫,如限1周內完成,這種情況 下,運維工程師的主動性及執行力就有很高的要求了:計劃、方案、服務無縫遷移、機器搬遷上架、環境准備、安全評估、性能評估、基建、各關聯部門扯 皮,7X24小緊急事故響應等。
4、其它就是一些基本素質了:頭腦要靈光、邏輯思維能力強、為人謙虛穩重、親和力、樂於助人、有大局觀。
5、最後一點,做網站運維需要有探索創新精神,通過創新型思維解決現實中的問題,因為這是一個處於幼年的職業(國外也一樣,但比國內起步早點),沒有成熟體系或方法論可以借鑒,只能靠大家自已摸索努力。
三、怎樣才算是一個合格的運維工程師
1、保證服務達到要求的線上標准,如99.9%;保證線上穩定,這是運維工程師的基本責職所在。
2、不斷的提升應用的可靠性與健壯性、性能優化、安全提升;這方面非常考驗主動性、和創新思維。
3、網站各層面監控、統計的覆蓋度,軟體、硬體、運行狀態,能監控的都需要監控統計,避免監控死角、並能實時了解應用的運轉情況。
4、通過創新思維解決運維效率問題;目前各公司大部份運維主要工作還是依賴人工操作干預,需要盡可能的解放雙手。
5、運維知識的積累與沉澱、文檔的完備性,運維是一個經驗性非常強的崗位,好的經驗與陷阱都需積累下來,避免重復性范錯。
6、計劃性和執行力;工作有計劃,計劃後想法設法達到目標,不找借口。
7、自動化運維;能對日常機械化工作進行提煉、設計並開發成工具、系統,能讓系統自動完成的盡量依靠系統;讓大家更多的時間用於思考、創新思維、做自已喜歡的事情。
以上只是技術上的一些層面,當然個人意識也是很重要的。
四、運維職業的迷惘、現狀與發展前景
運維崗位不像其它崗位,如研發工程師、測試工程師等,有非常明確的職責定位及職業規劃,比較有職業認同感與成就感;而運維工作可能給人的感覺是哪方面都了 解一些,但又都比上專職工程師更精通、感覺平時被關注度比較低(除非線上出現故障),慢慢的大家就會迷惘,對職業發展產生困惑,為什麼會有這種現象呢? 除了職業本身特點外,主要還是因為對運維了解不深入、做得不深入導致;其實這個問題其它崗位也會出現,但我發現運維更典型,更容易出現這個問題;
針對這個問題我談一下網站運維的現狀及發展前景(也在思考中,可能不太深入全面,也請大家斧正補充)
運維現狀:
1、處於剛起步的初級階段,各大公司有此專職,但重視或重要承度不高,可替代性強;小公司更多是由其它崗位來兼顧做這一塊工作,沒有專職,也不可能做得深入
2、技術層次比較低;主要處於技術探索、積累階段,沒有型成體系化的理念、技術。
3、體力勞動偏大;這個問題主要與第二點有關系,很多事情還是依靠人力進行,沒有完成好的提練,對於大規模集群沒有成熟的自動化管理方法,在此說明一下,大規模集群與運維工作是息息相關的如果只是百十來台機器,那就沒有運維太大的生存空間了。
4、優秀運維人才的極度缺乏;目前各大公司基本上都靠自已培養,這個現狀導致行業內運維人才的流動性非常低,非常多好的技術都局限在各大公司內部,如 google 50萬台機器科學的管理,或者國內互聯公司top 10 的一些運維經驗,這些經驗是非常有價值的東西並決定了一個公司的核心競爭力;這些問題進而導致業內先進運維技術的流通、貫通、與借簽,並最終將限制了運維 發展。
5、很多優秀的運維經驗都掌握在大公司手中;這不在於公司的技術實力,而在於大公司的技術規模、海量PV、硬體規模足夠大,如可怕的流量、 51.com海量數據~~~~這些因素決定了他們遇到的問題都是其它中/小公司還沒有遇到的,或即將遇到。但大公司可能已有很好的解決方案或系統。
發展前景:
1、從行業角度來看,隨著中國互聯網的高速發展(目前中國網民已躍升為全球第一)、網站規模越來越來大、架構越來越復雜;對專職網站運維工程師、網站架構 師的要求會越來越急迫,特別是對有經驗的優秀運維人才需求量大,而且是越老越值錢;目前國內基本上都是選擇畢業生培養(限於大公司),培養成本高,而且沒 有經驗人才加入會導致公司技術更新緩慢、影響公司的技術發展;當然,畢業生也有好處:白紙一張,可塑性強,比較認同並容易融入企業文化。
2、從個人角度,運維工程師技術含量及要求會越來越高,同時也是對公司應用、架構最了解最熟悉的人、越來越得到重視。
3、網站運維將成為一個融合多學科(網路、系統、開發、安全、應用架構、存儲等)的綜合性技術崗位,給大家提供一個很好的個人能力與技術廣度的發展空間。
4、運維工作的相關經驗將會變得非常重要,而且也將成為個人的核心競爭力,具備很好的各層面問題的解決能力及方案提供、全局思考能力等。
5、特長發控和興趣的培養;由於運維崗位所接觸的知識面非常廣闊,更容易培養或發揮出個人某些方面的特長或愛好,如內核、網路、開發、資料庫等方面,可以做得非常深入精通、成為這方面的專家。
6、如果真要以後不想做運維了,轉到其它崗位也比較容易,不會有太大的局限性。當然了,你得真正用心去做。
7、技術發展方向、網站/系統架構師。
五、運維關鍵技術點解剖
1、 大規模集群管理問題
首先我們先要明確集群的概念,集群不是泛指各功能伺服器的總合,而是指為了達到某一目的或功能的伺服器、硬碟資源的整合(機器數大於兩台),對於應用來說 它就是一個整體,目前常規集群可分為:高可用性集群(HA),負載均衡集群(如lvs),分布式儲、計算存儲集群(DFS,如go

⑽ Linux運維工程師會面試哪些

知識上面的答主說的很精準了,我來說說技巧。我本身是一名HR,負責新盟教育的Linux講師招聘,所以我需要懂Linux基礎知識,方便對面試者提問。
首先,我會就應聘者簡歷上填寫的內容進行,提問,一般會包括拿到的證書,有無經驗,熟悉的技能,然後我的同事會提問專業內容。比如你寫了擅長MySQL ,Jquery,bootstrap,那麼我們就會提問這些內容,當然都不會特別困難,只需要證明你確實知道,不是在吹噓就行。
其次我們會就崗位需求進行提問,我會問到加班,出差,經驗等問題,我的同事會問會不會某些特定要求的內容,比如zabbix、nagios、elk等……
如果不會,請千萬不要吹牛,我們會問到說明我們肯定知道這玩意,如果吹牛肯定一眼就看出來,然後三兩句話把你送走這樣。
如果你一面過了,要准備二面,那麼請你至少,在二面之前,把我們提到的崗位要求的內容了解一下,避免我們再次提到的時候還是不知道,這樣很影響面試結果。