【offer收割機必備】我簡歷上的Java專案都好low,怎麼辦?

ciscopuke發表於2021-09-09

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100)

週一至週五早8點半!精品技術文章準時送上!

精品學習資料獲取通道,參見文末

目錄

高階工程師必備:系統設計能力

如何讓你的專案更有技術含量

“上篇文章【金三銀四跳槽季】Java工程師如何在1個月內做好面試準備?。我們聊了聊Java工程師在跳槽前的1個月,如何利用較短的時間從技術廣度、技術深度、基礎功底幾個方面進行較為完善的準備。

這篇文章我們繼續來聊一聊,在系統設計和專案經驗這兩塊,應該如何充分的準備,才能拿出有技術含量的專案經驗戰勝跟你同臺競技的其他工程師,征服你的面試官,收穫各種心儀的offer。

(1)高階工程師必備:系統設計能力

我們一般在招聘高階及以上工程師的時候,一定會嚴格考察一項能力,系統設計能力。

因為如果你僅僅是對各種各樣的技術都熟悉,有技術廣度,也有一定的技術深度,實際上是不夠的。如果你的系統設計能力不到位,可能導致你在開發系統的時候會亂用技術。

比如說,有的系統他有一些自己特殊的業務場景和技術挑戰,實際上在這個場景之下比較合適的是採用 “快取 + 資料庫” 的技術方案來應對。

但是呢,有的工程師會很多技術,但是缺少這種準確的分析系統問題,提出合理的技術方案的能力,也就是缺少系統設計能力,導致他可能會引入Elasticsearch這種技術來嘗試解決這個問題。

那麼結果必然是失敗的。所以之前很多人找我問問題,說我在XX場景下,用了XX技術,但是沒有起到我想要的那個結果啊?

我幫他一看,這不是必然的麼,你的XX技術應該用在YY場景下,結果你用到XX場景下,肯定是不行的。

這就是系統設計能力的重要性。

【offer收割機必備】我簡歷上的Java專案都好low,怎麼辦?

那麼落地到現在的網際網路行業的面試,大家應該會注意到,很多大廠都會越來越開始問一些系統設計類的問題,舉幾個例子來看看:

1、如果讓你設計一個秒殺系統,你會如何設計?

2、如果讓你來設計一個訊息中介軟體,你會從哪些方面來考慮?核心的架 構以及資料結構如何來設計?

3、如果讓你來負責一個電商雙11大促系統,你會如何來考慮和設計?

**4、我們公司有這樣的一個業務場景,XXXX,我給你畫個圖,YYYY, **

就根據這樣的一個場景以及面臨的問題,如果讓你來設計這個系統, 你會如何考慮?

其實如果你在面試的時候遇到上面的那些問題,就是典型的系統設計問題。

面試中的系統設計問題主要分為兩類,一類是常規性的,比如秒殺系統的設計,另外一類是那個公司自己的業務場景下的系統設計。

第一類系統設計問題其實很好快速突擊準備,你可以到網上搜一搜網際網路公司常問的一些系統設計問題。

收集好一些典型問題之後,百度一些技術部落格給出的技術架構設計的思路,將這些思路自己進行整理總結,然後轉化為自己的語言,最後落地到紙上畫出架構圖。

到面試現場,你能夠畫圖把這個系統設計思路說清楚,這個基本就OK了。

這個準備時間不長,突擊的話可能幾天時間也足夠了。

當然,還是那句話,最好的結果,必然是你自己本身做過類似的一些有挑戰的系統。

此時你遇到這種系統設計問題,直接可以很牛叉的說,這類系統我之前做過,然後把自己之前的專案經驗都現場畫圖給說出來。

第二類系統設計問題就不太好準備了,因為完全考驗的是你實打實的系統設計能力,短時間內針對一個業務場景和技術難點,能否迅速給出一個初步的架構設計和技術方案。

第二類系統設計問題,從長期積累和準備的角度,我的建議是在平時自己在開發系統的時候多思考,自己的這個系統有沒有什麼技術難題,針對這個技術難題應該用什麼什麼技術,什麼方案來解決,這就是潛移默化的在積累系統設計能力。

但是如果從臨時抱佛腳的角度,平時沒那樣的積累,遇到第二類靈活開放的系統設計問題,那也不能一問三不知,大眼瞪小眼。

