自學黨/野生猿,項目經驗上哪搞?


幾個實際的問題

最近不是求職季嘛,常常聽小夥伴們說起的幾個重要的話題是什麼呢?git

  • 第1種狀況:在念書期間沒進過實驗室,沒有參加過比賽,也沒有實習經歷,那找工做時,簡歷上、面試時,項目經驗這一塊怎麼弄呢?
  • 第2種狀況:讀研的小夥伴,期間以看論文,作研究類工做爲主,或者說搞的是A研究,作的是A相關的項目,畢業有意願從事計算機相關的崗位,簡歷上沒項目怎麼辦?
  • 第3種狀況:已經參加工做了的小夥伴,說以前一直作的A工做或者A崗位,如今有轉開發相關崗位的意願,簡歷上也沒項目經驗怎麼辦呢?

老實講,這幾個問題是蠻頭痛的,並且還不太好說。github

我本身也有親身體會,以前記得分享過本身的的社招轉行經歷,當時應該屬於上面說的第3種狀況,基本上也是頭鐵硬轉的,自學黨嘛,談不上有什麼實際的互聯網開發經驗。老實講本身的運氣還算能夠,可是有些東西好像也不算單純偶然。面試

嘗試聊聊我的當時的幾點準備和想法吧,就這個問題上,但願能有用。算法


應屆生?項目經驗?

我發現提到相似剛纔上面那些問題的小夥伴們,不少其實都是應屆畢業生(包括本、碩),表示沒有項目經驗有點慌。數據庫

u1s1,應屆生校招面試時,對項目經歷的要求倒還好,不用太過焦慮編程

有一個比這個更重要的事情那就是基礎的準備!有些小夥伴有疑問了,每天掰扯基礎基礎,到底啥是基礎啊?!後端

這個在以前的兩篇學習路線的梳理文中都有說起,並且基礎都是通用的:設計模式

主要包括:網絡

  • 編程語言
  • 數據結構與算法題
  • 計算機網絡
  • 操做系統
  • 數據庫/SQL
  • 設計模式
  • 應用框架

本身有不少朋友同窗都是一線面試官,就這個問題還專門和他們交流過。面試官內心很是清楚,要求應屆生有比較厚重的項目經驗是不現實的,更是徹底沒有必要的。應屆生可塑性強,只要以上基礎紮實,公司都是很是願意培養的。數據結構

面試過程當中,有項目/比賽/實習等相似經歷都是加分項,這沒錯,但別忘了前提是創建在基礎表現得紮實的狀況下,若是拋去這個前提,所謂的項目經歷怕只會多此一舉,並不能起到決定性做用。

再打個很實際的比喻,找過工做的小夥伴們可能也有體會。面試時,項目經驗/實習經歷吹得再多,一道手寫算法題寫不出來照樣涼;但反之,若是項目經歷雖稍欠,但對於面試官提出的基礎問題和算法題一答一個準,則十有八九能上岸。

因此我以爲不能本末倒置,基礎纔是應該着力去抓的。

若是距離校招還有很多時間,那在校期間若是有比較合適的實驗室項目/比賽/實習,固然能夠嘗試一下,這也是一段可貴的經歷,能夠寫進簡歷。但若是真的立刻臨近校招了,仍是應該先把基礎準備紮實。

對有些碩士生而言,其實大部分在讀研階段導師都仍是會安排任務的,甚至包括各類開週會、寫報告,這些過程當中所作的研究其實均可以成爲項目經驗的一部分,只不過須要本身好好挖掘、提煉、整理、表達出來。

再者,就算讀研期間沒有項目,那畢業論文總該是有的,也總應該是作了一個研究,或者完成了一件事情。這些其實也能夠好好挖掘一下,表達成項目經驗寫進簡歷。

其實面試時,對於面試官來講,大機率不太會關心所作項目的具體內容。不少時候只是經過聊項目的方式,來感知咱們的學習能力、表達能力,以及思惟的清晰程度。

因此就看會不會 表達了!


善於利用開源項目

優秀的開源做者們積攢了數十年的財富

全部的知識、見識、智慧和藝術

像是專門爲咱們準備的禮物

咱們爲何不 白瞟 利用呢?

9824247-deb23c2e62ec7d7b.png

就我的感覺而言,開源項目對於我成長的幫助是很是之大的。由於像我這種非科班自學黨,練手的幾乎惟一途徑那就是大量研究、吸取別人的開源項目,眼界很大程度上也是靠這個來提高。

以前也已經推薦過不少相關的開源項目了:

9824247-d31ef3dd1314596c.PNG

那又有小夥伴可能會疑問,如何把一個開源項目吸取成本身的,以應付面試呢?

