我在阿里做面試的那些「套路」

翻了一下面試記錄,最近兩年我面試了近 150 人,其中以社招爲主。當然這不全是爲自己團隊面試,還包括幫其他團隊做的面試。可能有一些人不喜歡做技術面試,但於我而言,技術面試的過程是學習、成長的一種方式。

去年四月,朋友聯繫我幫忙內推一個人。在看過簡歷後,我內心一陣竊喜。爲什麼呢?從簡歷來看,這位應聘者比較優秀,內推成功的概率很大,如果成功,在完成招聘指標的同時還能獲得獎金,可謂兩全其美。

這裏簡單介紹一下這位應聘者的履歷:上海交大自動化本科,浙江大學模式識別碩士,數學基礎和編程功底都很紮實;4 年工作經驗,先後在華爲和中國銀聯從事軟件開發,過往項目經歷與目標崗位也比較合適。

完成內推後,我就開始暗自計劃如何使用即將到手的內推獎金。但是現實卻給了我一盆冷水,猝不及防,這個應聘者在第二輪就跪了,我看了一下面試官的評價:

缺乏思考和沉澱,談及業務建模和系統設計,只答出一些點而非系統的方法,不符合崗位要求的能力模型。

由於我跟那位面試官比較熟,便直接找到他詢問給出如此評價的原因,一番交談下來,竟無力反駁。事後我根據交談的內容寫了一篇文章《前車之鑑:從被回絕的系列原因出發,解讀應聘阿里的注意事項》,感興趣的讀者可以閱讀一下這篇文章。

考慮到是朋友推薦的,後來我把面試官的評價如實反饋給了那位應聘者,也給出了自己的一些建議。在此後的一段時間裏,他把自己所經歷的項目進行了全面梳理和總結,通過學習補上了短板,在模型設計、系統設計、異常排查等方面形成了自己的套路(方法論)。去年十月,我把他推薦到了阿里雲併成功拿到了 offer,上個月剛入職,當然我的推薦獎金也到手了 🙃

上面提到的應聘者存在的短板並非個案,而是普遍存在的。

 

在互聯網領域的大、中型項目中,一名工程師通常只負責某個模塊的設計和實現,這樣的分工協作模式在提升效率的同時,也容易讓人產生惰性,逐漸退化成「螺絲釘」—— 只關注自己的「一畝三分地」,囿於局部,缺乏對項目全局的洞察。隨着時間的推移,這樣的工程師只會做自己擅長的,或者只被安排做自己擅長的。緣於這類因素,很多工程師雖然參與過很多項目,但趨於同質化,技術視野侷限,難以沉澱出優質的實踐經驗,更不用說實戰方法論。

實戰方法論源自實踐經驗的歸納總結,通俗地說,就是套路。工程師在經歷一系列項目實踐的洗禮後,在業務建模、系統設計、性能優化、異常排查、穩定性設計等方面會形成一套可複用的方法論或最佳實踐,這是工作經驗的核心價值所在,也是普通工程師和高階工程師的分水嶺。

具體而言,拿到一個新項目,方法論可以幫助工程師按照一定的套路,系統、全面地分析和設計,從源頭保障項目完備、健壯、優雅、前瞻,同時助力需求溝通和後期運維;此外,還可以幫助工程師避免踩坑,從而快速、高質地落地項目。對於高階工程師來說,實戰方法論是其核心競爭力之一,在工作中可體現出超越普通工程師的價值,在面試中可贏得競爭優勢。

本專欄是包括我在內的 4 位阿里系資深工程師和專家多年工作經驗和日常思考的總結。以下是我們撰寫專欄時秉承的一些重要原則。

  • 授人以漁對工程師而言,「魚」即知識點,「漁」則爲實戰方法論。技術類文章通常聚焦於知識點,而本專欄則側重於實戰方法論,力求授讀者以漁。

  • 服務於實踐。本專欄內容源於實踐,是阿里系 4 位資深工程師、高級專家多年實戰經驗的總結,內容涵蓋架構設計、模型設計、性能優化、異常排查、職業發展、學習成長等多個方面。

  • 工程師進階之選。在進階之路上,僅僅掌握領域知識點並不足以應對激烈的職場競爭。掌握實戰方法論可以讓你事半功倍,同時擴展視野、提升水平。

  • 面試必備。在高級工程師的面試中,領域知識不再是絕對的重點,面試官更關注的是應聘者的思考和沉澱,一套可複用的方法論或最佳實踐是一名優秀工程師的必備技能。

  • 適用面廣。本專欄有 3 篇文章使用 Java 語言描述,但關於架構設計、模型抽象、穩定性保障、學習成長等方面的內容與編程語言和技術棧無關,感興趣的讀者均可作爲參考。

  • 一圖勝千言。爲了幫助讀者更好地理解工程項目中複雜的關係和概念,作者爲每篇文章都製作了生動而準確的示意圖,讓你在圖文並茂的內容中更快掌握知識。

 