【offer收割機必備】我簡歷上的Java專案都好low,怎麼辦?

因此,我的建議是:

一、對於你要面試的公司,大致瞭解一下其業務背景,比如他是做什麼的,使用者量大概多少,這個一般百度就能搞定。

二、然後如果面試時,面試官針對他們公司的具體業務出了一個系統設計題目,你如果沒有思路,建議儘可能的結合第一類的常規系統設計題目來思考套用。

舉個例子,比如你面試一個p2p金融業務的公司,如果被問到大量使用者同時搶標,如何設計架構?

你沒有做過,但是你可以結合一些常規的系統設計題,比如秒殺系統的設計思路,套用在這個新的業務上。

而你如果在面試這家公司前,大致瞭解了其業務背景,那麼對你回答這類系統設計相關的題目,肯定也是很有幫助的。

(2)如何讓你的專案經驗更有技術含量

在解決了系統設計問題之後,任何一個公司,任何一個面試,都一定會涉及到你作為一個工程師最最核心的價值和能力,就是你的經驗,具體來說就是你做過的專案。

這塊是面試準備時的重中之重,應該作為最高優先順序來對待。

有很多同學,做的專案其實挺不錯,但是平時疏於總結,面試前也不準備,結果面試時支支吾吾,半天答不上來,白白浪費面試機會。

比如一個非常典型的專案經驗的面試考察情景如下:面試官反覆的追問專案的各個地方的技術實現細節,就想看看有沒有哪個地方是有一定的技術難度的,可以體現出這個候選人的一些專案上的亮點。

但是呢,候選人說來說去,總是從業務的角度去說,就說有哪些子系統組成,分別是幹什麼的,如何互動的,看來看去都是系統業務的東西,就是沒看到什麼有技術含量的東西在專案裡體現出來了。

如果出現上述的情況,那麼這個候選人要拿大廠offer的概率就很低了。

因為你的專案裡沒看出來什麼東西,沒什麼亮眼的地方。你看起來就跟千千萬萬個普通的工程師沒任何區別。

而且,在薪水方面,你要價23k,但是另外一個人要價是20k,還有一個人要價是18k。

在這種情況下,你覺得你的offer好拿麼?我們為什麼不找一個更年輕,更有活力的,有衝勁的小夥子,他也做過跟你類似的一些沒太大技術含量的專案。

【offer收割機必備】我簡歷上的Java專案都好low,怎麼辦?

雖然你工作了5年,人家就工作了3年,但是從技術和專案兩塊考察,你跟他沒太大區別。你不過就是比他多工作了2年,多做了幾個沒技術含量的專案罷了。

但是在薪資要求方面,你可比人家多了5k,在這個時候,面試官在沒更好選擇的情況下,一定會找那個薪資要求僅18k的小夥子。

這也是為什麼很多同學不好好準備出去面試,結果面半天,老是被人家說:你先回去等通知,我們要再多面試幾個候選人綜合考察一下。到最後面試好多次也拿不到幾個offer。

其實原因很簡單,你沒什麼能打動面試官的亮點,沒什麼太突出的能力。而你的工作年限越長,薪資要求越高,就越是不容易拿到好公司的offer。

上面說的,是一個極端,這類同學對自己做過的專案毫不重視,導致無法在面試中復現專案中的各種技術細節、技術難點。

這樣,即使你的專案很牛,那又有何用,你當時做專案的時候,面試官又不在場。。。

然而,也有不少同學,他們的專案其實並不高階,甚至是有點low。但是呢,人家憑藉自己精心的準備,加上一些面試技巧,巧妙的讓自己的專案脫胎換骨,瞬間變得高大上。

所以說,專案準備,百轉千回,這裡面有不少門道,接下來我們們就來聊聊。

同樣,我們們分為兩條路線來談:一個是長期準備型;一個是短期突擊,臨陣磨槍。

對於前者,我個人的建議,還是像之前說過的一樣,平時你工作的時候,一定多給自己設立技術挑戰。總結起來一句話:沒有困難,製造困難也要上。

這裡面可能會存在對於架構的過度設計的問題,站在公司的層面會覺得花那麼多時間設計這些架構實在是無用功,但是從個人發展的角度,為了你的職業生涯發展,你有時不得不過度設計一下。