我的以爲不能靠死記硬背,也不可泛泛而看,而應該是有主有次,重在吸取技術關鍵點和總體架構思路。因此若是要作個總結,我願意以這樣一個大體流程去吸取別人的開源項目:

  • 首先正式開始啃開源項目以前,基礎不可少,好比語言底子、網絡協議、基本工具、基本應用框架、甚至包括一些設計模式等等,不然人家開源項目很難下牙。
  • 正式看一個開源項目時,首先能夠全局梳理一下該項目用到的全部技術點、組件以及對應的做用和解決的問題,沒聽過的先去了解,不會的先單獨補,各個擊破先。
  • 接下來很重要的一步是:把項目運行跑起來!只要能跑起來看到效果,也就成功了一半,頓時信心大增。
  • 針對某幾個關鍵技術點,或者關鍵模塊各個擊破,規劃好一個順序,仔細研究其源代碼,跟進去細看。過程當中能夠藉助於思惟導圖的輔助來作總結、串聯和回顧,而且作好筆記輸出,不然即便當時很有心得,過後又像走迷宮同樣再踩一遍坑。固然該過程確定是有個反覆的,想一遍搞定不太可能。幾輪一折騰,應該說對這個開源項目就比較熟悉了。
  • 最後一步纔是考慮把這個開源項目轉化成本身的。好比能夠考慮作代碼上的優化,功能上的優化,甚至加入一些創新一點的想法,固然咱也能夠把它推翻重來。

善於作好技術輸出

我的以爲,不管應屆校招仍是社招轉行,在沒有項目經驗的狀況下,要想博得面試官的青睞,別的不說,作技術的態度確定要有,這樣最起碼能證實本身是有方面的意願和行動,不然如何說服別人呢。

那如何體現一我的的技術態度呢?

一個最直接,最有說服力的方式那就是亮出你的技術博客或者GitHub連接,或者其餘做品連接,這個再面試時是一個很大的加分項。其實面試官可能真的沒有在乎裏面具體寫的什麼內容,可是咱們熱愛技術、熱愛分享的樣子已經被面試官着着實實地看在眼裏了。

因此學完一個東西,必定必定記得要留下點什麼,這些都是後續發展的資本。

再比方說,因爲轉行真的沒有實際的企業項目經驗,可是咱經過自學,有本身的技術心得或者做品,那面試官跟咱也有得聊了,並且大機率是咱們本身熟悉的領域,這樣豈不是也爲本身贏得了機會。

這個在以前作過的那麼多期搭建博客、寫博客的視頻裏,就是這個意思,由於我本身以爲受用很大,因此以爲能夠嘗試。


善於利用知名框架和項目

再比方說,仍是因爲應屆或者轉行確實沒有實際項目經驗,但若是咱們研究過企業級開發所涉及的經常使用框架、項目或者技術的核心原理,深刻到源碼級別,那面試時也是能夠和麪試官侃上幾個回合的。

常見的好比SpringRedisNginx... 等等這種不少互聯網公司都會使用的知名技術、框架或者項目,只要有一個很懂原理,可以在源碼級別和麪試官侃侃而談,那上岸的機會仍是有的。畢竟這些知名框架中的任何一個,都能折射出不少的底層知識和內功。

不過我想,若是能到這個地步,通常來講本身應該也會有很漂亮的技術輸出,甚至我的做品了,這種狀況下仍是很是受歡迎的。


挖掘已有項目的亮點

固然這一條指的是已經參加工做的小夥伴,好比我當時,從通訊領域的某一個搬磚崗想轉互聯網,雖說項目的業務和技術棧都有差異,可是前公司項目並非徹底不能用,照樣能夠寫進簡歷,只不過須要作一下挖掘,開發領域共性的東西提煉一下。

並且也能夠有意識地把以前參與過的項目裏,一些有技術含量的東西深耕挖掘一下,有些東西可能不是咱們作的,可是仍是能夠問、能夠打聽、能夠提早準備,而後結合代碼花點時間理解和吃透,從而變成本身的,這樣也就能夠寫了。

並且有些狀況下,也能夠結合一些開源項目裏看到的比較先進的技術點,能夠想着如何融合到現有作過的項目裏去,只要本身能理解,也就能轉換成本身的項目經驗。


後 記

聊了這麼多,必需要說的是,這些可以得以實施的前提是,最起碼還有時間來準備和周旋。若是實在沒時間準備這些了,那還不如鞏固基礎,先保證能拿到基本分爲宜。

成年人的世界裏好像真的沒有容易的事情,既然咱們想在沒有項目經歷的狀況下跨過這道門檻,那過程當中確定就沒有輕鬆的事情,掉點毛也正常。然而等熬過了這段,本身真的會成長。

一塊兒共勉吧。

注:本文在開源項目: JavaCollection 中已收錄,包含自學編程路線、心路歷程、面試題和麪經、及系列技術文章等,資源持續更新中...

天天進步一點點

慢一點才能更快

相關文章
相關標籤/搜索