專欄共包含12個主題,每個主題 1~ 4 篇文章,內容包括架構設計、模型設計、性能優化、異常排查、職業發展、學習成長等方面。

  • 主題 1:如何設計一個好的 API

    良好的 API 設計可以讓使用者高效使用一個系統的能力,同時也可以極大減輕技術支持的工作量。文章將結合實踐爲讀者呈現怎樣才能設計出良好的 API 。

  •  

  • 主題 2:如何設計預案

    預案的本質是爲系統穩定性服務的。在互聯網領域,從系統設計、編碼實現到後期維護,預案几乎貫穿全程。對於工程師,特別是大型應用的工程師,預案(穩定性)設計能力尤爲重要。

  •  

  • 主題 3:如何設計模型

    模型設計是一個從整體到局部、從具體到抽象,自上而下設計、自下而上驗證並不斷迭代完善的過程。模型設計是軟件系統設計中極爲關鍵的環節,因此,欲進階必須掌握模型設計方法。

  •  

  • 主題 4:如何設計一個複雜的系統

    系統設計是高階工程師的必備能力,設計出完備、健壯、優雅、前瞻的系統是工程師永恆的追求。本主題分爲上、下兩篇,由兩位資深工程師合作完成,將帶領讀者掌握系統設計的思考框架和設計套路。

  •  

  • 主題 5:如何評估軟件系統的吞吐量

    在實踐中經常會遇到需要進行系統性能優化、提高系統吞吐量的場景。那麼,系統的吞吐量與哪些因素有關呢?如何評估?是否有方法論可循?如果在面試中遇到這樣的提問,你是否能從容應對?

  •  

  • 主題 6:如何高效地排查 Java 系統異常

    衡量系統性能的常用指標有哪些?當系統運行中出現問題時,如何通過這些指標量化地評價系統的狀態並定位問題?理解系統性能指標、掌握排查系統問題的方法,是軟件工程師進階的必備技能。

     

  • 主題 7:如何進行 Java 系統性能優化

    系統性能優化涉及面非常廣,涵蓋方案優化、編碼優化、併發優化、JVM 調優等諸多方面的知識。雖然不同系統的優化策略存在差異,但從全局來看,它們的共性仍是主要的。本主題將分爲上、下兩篇。

     

  • 主題 8:如何熟悉一個完全陌生的系統

    在職業生涯中難免遇到以下場景:入職新公司,如何有條不紊地熟悉已有系統?支援陌生系統開發,如何快速上手?同事離職,如何快速接手相關係統?面對這些情況,梳理一套方法論,從而有序、高效地應對。

     

  • 主題 9:如何畫好系統設計圖

    系統設計圖是一種整體視圖,目的是具象呈現軟件系統的整體輪廓、各個組件之間的相互關係和約束邊界,以及物理部署和演進方向。一圖勝千言,在項目評審、晉升答辯、內部培訓中,畫好系統設計圖都大有裨益。

     

  • 主題 10:如何將工作中的創新點轉化爲專利

    阿里、騰訊、華爲等知名企業都很注重專利並設置了專利獎勵,但在專利挖掘方面,技術人常常陷入誤區:技術不夠牛不能申請專利?尚未實現的技術方案不能申請專利?本主題將結合案例詳解專利的挖掘方法和誤區。

     

  • 主題 11:如何打造能力護城河

    近些年,中年危機話題甚囂塵上,互聯網領域的工程師焦慮尤甚。對於工程師,爲長久計,必須打造自己的能力護城河。本主題由一位正值中年的資深技術專家撰稿,分享其在過往職業生涯中構建、完善自身能力體系的經驗。

     

  • 主題 12:實踐案例集錦

    本專欄最後一個主題由 4 篇文章構成,內容取材於阿里的典型應用實踐,涉及系統架構、業務模型抽象、穩定性保障、推薦等方面,將以真實的案例詮釋實戰方法論。

  •  

如果你滿足以下任何一個條件:

  • 有計劃換工作或正在準備面試的互聯網行業工程師

  • 計算機、軟件、信電等相關專業有意向從事軟件開發的在校生

  • 希望提升系統設計、模型設計、穩定性設計等軟件工程能力的工程師

  • 尤其適合 Java 技術棧工程師

那麼在認真學習後,你將不僅可以掌握系統設計、模型設計、API 設計、預案設計等方面的實戰方法論,快速提升設計能力,還將通過可現學現用的實戰案例,在工作、面試、晉升答辯中贏得優勢!

即日起至 3 月 20 日,《工程師實戰方法論核心 12 講》限時特惠!現在訂閱專欄,讓進階之路事半功倍,掃清升職加薪的最後障礙!

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章