況且,這個對公司也未必是一件壞事,萬一你公司以後規模發展起來了呢?這個誰又說的清楚。

舉個例子,你在公司目前是負責一個OA辦公系統,就內部幾十個人使用,主要就是寫寫業務,crud啥的,看起來很low的專案。

然後呢,你使用的技術就是簡單的SSM,可能連SpringBoot都沒上,整個專案就部署的一個單體工程,沒有微服務、沒有快取、跟所有高併發高可用等技術完全絕緣。

確實,幾十個人用,你何必殺雞焉用宰牛刀呢?但是想象一下,如果你的公司是一個世界500強,這套OA系統有上萬人使用,那麼情況肯定就不同了,你可能就需要另外一套技術架構。

當然,這只是筆者舉的一個例子,之所以用這個舉例,是想說明一下,無論你做的是什麼專案,你都可以從某種角度出發,給自己製造各種技術難題,然後解決難題。

你可以在不要給工作量增添太多的情況下,儘可能從公司發展的角度去考慮,向領導闡述你的考慮,這樣公司未來發展5~10年,這套架構都夠用了。

並且在面試時,你在闡述專案經驗的時候,可以讓面試官看到你在裡面有更多的技術架構的設計,考慮到了解決更多的技術問題,那麼自然你的面試表現就會更好,就更加容易會拿到更好的offer了。

上述就是所說的第一點,長期情況下應該如何積累自己的專案面試經驗。

【offer收割機必備】我簡歷上的Java專案都好low,怎麼辦?

接下來說說第二點,專案的短期突擊應該如何進行,才能儘可能的讓我們的專案顯得更加吸引人。我估計可能更多的同學需要這方面的技巧。

但是筆者還是事先強調,這種短期突擊、臨陣磨槍,效果肯定是比不上長期的一步步穩紮穩打,這只是一種應對面試的退而求其次之選。

如果大家有時間,或者說通過這種短期突擊的打法拿到了心儀的offer,還是應該沉下心來,一步步積累,技術的東西,來不得半點馬虎。

如果你之前因為種種原因,在面試前沒有做過多的長期積累,那麼短期的情況下,應該如何臨陣磨槍呢?

我這裡的建議是,你自己至少應該反覆思考,你目前負責的系統應該引入什麼樣的技術架構,採用何種技術方案,才能抗住各種衝擊。

突擊準備,你肯定沒有大把時間來付諸實踐,但是你一定要自己思考,同時百度一下國內一線網際網路公司的技術架構,他們使用了哪些高大上的技術,對於某個技術難點採用了什麼技術方案。

然後在面試的時候,可以對面試官闡述一下你對這個專案一些問題的思考,以及技術方案、架構如何來設計,這樣設計可以解決什麼技術問題,有沒有更好的方案選擇。

這樣一來,你起碼比普通人多一些思考,提出更多的方案,這也能成為你更加亮眼的地方。

還是那句話,做,總比不做強。你對自己的專案思考了很多的技術方案,這樣和麵試官總還有一些技術上的交流和探討的東西。你的專案也不至於說充滿了各種CRUD,毫無亮點可言。

(圖源網路,侵權刪除)

END

掃描下方二維碼,備註:“資料”,獲取更多“祕製” 精品學習資料

【offer收割機必備】我簡歷上的Java專案都好low,怎麼辦?

如有收穫,請幫忙轉發,您的鼓勵是作者最大的動力,謝謝!

一大波微服務、分散式、高併發、高可用的原創系列文章正在路上

歡迎掃描下方二維碼,持續關注:

【offer收割機必備】我簡歷上的Java專案都好low,怎麼辦?

石杉的架構筆記(id:shishan100)

十餘年BAT架構經驗傾囊相授

推薦閱讀:

1、拜託!面試請不要再問我Spring Cloud底層原理

2、【雙11狂歡的背後】微服務註冊中心如何承載大型系統的千萬級訪問?

3、【效能優化之道】每秒上萬併發下的Spring Cloud引數優化實戰

4、微服務架構如何保障雙11狂歡下的99.99%高可用

5、兄弟,用大白話告訴你小白都能聽懂的Hadoop架構原理

