簡歷上如果出現過於高大上的項目,反而過猶不及:再論如何通過項目引出技術


    我看了前幾天些的博文,分析若干沒面試機會和沒體現實力的簡歷,就想起了做技術面試官時的一些往事。

    我見過有些簡歷,上面列出的項目描述非常高大上,比如用到了xx機器學習技術,或者在一個項目里基本用全了分布式組件,或者是項目名是xx金融量化系統。再看工作經歷,往往就3年經驗。而工作經驗在5年左右的候選人,在簡歷中的項目描述往往就是比較朴實,一般見不到這類情況。

    在簡歷中,乃至在面試過程中,項目描述往往僅僅是個載體,第一用來證明自己在項目里確實用到相關經驗,第二可以用項目描述打下伏筆,在面試過程中進一步展示自己的亮點。而項目本身的業務,面試官不關心。在本文里,就講針對這些高大上的項目描述,來看下項目經歷該怎么寫,在面試中如何通過項目引出值錢技術。

1 描述項目案例時的誤區

    可能有些候選人認為,在簡歷中,項目描述越接近當前熱點(比如機器學習),就越能說明自己的實力,一些培訓學校可能也用這些看似高大上的項目以及項目技術來包裝優選人,但這屬於過猶不及。大家可以換位思考一下。

    第一,如果就本科學歷(有些甚至還是大專),工作經驗3年左右,接觸到機器學習量化分析之類的模塊可能性大不大?

    第二,好吧,話不能說死,如果有機會接觸,比如這個項目里用到了機器學習算法,能否有盈利點?給客戶用的時候會不會給客戶帶來風險?或者說,用這些模塊需要踩不少坑,成本不會少,在這個項目里能不能收回成本?

    第三,如果上述兩點都能想辦法解釋通,那么在得到面試機會的時候能不能自圓其說,或者能否把相關技術講清楚?不少候選人會卡在這塊,比如我見過有人寫了項目里用全了spring cloud組件,但問下來矛盾百出,甚至連eureka能干嘛都講不清楚,或者確實用到了機器學習的庫,但僅僅是簡單地調用了其中若干方法。總之,在面試中的表現和簡歷中的描述相差甚遠。

    比如某個外派崗位只要有找個能干活的程序員,哪怕經驗只有2年,哪怕經驗是從培訓班里學到的也行,但如果簡歷上出現過於高大上而面試時卻說不清楚,那么后果就是:存在虛假簡歷,這屬於態度問題,可能會導致直接被fail。

    再說一次:簡歷中的項目經驗只要能反應能力即可,可以適度誇張,但誇張的程度得在自己的實踐范圍和能力范圍內。 

2 簡歷上出現高大上技術后得做得准備工作

    有些同學確實很勤奮,了解過一些值錢的技術,這些能力也超越了平均水平,不寫在簡歷里確實有些可惜,為了打消面試官的疑慮,同時進一步證明自己,那么可以准備如下方面的回答。

    第一,這個技術(比如分布式技術等)為什么要用在項目里?不用有什么后果,或者是為了解決哪些痛點?

    第二,引入這個技術后,給項目帶來哪些好處?比如能提高並發性,能提升數據庫訪問性能等。

    第三,結合項目需求,說下這個技術是怎么引入的,比如用到了哪些方法,做了哪些配置。

    第四,得全面介紹相關技術,比如引入了MyCat分庫分表,那么就得說下它的框架,重要類,重要配置,以及踩過的坑。

3 值錢技術是加分項,更重要的是證明自己的基本功

    可能有些候選人想通過高大上的項目來證明自己的能力,但事實上會適得其反,因為在面試中更看重的是候選人的能力。而一些值錢的技術是加分項,能幫助候選人在可上可下的情況下面試成功,也能幫助候選人多要點工資,但僅此而已。

    那么哪些是基本功呢?基本功有很多,這里我列些java后端高級開發必備的基本功。

    1 Java核心,SQL數據庫開發,框架,Linux之類的必備知識點。

    2 從日志里分析問題和解決問題的能力。

    3 通過 maven管理項目,通過Jenkins發布項目,通過sonar提升代碼質量,諸如此類和項目業務無關但和項目發布管理有關的技能。

    4 必要的性能調優的技能,必要的項目部署技能。

    5 一些基於分布式組件的技能,比如netty,dubbo之類的。

    可能講到這里大家感覺有些抽象,我通過一個面試中的實例來說下基本功和加分項的關系。

    有位候選人其實很上進,本科2年,計算機專業,專門報了培訓班,從簡歷上看,之前項目里,用到多種分布式組件和大數據組件,比如dubbo,nginx,kafka,spark,面試時,在介紹項目經驗時,也是信心十足,說業務,說技能,還拋出不少亮點,專等我來問,應該是得到了很好的面試輔導。

    我先問亮點,比如spark在項目里怎么用的,如何同業務結合,用好以后能帶來什么好處?這位候選人也能說得頭頭是道,而且還能通過畫圖寫代碼來說明。不過在問java核心和SQL之類的基本問題時,回答不怎么好,比如hashcode方法就說不上,而且數據庫方面只會增刪改查,索引優化都沒掌握好,更別提事務了。我有些不死心,畢竟亮點說得比較好,我又問了他們的項目是怎么發布的,他甚至說就在本地啟動,用localhost訪問,jenkins就聽說過,沒用過。這類候選人就屬於華而不實了,后面我讓我領導來面,最后結果我就不得而知了。 

