題圖:from zoommy
關(guān)于這個(gè)話(huà)題,我曾經(jīng)寫(xiě)過(guò)一篇「程序員真正的價(jià)值」,后來(lái)發(fā)表在了《跨越邊界》這本書(shū)里。最近 InfoQ 推送了一篇華仔的文章,就這個(gè)主題進(jìn)行了更為深入的探討,不過(guò),由于各種原因,這篇文章發(fā)表后很快刪掉了。很多讀者告訴我想看,于是重新發(fā)在 MacTalk 上,略做修改。
注:華仔是極客時(shí)間「從零開(kāi)始學(xué)架構」的專(zhuān)欄作者,李運華。他的專(zhuān)欄目前已經(jīng)有 17000 人在一起學(xué)習。
俗話(huà)說(shuō)「文無(wú)第一,武無(wú)第二」,技術(shù)就是一種「文」的能力,很多時(shí)候我們很難直觀(guān)看出一個(gè)技術(shù)人員的實(shí)力,但不管是公司招聘的面試,還是公司內部的晉升面評,都需要在較短時(shí)間內快速判斷一個(gè)技術(shù)人員的實(shí)力。正因為技術(shù)實(shí)力評價(jià)本身沒(méi)有絕對客觀(guān)的標準,很多時(shí)候都會(huì )聽(tīng)到類(lèi)似的吐槽:
我們組內的 XX 技術(shù)實(shí)力不如我,竟然他晉升通過(guò)了,我卻被刷掉了,評委真的是~!@#¥……
面試官問(wèn)的都是什么鬼問(wèn)題,我知道的基本沒(méi)問(wèn),我感覺(jué)他根本不會(huì )考察我的技術(shù)實(shí)力……
聽(tīng)說(shuō)算法和數據結構最能體現程序員的實(shí)力,我要好好啃啃《算法導論》(然而啃完又忘記了)……
……
還有很多類(lèi)似的問(wèn)題和吐槽,背后都可以歸納為一個(gè)問(wèn)題:當我們聊技術(shù)能力的時(shí)候,我們到底在聊什么?
有的人認為:技術(shù)實(shí)力就是指算法和數據結構很厲害……
有的人認為:研究過(guò)Linux內核源碼和看懂《深入淺出MFC》的才是技術(shù)牛逼的人……
有的人認為:會(huì )寫(xiě)C 的才是真正的技術(shù)高手,因為C 的對象初始化有N種寫(xiě)法……
有的人認為:技術(shù)高手必須對業(yè)務(wù)很熟悉……
有的人認為:貢獻了開(kāi)源項目代碼的才是技術(shù)牛人……
有的人認為:只有架構師才是技術(shù)大?!?/p>
相信一千個(gè)人眼中有一千個(gè)哈姆雷特,一千個(gè)程序員心中有一千個(gè)技術(shù)大牛!
得益于工作崗位的關(guān)系,我在考核技術(shù)人員的實(shí)力時(shí)積累了較豐富的經(jīng)驗(包括踩坑的經(jīng)驗)。首先是招聘,前后面試了幾百個(gè)人吧,技術(shù)范圍包括服務(wù)器、android、iOS、前端,既包括初出茅廬的應屆生,也包括騰訊的T4大牛;其次是晉升評委,作為職業(yè)等級晉升的評委,面評過(guò)幾十個(gè)晉升的技術(shù)同學(xué),各種案例都見(jiàn)過(guò),也與其他評委一起互相交流,有時(shí)候甚至是針對某個(gè)同學(xué)通過(guò)還是不通過(guò)產(chǎn)生爭執。通過(guò)這種不斷的實(shí)踐、思考、踩坑、交流的過(guò)程,逐步形成了一套完整的方法論,接下來(lái)就談?wù)勎业倪@套方法論,分享一下我是如何判斷技術(shù)人員的技術(shù)實(shí)力的。
簡(jiǎn)單來(lái)說(shuō),判斷技術(shù)實(shí)力的一個(gè)總的原則就是:技術(shù)實(shí)力就是指解決問(wèn)題的能力!
我們將這個(gè)原則細化一下,可以得到幾個(gè)細則:
1)不存在放之四海皆準的技術(shù)
簡(jiǎn)單來(lái)說(shuō),問(wèn)題是和領(lǐng)域相關(guān)的,技術(shù)是用來(lái)解決問(wèn)題的,因此技術(shù)也是領(lǐng)域相關(guān)的,不存在放之四海皆準的技術(shù)。
有網(wǎng)友說(shuō):高斯林來(lái)做iOS開(kāi)發(fā),分分鐘秒殺現在所有的iOS開(kāi)發(fā)人員,因為目前iOS經(jīng)驗最豐富的開(kāi)發(fā)人員,經(jīng)驗也不過(guò)10年。我認為這是不可能的,iOS開(kāi)發(fā)領(lǐng)域面臨的問(wèn)題,和開(kāi)發(fā)Java編程語(yǔ)言面臨的問(wèn)題差異很大,當然,如果高斯林真的做上幾年iOS開(kāi)發(fā),確實(shí)可能超過(guò)很多iOS開(kāi)發(fā)人員,但一開(kāi)始就秒殺哪些做了7~8年的iOS程序員,這個(gè)是不可能的。
2)技術(shù)要能解決具體問(wèn)題才有價(jià)值
技術(shù)只有能夠解決某個(gè)領(lǐng)域的問(wèn)題才有價(jià)值,否則光知道某個(gè)技術(shù)沒(méi)什么用;掌握了某個(gè)技術(shù)但在當前的領(lǐng)域用不上,這個(gè)技術(shù)對當前領(lǐng)域來(lái)說(shuō)也沒(méi)有價(jià)值。
當然,確實(shí)存在某些技術(shù)可能在當前看起來(lái)對當前領(lǐng)域沒(méi)有用,但后面可能會(huì )用到,因此技術(shù)人員需要自己儲備一些當前暫時(shí)沒(méi)有用的技術(shù)以拓寬技術(shù)視野,例如當前大火的人工智能和區塊鏈技術(shù),但要注意「可能」這個(gè)詞,這需要技術(shù)人員自己進(jìn)行判斷和平衡,不能拿技術(shù)儲備作為托詞一股腦的什么都儲備,例如數據庫開(kāi)發(fā)工程師至少在這幾年是不需要儲備VR知識的。
3)問(wèn)題的復雜度決定技術(shù)實(shí)力的高度
問(wèn)題的復雜度不同,復雜度越高,解決起來(lái)越困難,相應的技術(shù)實(shí)力要求也越高。
我們拿這個(gè)原則去分析一下前面提到的各種技術(shù)實(shí)力的理解:
技術(shù)實(shí)力就是指算法和數據結構很厲害
很多面試官喜歡讓面試者現場(chǎng)手寫(xiě)冒泡排序、快速排序、鏈表之類(lèi)的代碼,以此來(lái)判斷面試者的技術(shù)實(shí)力,但我們用這個(gè)原則去分析一下就可以發(fā)現,這樣并不能考核技術(shù)實(shí)力,假如招聘了一個(gè)會(huì )手寫(xiě)快速排序的面試者,招進(jìn)來(lái)后你會(huì )讓他用自己寫(xiě)的快速排序解決什么問(wèn)題?貌似絕大部分場(chǎng)景下都不可能讓一個(gè)新來(lái)的員工自己寫(xiě)個(gè)快速排序來(lái)解決某個(gè)問(wèn)題吧?
當然,肯定還是有人會(huì )說(shuō)「我考核的是面試者的技術(shù)基礎和思維能力」,這個(gè)說(shuō)法沒(méi)錯,但如果是這個(gè)目的,現場(chǎng)手寫(xiě)快速排序這種面試方法就是錯誤的,如果是考察技術(shù)基礎,考核的范圍應該是算法的基本邏輯,優(yōu)缺點(diǎn)、適用場(chǎng)景,因為這些技術(shù)點(diǎn)在后續具體應用中選擇合適的算法來(lái)解決問(wèn)題的時(shí)候很有用;如果是考察思維能力,考核的方式應該是給一個(gè)具體的算法應用題,來(lái)看看面試者的分析和思考過(guò)程,例如我在知乎上給了一道我們業(yè)務(wù)上曾經(jīng)用到的「如何快速計算你好友的好友和你的共同好友數」,沒(méi)想到引起了評論里面的大討論,有興趣的朋友也可以嘗試一下。
研究過(guò)Linux內核源碼和看懂《深入淺出MFC》的才是技術(shù)牛逼的人
國內技術(shù)人員(不知道國外是否類(lèi)似)對于底層技術(shù)有一種偏見(jiàn),認為只有懂底層才是真正的技術(shù)高手,否則都只是簡(jiǎn)單的調用API完成功能。我當年也不例外,我曾經(jīng)說(shuō)過(guò)「程序員的三個(gè)大坑:Linux內核源碼、編譯原理(龍書(shū))、深入淺出MFC」,我每個(gè)都跳過(guò),而且還花費了大量時(shí)間卻收效甚微。其實(shí)用原則去分析一下就可以發(fā)現這個(gè)說(shuō)法也站不住腳,如果我們從事Linux內核開(kāi)發(fā),編程語(yǔ)言開(kāi)發(fā),MFC框架開(kāi)發(fā),這些技術(shù)確實(shí)能解決問(wèn)題;但如果做得不是這些領(lǐng)域的開(kāi)發(fā),這些技術(shù)并不能幫我們解決什么問(wèn)題,我還沒(méi)見(jiàn)過(guò)哪個(gè)Java編程的問(wèn)題需要我去用編譯原理的技術(shù)去解決,也沒(méi)見(jiàn)過(guò)哪個(gè)數據庫的問(wèn)題需要我去研究Linux內核源碼才能解決,當然并不是說(shuō)這些問(wèn)題一定不存在,Java語(yǔ)言本身肯定也有bug,但這些問(wèn)題是需要Java官方去解決,我們在應用中無(wú)需親自去解決,否則的話(huà),效率會(huì )非常低,個(gè)人愛(ài)好無(wú)可厚非,但團隊必須考慮效率。
會(huì )寫(xiě)C 的才是真正的技術(shù)高手,因為C 的對象初始化有N種寫(xiě)法
這是程序員群體里面永恒的一個(gè)話(huà)題,哪個(gè)語(yǔ)言才是最好的最牛逼的,其中兩個(gè)著(zhù)名的梗:PHP是世界上最好的語(yǔ)言,C 是世界上最牛逼的語(yǔ)言。C 確實(shí)語(yǔ)法復雜,功能強大,真正能完全掌握C 的程序員應該屈指可數,但這是否意味著(zhù)掌握C 就牛逼了呢?并不盡然,我們拿原則來(lái)分析一下,如果用C 做游戲引擎,或者高性能中間件,C 確實(shí)能解決問(wèn)題,但如果我們做的是android手機資訊app,C 能解決什么問(wèn)題呢?自己寫(xiě)個(gè)加密庫可能比系統帶的庫漏洞還多,自己用C 寫(xiě)個(gè)SQLite好像沒(méi)什么意義。
架構師才是技術(shù)大牛
架構師幾乎是每個(gè)程序員的技術(shù)夢(mèng)想,能夠成為架構師(真正的架構師,不是PPT架構師),技術(shù)實(shí)力肯定很強,這點(diǎn)是沒(méi)有爭議的,但問(wèn)題是當不上架構師就不是技術(shù)大牛么?我們用原則來(lái)分析一下就會(huì )發(fā)現并不是這樣的,架構師并不是全能的,他解決的主要問(wèn)題是系統的結構設計,還有一些問(wèn)題是架構師不能解決的,例如MySQL 5.6版本通過(guò)優(yōu)化一個(gè)false sharing問(wèn)題,性能提升50%( http://www.cis.upenn.edu/~delozier/docs/tmi_micro_2017.pdf ),這種問(wèn)題點(diǎn)的發(fā)現和處理并不比架構設計簡(jiǎn)單,能發(fā)現和解決這個(gè)問(wèn)題的技術(shù)人員實(shí)力非常高。
以上分析了幾個(gè)典型的誤區,其它的觀(guān)點(diǎn),這里只貼一下簡(jiǎn)單的答案,大家有興趣也可以套用這個(gè)原則去分析一下具體的原因,基本上八九不離十:
「技術(shù)高手必須對業(yè)務(wù)很熟悉」 —— 正確
「貢獻了開(kāi)源項目代碼的才是技術(shù)牛人」—— 錯誤
理解評估技術(shù)實(shí)力的基本原則后,我們知道了需要解決的問(wèn)題復雜度越高,技術(shù)實(shí)力就越高。在這個(gè)基礎上,我把技術(shù)實(shí)力分為兩大類(lèi)6分類(lèi):
硬實(shí)力:真正解決問(wèn)題的能力,別人可以看出來(lái)的能力,技術(shù)實(shí)力按照「點(diǎn)、線(xiàn)、面、體」的4個(gè)分類(lèi)逐層上升;
軟實(shí)力:比硬實(shí)力更厲害但也更虛的能力,簡(jiǎn)單來(lái)說(shuō),要想解決問(wèn)題首先得發(fā)現問(wèn)題,但很多時(shí)候問(wèn)題并不是一目了然的,需要有一定的技術(shù)洞察力。軟實(shí)力主要包括2個(gè)核心能力:發(fā)現問(wèn)題、技術(shù)創(chuàng )新
我把技術(shù)硬實(shí)力分為四個(gè)等級:點(diǎn)、線(xiàn)、面、體,技術(shù)等級依次提升,解決的問(wèn)題復雜度也越來(lái)越高,下面詳細解釋一下。
【技術(shù)點(diǎn)】
「點(diǎn)」就是某個(gè)具體的技術(shù),用來(lái)解決某個(gè)具體的問(wèn)題,例如使用JDBC從數據庫讀取數據,目的是解決數據掉電丟失的問(wèn)題;使用Java多線(xiàn)程,目的是為了解決大量用戶(hù)并發(fā)訪(fǎng)問(wèn)的吞吐量和時(shí)延問(wèn)題。
掌握了技術(shù)點(diǎn),就可以開(kāi)始基本的業(yè)務(wù)功能開(kāi)發(fā)了。
【技術(shù)線(xiàn)】
「線(xiàn)」就是一系列相關(guān)的技術(shù)點(diǎn)組成,每個(gè)技術(shù)點(diǎn)都是為了解決某個(gè)問(wèn)題。例如:
1)為了完成一個(gè)用戶(hù)請求,開(kāi)發(fā)框架首先要有路由router功能,路由到具體Controller后,Controller進(jìn)行業(yè)務(wù)邏輯處理,處理過(guò)程中可能會(huì )使用JDBC來(lái)讀取數據,訪(fǎng)問(wèn)Redis讀取緩存等,這一連串的技術(shù)每個(gè)都解決了一個(gè)問(wèn)題點(diǎn),串起來(lái)就完成了一個(gè)業(yè)務(wù)功能的處理過(guò)程。
2)為了定位一個(gè)線(xiàn)上Java服務(wù)器響應慢的問(wèn)題,需要用到tcpdump抓包,使用Java工具查看jvm的狀態(tài),使用mysql命令行或者工具查看數據庫狀態(tài),使用explain分析可疑SQL語(yǔ)句。
掌握了技術(shù)線(xiàn),就可以完成某個(gè)業(yè)務(wù)功能的全流程設計和開(kāi)發(fā)了。
【技術(shù)面】
「面」就是某一類(lèi)相關(guān)技術(shù)線(xiàn)的綜合。例如:
1)Java開(kāi)發(fā)是一個(gè)技術(shù)面,包括多線(xiàn)程、JDBC、文件讀寫(xiě)、JVM調優(yōu)、JVM工具等多個(gè)技術(shù)線(xiàn);
2)高性能開(kāi)發(fā)是一個(gè)技術(shù)面,包括:數據庫分庫分表、緩存、多線(xiàn)程、HTTP優(yōu)化等;
3)數據庫維護是一個(gè)技術(shù)面,包括:數據庫調優(yōu)、數據庫問(wèn)題定位、高性能數據庫表設計等;
掌握技術(shù)面,已經(jīng)是某個(gè)領(lǐng)域的專(zhuān)家了,簡(jiǎn)單來(lái)說(shuō)就是這個(gè)領(lǐng)域的問(wèn)題找你都可以搞定。
【技術(shù)體】
「體」就是多個(gè)技術(shù)面的綜合。
最常見(jiàn)的「體」就是架構設計,對于一個(gè)大型業(yè)務(wù)或者系統的架構師來(lái)說(shuō),需要掌握多個(gè)技術(shù)面,然后進(jìn)行設計和取舍。例如,一個(gè)后臺架構師需要掌握Java的技術(shù)面、數據庫的技術(shù)面、網(wǎng)絡(luò )的技術(shù)面等,以及業(yè)務(wù)領(lǐng)域知識。
架構設計是橫向技術(shù)面的綜合,我稱(chēng)之為廣度技術(shù)體;還有一種縱向技術(shù)面的綜合,我稱(chēng)之為深度技術(shù)體。例如Java的開(kāi)發(fā)工程師,當達到技術(shù)面的水平時(shí)掌握了「多線(xiàn)程、JDBC、文件讀寫(xiě)、JVM調優(yōu)、JVM工具等」,如果需要進(jìn)一步在Java這個(gè)領(lǐng)域提升技術(shù),就需要向下了解操作系統、硬件(CPU、內存、磁盤(pán)等),從而更好的解決某些復雜的問(wèn)題,例如Disruptor高性能并發(fā)框架的設計。
掌握了技術(shù)體,就可以進(jìn)行架構設計,或者成為某個(gè)領(lǐng)域的資深專(zhuān)家了,解決領(lǐng)域級的復雜問(wèn)題。
軟實(shí)力包括發(fā)現問(wèn)題和技術(shù)創(chuàng )新。
【發(fā)現問(wèn)題】
有的問(wèn)題很明顯,例如線(xiàn)上出故障,系統性能不達標,系統性能需要達到5W QPS;但有的問(wèn)題并不那么明顯,并不能一眼看出是問(wèn)題在哪里,是技術(shù)問(wèn)題還是管理問(wèn)題。
例如我們曾遇到團隊間協(xié)作開(kāi)發(fā)效率很低,每次開(kāi)發(fā)一個(gè)業(yè)務(wù)功能,都需要幾個(gè)系統的研發(fā)人員來(lái)討論接口協(xié)議、接口數據格式、接口安全加密、業(yè)務(wù)邏輯等,大家都不厭其煩,但好像又都必不可少,團隊間為了提高效率,項目經(jīng)理制定了規范、流程、模板等,但作用最終都不大。那后來(lái)是怎么解決的呢?通過(guò)引入服務(wù)中心來(lái)完成系統間同步接口調用,通過(guò)引入消息隊列來(lái)完成系統間異步消息通知,系統間協(xié)作效率大大提高,以前要開(kāi)會(huì )討論幾個(gè)小時(shí)的事情,現在只要明確接口傳輸的數據內容即可,甚至都不用開(kāi)會(huì ),兩個(gè)研發(fā)一討論就差不多了。
除此以外,問(wèn)題的根源往往掩蓋在很多問(wèn)題表象之下,如果不解決根源問(wèn)題,解決一個(gè)表象問(wèn)題,獲得一時(shí)安寧,一段時(shí)間后又發(fā)生另外的問(wèn)題,長(cháng)此以往反反復復。
例如我們曾有個(gè)系統,今天交換機故障導致業(yè)務(wù)問(wèn)題,明天系統bug導致業(yè)務(wù)問(wèn)題,后天機柜斷電導致業(yè)務(wù)問(wèn)題,還被黑客攻擊過(guò),這些問(wèn)題看起來(lái)都很獨立,問(wèn)題的發(fā)生也感覺(jué)都是偶然的,按照出一個(gè)問(wèn)題解決一個(gè)問(wèn)題的方式也沒(méi)什么問(wèn)題,但全年來(lái)看,業(yè)務(wù)就是出了很多問(wèn)題,怎么解決?我們經(jīng)過(guò)分析,發(fā)現根本原因是業(yè)務(wù)需要異地多活,而架構是雙機房單中心的,我們需要做到的不是避免每個(gè)問(wèn)題的發(fā)生(事實(shí)上也不可能避免),而是應該做到問(wèn)題發(fā)生后能夠快速處理,于是通過(guò)將架構重構為異地多活,重構完成后還是有各種偶發(fā)問(wèn)題發(fā)生,但對業(yè)務(wù)的影響就很小了。
發(fā)現問(wèn)題的能力主要來(lái)源于經(jīng)驗,包括成功的經(jīng)驗、踩坑的經(jīng)驗、參考別人的經(jīng)驗,因此如果要培養自己這方面的能力,多思考、多總結、多學(xué)習、多參加行業(yè)交流。
【技術(shù)創(chuàng )新】
達到這個(gè)級別基本都是業(yè)界大神一般的級別,說(shuō)實(shí)話(huà)我也沒(méi)什么經(jīng)驗,只能仰慕這些大神。
例如:
1)當年貝索斯要求亞馬遜公司內的系統都服務(wù)化,后來(lái)是哪位大神想到可以把這個(gè)能力開(kāi)放出來(lái)轉換為「云計算」?
2)阿里云王堅博士當年在眾人都不看好的情況下為何堅持云計算是未來(lái)?
3)Google在解決大數據問(wèn)題時(shí),如何能夠提煉出三篇論文,開(kāi)啟了一個(gè)大數據時(shí)代?
一個(gè)面試者面試Java P7,其中有一項項目經(jīng)驗很牛逼:XX架構重構,性能提升10倍。于是,我針對這個(gè)項目經(jīng)驗進(jìn)行了深入的考察,結果……
下面是我們大概的對話(huà)過(guò)程:
我:請簡(jiǎn)單介紹一下這個(gè)項目重構。
面:我們某個(gè)業(yè)務(wù)和運動(dòng)會(huì )有關(guān),每次關(guān)鍵比賽前業(yè)務(wù)訪(fǎng)問(wèn)量是平時(shí)的10倍以上,原來(lái)的系統量一大就卡死了,用戶(hù)體驗很不好,需要重構。
我:具體怎么做的呢?
面:我通過(guò)引入mc緩存,將原來(lái)直接訪(fǎng)問(wèn)數據庫的操作改為先訪(fǎng)問(wèn)緩存,性能比原來(lái)提升了10倍。
我:為何你想到了引入mc?
面:(卡了一下,有點(diǎn)驚訝我的問(wèn)題)……我上網(wǎng)查了一下資料,很多都說(shuō)mc能夠大幅提升性能,并且使用后確實(shí)效果很好。
[點(diǎn)評1]這是典型的「代碼靠抄,方案靠搜,效果靠試」,面試者看到了一個(gè)問(wèn)題,但沒(méi)有分析和思考,然后上網(wǎng)搜方案,看到了好像很多人都說(shuō)引入mc都能解決問(wèn)題,關(guān)鍵是最終確實(shí)好像解決了,這讓面試者自我感覺(jué)良好。
我:mc能大幅提升性能的原理是什么?
面:緩存訪(fǎng)問(wèn)快,數據庫訪(fǎng)問(wèn)慢。
我:那mc性能多高,數據庫性能多高?
面:……(想了10秒)抱歉,沒(méi)有研究過(guò)。
[點(diǎn)評2]這是典型的知其然不知其所以然,開(kāi)源方案拿來(lái)就用,基本的測試和原理研究都沒(méi)做過(guò)。
我:沒(méi)關(guān)系,那我們換個(gè)問(wèn)題,重構后你們的系統用到的機器數量是多少?相比重構前減少了多少?
面:機器數量是100臺,相比重構前沒(méi)有減少。
我:哦,100臺機器,QPS每臺才300多,我看你們的業(yè)務(wù)也不是很復雜,為何這么低?
面:……(卡住10秒)這……300多QPS好像也不低吧?
我:那你有沒(méi)有分析過(guò)每次請求全流程每個(gè)階段的性能耗時(shí)?瓶頸在哪里?
面:(卡住5秒)沒(méi)有分析過(guò)呢?
我:那為何就認定引入mc就有效果?
面:……(卡住10秒)我看大家都說(shuō)引入緩存能大幅提升性能,而且最終效果確實(shí)很好。
[點(diǎn)評3]這就是知道技術(shù)點(diǎn),不知道技術(shù)線(xiàn)和技術(shù)面,按道理對于系統性能問(wèn)題的分析,至少是技術(shù)線(xiàn)級別的,需要分析每個(gè)請求每個(gè)階段的耗時(shí)和原因;也可以是技術(shù)面級別的,例如分析數據庫的設計、服務(wù)器的負載均衡等,還可以是技術(shù)體級別的,例如架構是否合理,是否可以將某個(gè)子系統拆分,引入消息隊列等。
我:好吧,換個(gè)問(wèn)題,如果讓你再一次優(yōu)化系統,你覺(jué)得可以怎么做?
面:……(思考20秒)我覺(jué)得目前的系統性能已經(jīng)足夠,應該不需要優(yōu)化了。
[點(diǎn)評]考察的是發(fā)現問(wèn)題的能力,但他發(fā)現不了問(wèn)題,其實(shí)前面已經(jīng)都提到了,100臺機器就是問(wèn)題,QPS過(guò)低也是問(wèn)題,但由于他沒(méi)有經(jīng)驗,是看不出這些問(wèn)題的。
很遺憾,最終這個(gè)面試者沒(méi)有通過(guò)面試。
聯(lián)系客服