開篇
各位看官,不知道如果看待面試過程中專案經驗的問題? 大家在的和麵試官在基礎知識上你來我往,面試官對你很感興趣:小夥子我看你骨骼驚奇,一看就是前端開發的好苗子。那你能不能給露兩手,你做過哪些專案?你專案中你認為的技術難點是什麼?你是怎麼解決的?咦??? 好一個專案三連,沒做過、沒啥難點、我也不知道咋解決,它自己就好了。面試官會很委婉的告訴你:你出去! 好了你出去當然是開玩笑的,既然聊到專案那麼對你的基礎知識應該是認可的了。所以打算了解一下你在實際應用上把這些知識結合的怎麼樣,如果你簡歷上要是有面試官比較感興趣的專案經歷,也會著手一問。
這個目的我們分析出來了,之後想要做一個專案來給自己的校招或者實習招聘增加閃光點,就要有所應對來。
1 精緻有內涵比假大空的仿專案要更加合適。
在這個漫天都是我2w塊錢做了個淘寶、5000塊錢接個百度的段子,你就偏偏搞個仿京東、仿淘寶的電商。你覺得面試官對這個專案感興趣嗎?面試官一看喲小夥子(小姑娘)叼極啦,一個人就仿了個淘寶,你咋不上天呢??? 所以這個時候你自己就是你的產品經理,做一個精緻的小專案,比如一個記事本、學習筆記這些都可以做的很精緻,有很巧妙的解決方法在裡面。精緻不是指簡單,每個功能都經過打磨。這樣的專案很符合學生的身份、包含你的思想在內、體現了對產品的也有一些理解以及技術上的實現。(開發人員對於產品要有一些理解,因為在開發過程中要對很難實現的功能,提前判斷、早點說不)
2 技術棧不一定要業內最新穎的,但是有你選他的理由。
就好比你就想做一個大眾使用的電商平臺,那麼你的技術選型選擇jquery1.x一點問題都沒有,未來更好的相容性考慮選擇了jquery1.x,因為seo選擇了多頁面的應用,然後搭配的一些內容可以很好結合jquery1.x的使用。漂亮,有、東西。並沒有盲目使用新技術。你想做一個管理型後臺,那你選angular+ts+rxjs或者vue+vuex+vue-router也可以是react全家桶,那麼為什麼選這個技術棧?專案需要需要強型別檢查angular適合你,元件化的開發+jsx你很擅長而且你很喜歡react,那就選react,輕量靈活而且喜歡vue-loader下的檔案的結構,你選擇vue絕對沒錯,對專案的技術棧選取有自己的理解,對應的技術棧的特點你也有一定了解,這也變相展示了你對框架的使用場景有一定的認知,同時說明你的專案確實經過一定思考以及技術上的一個選擇。如果選擇的不對又能怎樣?面試官講給你為什麼不對,你有了一次難得的提升,也美滋滋的。
3 不一定自己去負責一個完整專案,其中一個模組是由你負責的也可以
這個專案的列表展示與詳情頁是我負責的。我對於後端傳遞的資料進行了怎樣的處理,在非同步請求中選擇了一定的非同步分割處理資料,拆分一次性阻塞主執行緒的時間,可以減少使用者的等待,頁面滾動時選擇節流,減少無效的ajax請求等等,對自己模組所負責的內容,進行梳理。在技術實現上有自己的亮點。最重要的是這可以體現自己在協同開發過程中的處理問題能力,如何與後端進行介面設計與合作,如何與前端夥伴進行合作與分工,面試官在選人的時候一定希望要一個合作能力強的,肯定會否決一個以自己為中心,無法與人合作的應聘者呀。
4 GitHub與上線專案有機會要搞一搞
面試官如何直觀的看到你的專案?這是個問題。在你很興奮的說了好久,然後面試官就是勾畫不出專案的樣子,我怎麼辦???我拿著電腦給他看???我也不知道咋辦。好了這個就是很尷尬的問題。如果你有一個上線的專案那麼你就可以很簡單的在網上去演示你的專案,如果你的專案上傳了GitHub那麼面試官很容易看到你的程式碼風格。口說無憑,立字為據。老哥我這東西都給你看了,你總知道我說的都是真的了吧。
5 學生也要自己的架構,不求多麼對,只求有自己的想法。
你的專案結構是什麼樣的??? 結構?沒結構啊?官方模版啥樣我啥樣,我也不知道為啥這麼寫。面試官:那你能寫出來那你好棒棒啊。你的專案對於基本的結構的設計要有。模組的劃分、工具類的封裝與抽離、ajax層的封裝與抽離(這個具體業務具體分析)、公共css樣式的抽取、公共元件的設計(SPA的會設計的比較明確)。這樣你的src目錄下肯定就有了utils資料夾、一堆模組的檔名、css公共樣式檔案。 好了這樣的專案結構不確定是不是一定最合理,但是它體現了你一定的想法。 哪怕你有設計的不合理的地方,whatever,我可以學嘛,但是一點概念都沒有?那你學什麼啊?
具體的專案該怎麼做,我覺得這不是我們要討論的內容。畢竟我們們的個人學習的專案難度上與企業級的專案有明顯差距,你很難達到企業級的專案規模與業務難度。但是怎麼體現出你開發的思想呢?就要從以上幾點去思考咯。
結語
不知不覺又產出一篇,心情美滋滋。同時頁感謝留言提供建議的人,給了我這麼一個方向,學習計劃方法,目前個人學習計劃是放在同步非同步單執行緒有關的知識上,有相同興趣的人可以在留言區用你們火熱的留言轟炸我,我們們一塊進步,加油。