4 如何結合項目引出技術

   上文的主要內容是,別在簡歷中寫一些超越自己能力的項目以及技能,而且項目不宜太花哨,這屬於“不該做”。如果本文僅僅給出“不該”,而不推薦些“應該”的做法,文章的立意就低了,所以這里說下如何結合項目實際引出自己技能的方法。

    項目不用高大上,能證明自己的能力就行,在簡歷上寫項目經歷這應該問題不大,把用到的技術列上去即可,但別僅僅寫好簡歷就什么都不准備了。

    最近面試java后端開發的感受:如果就以平時項目經驗來面試,通過估計很難——再論面試前的准備,在這篇博文里,我列了一些准備工作。口說無憑,最好是結合項目業務說下你掌握某技術,下面給出些結合項目的說辭,供大家參考。

   1 比如虛擬機內存調優,理論誰都會,但如果某位候選人說,在xx項目的收單業務里,我們通過zabbix監控工具發現內存用量居高不下,我們就看了一些dump文件,也據此review了代碼,發現存在Connection連接對象用好沒關的情況,最后關掉后內存用量就降低了。

    技能不算難,項目也不高大上,甚至我已經忘了項目名,但一旦結合業務講了,可信度就大大提升了,而且說這話也就三言兩語,不到一分鍾。

    2 比如項目部署發布方面,某候選人說,我們項目是基於spring boot,發布在3台linux系統上,項目是用maven管理,我們是通過jenkins打包,是用nginx做負載均衡,nginx的大致配置是xx,日志策略是一天一個文件,第二周把前一周的文件打成壓縮包。在這種說辭里,是結合項目說明了項目發布部署的技能,項目和技能也非常朴實,項目里也只用到了一兩種分布式組件,也沒用全,但卻能非常好地體現候選人的實力。

    3 也可以通過一些項目里遇到的坑,來說明自己掌握的技術乃至分析解決問題的能力,比如我聽到某位候選人說,spring cloud組件里的服務治理eureka,如果一台機器down了,服務就找不到了,在項目里出現了這個問題,(結合實際說下),於是就引入了健康檢查,然后再用兩台eureka項目注冊,再結合項目實際略微說下代碼和配置的方式。用這種方式就能很好證明自己在項目里用過。

    總之,面試時應該掌握哪些技術,這個大多數人應該都知道,我之前的一些博文也寫了不少這方面的內容,也出了兩本書,Java Web輕量級開發面試教程Java核心技術及面試指南。刷些基本的面試題,這個也不難,但通過刷題只能證明自己掌握某種技術,而一旦結合項目說出,這就屬於有實戰經驗,這兩者的分量差別大家能感受到。

5 總結,求推薦和版權說明

    寫簡歷和面試的時候應該心平氣和,別存在“用新技能唬住面試官”想法,這樣自己反而能腳踏實地地准備面試中的說辭。

    本文的重點是“如何結合項目說明技能”,而在本人其它博文里,也講述過Java高級開發和架構師該掌握哪些技能,自認為也能形成體系。如果大家感覺好的話,也請幫忙多多推薦。

    有不少網友轉載和想要轉載我的博文,本人感到十分榮幸,這也是本人不斷寫博文的動力。關於本文的版權有如下統一的說明,抱歉就不逐一回復了。

    1 本文可轉載,無需告知,轉載時請用鏈接的方式,給出原文出處,別簡單地通過文本方式給出,同時寫明原作者是hsm_computer。

    2 在轉載時,請原文轉載 ,如要在轉載修改本文,請事先告知,謝絕在轉載時通過修改本文達到有利於轉載者的目的。

    3 我見過個別網友,通過對我博文的拼接和刪減以達到做自己廣告的目的,對此本人保留追究法律責任的權利。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM