丨考官面對(duì)面我們是如何面試架構(gòu)師的_第1頁(yè)
丨考官面對(duì)面我們是如何面試架構(gòu)師的_第2頁(yè)
丨考官面對(duì)面我們是如何面試架構(gòu)師的_第3頁(yè)
丨考官面對(duì)面我們是如何面試架構(gòu)師的_第4頁(yè)
丨考官面對(duì)面我們是如何面試架構(gòu)師的_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

簡(jiǎn)單來(lái)說(shuō),能力模型是指導(dǎo)原則,面試地圖是操作手冊(cè),面試題庫(kù)是我們的資先說(shuō)說(shuō)能力模型,我們的架構(gòu)師能力模型包括三個(gè)部分:一個(gè)兩個(gè)基本能力。一個(gè)指的是德,這個(gè)是最基本的要求,主要包括誠(chéng)信、擔(dān)當(dāng)和品格,兩個(gè)基本能力指的是硬實(shí)力和軟能力,二者的七三開(kāi)(7:3)。硬實(shí)力是架構(gòu)師的本錢(qián),生存技能,是能力模型中最為重要的部分,架構(gòu)師一定要做到“精一個(gè)優(yōu)秀的架構(gòu)師,在硬實(shí)力的基礎(chǔ)上還需要具備軟能力。前幾年我還認(rèn)為架構(gòu)師只要技術(shù)好就行,到現(xiàn)在我越來(lái)越覺(jué)得架構(gòu)師的軟能力也非常之重要,因?yàn)榧軜?gòu)師在研發(fā)團(tuán)隊(duì)中會(huì)同時(shí)扮演技術(shù)大咖和老師的角色。作為老師,你要讓別人能很容易地聽(tīng)懂你的觀點(diǎn)和思路,要形成技術(shù),這就需要具備較強(qiáng)的表達(dá)和展現(xiàn)能力。同時(shí)架構(gòu)師在日常工作中需要和研發(fā)同學(xué)緊密協(xié)作,保證技術(shù)軌道的有序與目標(biāo)達(dá)成,所以協(xié)作能力也是至關(guān)重要的。面試是在能力模型的指導(dǎo)下,參考面試地圖進(jìn)行的。不過(guò),我個(gè)人習(xí)慣上并不是按照能力模型一項(xiàng)一項(xiàng)去考查的,我習(xí)慣從簡(jiǎn)歷開(kāi)始,先讓候選人做個(gè)簡(jiǎn)單介紹,然后從他最近參與的項(xiàng)目或者說(shuō)是他認(rèn)為做得最好的項(xiàng)目出發(fā),讓他介紹下項(xiàng)目情況、架構(gòu)方案以及項(xiàng)目的技術(shù)難點(diǎn)和解決思路。介紹架構(gòu)方案時(shí),我會(huì)要求他邊講邊畫(huà)架構(gòu)圖,這樣做有幾方面考慮:一是有助于自己理解;二是能比較好地考查他的架構(gòu)理解力、邏輯性、條理性、結(jié)構(gòu)化思維和表達(dá)能力;再就是有了架構(gòu)圖,接下來(lái)可以結(jié)合圖考查更細(xì)的。先從OSI模型的應(yīng)用層開(kāi)始,通過(guò)負(fù)載均衡方案考查他對(duì)CDN、DNS、VIP、HTTP、LVS、HA、Keepalived、Apache、Nginx的理解和熟練程度,中間也可以穿插問(wèn)幾個(gè)技術(shù)細(xì)節(jié)來(lái)考查他的理解深度,比如Nginx并發(fā)的技術(shù)原理、NginxLVS別工作在TCP/IP協(xié)議棧的第幾層,等等。接下來(lái)可以根據(jù)各功能模塊展開(kāi)考查Java基礎(chǔ)技術(shù)。Java基礎(chǔ)技術(shù)涉及面就廣了,每次面化、異常處理、Socket、多線程/并發(fā)、NIO等等。在Java體系中,JVM是最基礎(chǔ)也是最重要的考查點(diǎn),我們的系統(tǒng)最常出現(xiàn)的OOM異常都跟JVM有關(guān),架構(gòu)師必須深入了解JVM的內(nèi)存模型、字節(jié)碼、回收(GC)策略等原理,才能去優(yōu)化JVM相關(guān)的性能問(wèn)題,才能快速定位OOM類(lèi)異常。除了Java基礎(chǔ)技術(shù),常用框架和相關(guān)概念也是需要考查的,比如Spring、SpringMVC、Mybatis、ORM、IOC/DI、AOP等。以上提到的Java基礎(chǔ)和常用框架都是實(shí)現(xiàn)層面的技術(shù),接下來(lái)要結(jié)合候選人提到的某個(gè)功能模塊,考查他在面向?qū)ο笊系脑O(shè)計(jì)能力和建模能力。面向?qū)ο笤O(shè)計(jì)主要考查的是設(shè)計(jì)思想。類(lèi)與類(lèi)之間的關(guān)系是我比較喜歡問(wèn)的,因?yàn)檫@是最基本的概念,如果他對(duì)這些概念都很清楚,我會(huì)追問(wèn)聚合和組合的區(qū)別,一般能答上來(lái)的都是對(duì)面向?qū)ο罄斫獗容^深入的。有了面向?qū)ο蟮母拍詈退枷?,還可以結(jié)合候選人的項(xiàng)目,讓他詳細(xì)說(shuō)說(shuō)某個(gè)功能模塊的設(shè)計(jì),畫(huà)畫(huà)UML設(shè)計(jì)圖,這樣能考查他對(duì)面向?qū)ο蟮睦斫獬潭群皖I(lǐng)域建模能力。領(lǐng)域建模能力對(duì)于架構(gòu)師而言至關(guān)重要,業(yè)務(wù)域抽象得是否合理,是否高內(nèi)聚,領(lǐng)域邊界是否清晰,這些都是影響系統(tǒng)可擴(kuò)展能力的關(guān)鍵要素。除了這些,我也會(huì)結(jié)合項(xiàng)目考查幾個(gè)比較常用的設(shè)計(jì)模式,比如單例模式、工廠模式、策略模式、模板模式,等等。以上都是基于應(yīng)用層展開(kāi)的一些,接下來(lái)可以圍繞層去展開(kāi)。層主要考查存儲(chǔ)架構(gòu)、數(shù)據(jù)庫(kù)選型、數(shù)據(jù)庫(kù)調(diào)優(yōu)等。架構(gòu)要看候選人是否能根據(jù)系統(tǒng)的并發(fā)量和數(shù)據(jù)量的需求設(shè)計(jì)適當(dāng)?shù)募軜?gòu),是否需要做數(shù)據(jù)庫(kù)分片,分片的原則和技術(shù)方案,是否需要引入KV引擎,是否需要做讀寫(xiě)分離,是否需要做緩存,緩存需要做幾層等等,這些都是基本的架構(gòu)問(wèn)題。數(shù)據(jù)庫(kù)選型也是和具體的數(shù)據(jù)量和并發(fā)量有關(guān),是用關(guān)系型數(shù)據(jù)庫(kù)還是用KV引擎,還是要些關(guān)系型數(shù)據(jù)庫(kù)的基礎(chǔ),比如MySQL的架構(gòu)、引擎、索引的數(shù)據(jù)結(jié)構(gòu)、事務(wù)還有就是要考查一些數(shù)據(jù)庫(kù)端的性能優(yōu)化技巧,比如Exin的用法、索引優(yōu)化、SQL語(yǔ)在我們的架構(gòu)師能力模型中,除了基礎(chǔ)技術(shù)能力,還包括架構(gòu)理解和發(fā)展能力部分。架構(gòu)理解部分也是有別于程序員的部分,這部分可以根據(jù)候選人提供的架構(gòu)方案,重點(diǎn)考查高并發(fā)和高可用設(shè)計(jì)、服務(wù)設(shè)計(jì)、服務(wù)治理、緩存設(shè)計(jì)等方面。系統(tǒng)的高并發(fā)設(shè)計(jì)涉及系統(tǒng)的應(yīng)用層、層和網(wǎng)絡(luò)層。從網(wǎng)絡(luò)IO到數(shù)據(jù)庫(kù)IO、數(shù)據(jù)庫(kù)服務(wù)器的負(fù)載,CPU和內(nèi)存使用情況,再到應(yīng)用層的負(fù)載均衡、反向、緩存、事務(wù)和鎖、并發(fā)防重,以及應(yīng)用服務(wù)器的負(fù)載,CPU和內(nèi)存使用情況等等,都是高并發(fā)設(shè)計(jì)的知高可用設(shè)計(jì)方面,重點(diǎn)考查他對(duì)負(fù)載均衡、SA、微服務(wù)、服務(wù)治理的理解,所設(shè)計(jì)的服務(wù)接口其粒度、依賴(lài)、位置是否合理,服務(wù)是否設(shè)計(jì)了分組、動(dòng)態(tài)管理、限流、降級(jí)和監(jiān)控,整個(gè)架構(gòu)方案中各模塊之間的強(qiáng)依賴(lài)是否有降級(jí)方案等。上面關(guān)于硬實(shí)力部分的考查,都是基于候選人的架構(gòu)方案去展開(kāi)挖掘的,所有的關(guān)鍵都是隨著方案的展開(kāi)一點(diǎn)點(diǎn)帶出來(lái)的。在整個(gè)過(guò)程中,我們可以通過(guò)候選人對(duì)一些開(kāi)源組件的理解程度判斷其對(duì)技術(shù)的熱愛(ài)程度,一般對(duì)技術(shù)敏感、摯愛(ài)且有追求的架構(gòu)師往往喜歡研最后,架構(gòu)師還需要有一個(gè)清晰的自我認(rèn)知和職業(yè)規(guī)劃,十分清楚地認(rèn)識(shí)到自己的優(yōu)勢(shì)和不足,能充分發(fā)揮自身優(yōu)勢(shì),不斷補(bǔ)齊不足,知道自己追求的“和”不那么重要的,認(rèn)識(shí)到為了達(dá)成目標(biāo)的關(guān)鍵路徑應(yīng)該如何管理。聊了這么多,能力模型中的軟能力和部分還未提及。其實(shí)在以上面試過(guò)程中,候選人的溝通、表達(dá)能力基本上已經(jīng)能判斷出來(lái),在他描述方案和回答提問(wèn)的過(guò)程中,邏輯是否清晰,思路是否閉環(huán),結(jié)構(gòu)化思維是否完整,根據(jù)這些基本能判斷出來(lái)。對(duì)于協(xié)作能力,我一般會(huì)設(shè)計(jì)一些場(chǎng)景讓候選人回答,比如他自己所負(fù)責(zé)的線上系統(tǒng)出現(xiàn)故障之后作為架構(gòu)師應(yīng)該如何處理,性能測(cè)試團(tuán)隊(duì)測(cè)試出系統(tǒng)某功能性能需求該如何處理,等等。面對(duì)這樣的問(wèn)題,對(duì)于有協(xié)作精神、有擔(dān)當(dāng)?shù)募軜?gòu)師,一定會(huì)回答主動(dòng)去分析原因,分析原因過(guò)程中主動(dòng)協(xié)同開(kāi)發(fā)和測(cè)試同學(xué),找到原因之后設(shè)計(jì)出解決方案,并指導(dǎo)開(kāi)發(fā)同學(xué)實(shí)施落地,最終從根本上解決問(wèn)題,而不是將問(wèn)題甩給開(kāi)發(fā)或者測(cè)試。對(duì)于的考查在面試過(guò)程中捎帶就考查了,比如當(dāng)問(wèn)到一個(gè)候選人不是很了解的處窺得一斑,也可以通過(guò)HR面試等環(huán)節(jié)得到補(bǔ)充。好了,總結(jié)一下今天的內(nèi)容。這篇文章中,我主要從自己最近幾年來(lái)的工作經(jīng)驗(yàn)出發(fā),和你聊了聊我們面試架構(gòu)師的一些思路。我們?cè)诿嬖囘^(guò)程中構(gòu)建了一套自己的架構(gòu)師面試體系,包括能力模型、面試地圖和面試題庫(kù)這三個(gè)部分,然后我又分別深入講解了面試架構(gòu)師時(shí)的一些考查項(xiàng)和考查思路。希望今天的文章能夠給你一些啟發(fā),也歡迎把它給你的朋友,一起探討。 不得售賣(mài)。頁(yè)面已增加防盜追蹤,將依 上一 22|如何讓你的回答更到位下一 24|被面試官問(wèn)住了怎么辦精選

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論