6、大規模叢集下Hadoop NameNode如何承載每秒上千次的高併發訪問

7、【效能優化的祕密】Hadoop如何將TB級大檔案的上傳效能優化上百倍

8、拜託,面試請不要再問我TCC分散式事務的實現原理!

9、【坑爹呀!】最終一致性分散式事務如何保障實際生產中99.99%高可用?

10、拜託,面試請不要再問我Redis分散式鎖的實現原理!

11、【眼前一亮!】看Hadoop底層演算法如何優雅的將大規模叢集效能提升10倍以上?

12、億級流量系統架構之如何支撐百億級資料的儲存與計算

13、億級流量系統架構之如何設計高容錯分散式計算系統

14、億級流量系統架構之如何設計承載百億流量的高效能架構

15、億級流量系統架構之如何設計每秒十萬查詢的高併發架構

16、億級流量系統架構之如何設計全鏈路99.99%高可用架構

17、七張圖徹底講清楚ZooKeeper分散式鎖的實現原理

18、大白話聊聊Java併發面試問題之volatile到底是什麼?

19、大白話聊聊Java併發面試問題之Java 8如何優化CAS效能?

20、大白話聊聊Java併發面試問題之談談你對AQS的理解?

21、大白話聊聊Java併發面試問題之公平鎖與非公平鎖是啥?

22、大白話聊聊Java併發面試問題之微服務註冊中心的讀寫鎖優化

23、網際網路公司的面試官是如何360°無死角考察候選人的?(上篇)

24、網際網路公司面試官是如何360°無死角考察候選人的?(下篇)

25、Java進階面試系列之一:哥們,你們的系統架構中為什麼要引入訊息中介軟體?

26、【Java進階面試系列之二】:哥們,那你說說系統架構引入訊息中介軟體有什麼缺點?

27、【行走的Offer收割機】記一位朋友斬獲BAT技術專家Offer的面試經歷

28、【Java進階面試系列之三】哥們,訊息中介軟體在你們專案裡是如何落地的?

29、【Java進階面試系列之四】扎心!線上服務當機時,如何保證資料100%不丟失?

30、一次JVM FullGC的背後,竟隱藏著驚心動魄的線上生產事故!

31、【高併發優化實踐】10倍請求壓力來襲,你的系統會被擊垮嗎?

32、【Java進階面試系列之五】訊息中介軟體叢集崩潰,如何保證百萬生產資料不丟失?

33、億級流量系統架構之如何在上萬併發場景下設計可擴充套件架構(上)?

34、億級流量系統架構之如何在上萬併發場景下設計可擴充套件架構(中)?

35、億級流量系統架構之如何在上萬併發場景下設計可擴充套件架構(下)?

36、億級流量架構第二彈:你的系統真的無懈可擊嗎?

37、億級流量系統架構之如何保證百億流量下的資料一致性(上)

38、億級流量系統架構之如何保證百億流量下的資料一致性(中)?

39、億級流量系統架構之如何保證百億流量下的資料一致性(下)?

40、網際網路面試必殺:如何保證訊息中介軟體全鏈路資料100%不丟失(1)

41、網際網路面試必殺:如何保證訊息中介軟體全鏈路資料100%不丟失(2

42、面試大殺器:訊息中介軟體如何實現消費吞吐量的百倍優化?

43、高併發場景下,如何保證生產者投遞到訊息中介軟體的訊息不丟失?

44、兄弟,用大白話給你講小白都能看懂的分散式系統容錯架構

45、從團隊自研的百萬併發中介軟體系統的核心設計看Java併發效能優化

46、【非廣告,純乾貨】英語差的程式設計師如何才能無障礙閱讀官方文件?

47、如果20萬使用者同時訪問一個熱點快取,如何優化你的快取架構?

48、【非廣告,純乾貨】中小公司的Java工程師應該如何逆襲衝進BAT?

49、拜託,面試請不要再問我分散式搜尋引擎的架構原理!

50、【金三銀四跳槽季】Java工程師如何在1個月內做好面試準備?

作者:石杉的架構筆記 連結:juejin.im/post/5c263a… 來源:掘金 著作權歸作者所有,轉載請聯絡作者獲得授權!

相關文章