本篇的做者是來自淘系 D2C 團隊的澤壹,做爲準入職的淘系前端開發工程師,寫給師弟們的這封信有着中肯的建議和誠摯的祝福。html
你好,我是准入職淘系前端開發工程師澤壹,去年春天到夏天的求職歷程還記憶猶新,走過些彎路,大一是車輛工程專業,大二時候轉入軟件工程專業,大二下學期接觸前端,大三秋招很榮幸拿到阿里淘系 offer,這一路走來講下心得體會,但願能夠幫助到正在求職的同窗們。前端
在阿里,我認爲挑戰與學習並存。react
曾在社交平臺上看到阿里師兄對 ATA 內部技術社區讚不絕口,` 我不止一次提過 ATA 那彷彿寶庫通常的內部技術社區,你發的文章以及技術評論,會收到來自集團各個 BU 的大佬一塊兒探討,甚至轉移到釘釘 1:1 深刻交流,真的是太美妙了 `,當我切身目擊 ATA 這一片知識汪洋後,確實名不虛傳,你能夠化身爲浪裏小白龍投入到知識海洋中。面試
前端的深水區好比涉及到計算機圖形學的互動圖形和可視化,算法與前端交叉融合的前端智能化,在淘系都有相應的場景,充滿挑戰,天花板效應在這裏彷佛是不存在的,同時在手淘上有你寫的代碼也是能夠向常常逛淘寶的女友吹噓的一件事。算法
技術是安身立命之本,我想不少同窗跟我同樣在前端學習的道路上是獨自前行的,在剛開始接觸前端的時候我是根據崗位的 JD 制定學習計劃,我將前端學習過程分爲 3 個階段。後端
1.入門階段設計模式
所謂基礎不牢,必然地動山搖。入門階段要打好基礎,《JavaScript 高級程序設計》、《ES6 標準入門》、《你不知道的 JavaScript》、《CSS 權威指南》、《CSS 揭祕》我認爲都是前端必讀書籍。在學習基礎知識的時候,要多加練習,而入門最好的方式莫過於模仿,能夠嘗試模仿一些比較複雜的頁面,可以很快的熟悉各方面的基礎知識。好比看看別人的頁面是怎麼佈局的,樣式是怎麼寫的,有什麼技巧等。同時能夠看看 underscore 代碼,學習經常使用的好比節流、防抖是如何實現的。安全
2.提高階段 網絡
緊接着學習前端流行框架 Vue/React, 二者的官方文檔值得細品,除了快速入門之外還有些高級指引、最佳實踐,如 Error Boundaries、你可能不須要使用派生 state。同時你們應該在實戰中成長,向你們推薦一個全棧練手項目 Spectrum,是一個用於開源社區聊天的,論壇 + 聊天室的結合體,整個技術棧我以爲不錯:數據結構
前端:React/Redux/React-Router/DraftJS
後端:Nodejs/GraphQL/RethinkDB/WebSocket/Redis
從中你能夠學習到不少,好比:
- 如何構建一個 GraphQL 的服務端
- React 如何和 GraphQL 交互
- 如何去用 Redux 管理複雜的應用程序狀態
- 如何實現 SSR
等等。
3.深刻階段
深刻階段能夠分爲兩個維度:技術廣度和技術深度。
擴展技術廣度能夠經過多逛逛技術社區,那些你沒聽到過的技術詞就是你要學習的新知識,平常工做中一定會面臨一些新的場景,技術廣度能夠幫助你,知道某個技術能幹什麼,原理大體是什麼,是否適合當前業務的場景等。
技術深度是對技術底層或設計理念有比較透徹的理解,能夠閱讀 React、Vue 源碼,深刻理解框架的運行機制以及背後的設計模式,並能夠經過對原理的理解來優化代碼,這些能夠做爲項目中的技術亮點。
同時在學習的過程當中,必定要多實踐,愛折騰,千萬不要眼高手低,最後會造成「簡單問題不想搞,複雜問題搞不定」,每每問題的本質都是在解決一個個問題的過程當中總結出來的。同時經過折騰,逐漸沉澱出一些成熟的項目,能達到解決現實問題的更好,這些都是讓面試官眼前一亮、增長面試籌碼的有利資產。
全部的面試技巧都是創建在面試者已經具有了相對合格的實力的基礎之上。
首先,你們仍是要先儲備足夠的知識,這些知識包括操做系統、計算機網絡、數據結構、算法、安全等計算機基礎知識、前端知識 和其餘的加分項知識。
其次,能夠看看同窗們的面試經驗分享,我認爲看面經不是應試的過程,更多的是查漏補缺的過程。
而後,作過的項目要總結完善,面試官會從廣度和深度來挖掘項目中的亮點,好比你的懶加載是如何實現的,知道 IntersectionObserver API 嗎? 有讀過它的 polyfill 嗎?給面試官一個選你的理由。
最後,面試的過程當中要充滿自信,多表達本身的理解,展現本身解決問題的思路。
學習沒有捷徑可走,在學習的過程但願你可以保持對技術的好奇心,收穫一份理想的 offer 當然不易,放下一些東西,專一於事情,心裏有相信,行動有堅持,結果有落地,offer 每每是水到渠成的,各位加油,你也能夠是個 offer 收割機。
澤壹
2020.3.27
創建了一個「前端校招面試衝刺互助羣」,歡迎加「taoxiaozhao233」 入羣~