畢竟是聊聊曾經,放一張大學課堂上靈光一現,手寫的一個我曾經一直使用的網名 前言 原文地址: "Nealyang/personalBlog" 講真,的確是運氣,才有機會進大廠。也沒想到,那篇一年半工作經驗試水杭州大廠的面經如此受歡迎。後面也有很多朋友在群里問我,你是如何學習的? 此篇為xxx 經驗進阿 ...
畢竟是聊聊曾經,放一張大學課堂上靈光一現,手寫的一個我曾經一直使用的網名
前言
講真,的確是運氣,才有機會進大廠。也沒想到,那篇一年半工作經驗試水杭州大廠的面經如此受歡迎。後面也有很多朋友在群里問我,你是如何學習的?
此篇為xxx 經驗進阿裡的終結篇,希望從此以後就翻過了,不再提了。不然總有種炫耀的感覺,倍感壓力,汗顏汗顏~
此篇也並非技術軟文。大概介紹下我在進阿裡之前、工作中都經歷和做過了些什麼,最後我會分享一下敲開面試之門的那封簡歷。
關鍵節點經歷交代
經歷階段,我儘量簡短。
大學期間
從農村走出來的孩子,從只開開機關機到各種參加比賽,鬼知道我如何瞭解編程的。
最終我拿過Oracle java 全國青年設計大賽
東北賽區一等獎、藍橋杯
編程省一、國三等等四五個編程方面的獎項吧。
大四實習期間
我使用 java 編寫的坦克大戰自定義 hack 版推開的實習公司漢得的門。在移動部,我原以為是用 java,結果是 hybrid App 開發。所以,實習期間,是我開始學習前端的開始。
剛開始的學習過程大家都一樣,w3c搞起,最終,我成為了團隊裡面第一個帶新人的,我還帶人開發了現在匯聯易App 的第一版。90%代碼是我一個人寫的。也理所應當的拿到了年度最佳新人獎項。這裡再次感謝當初給我機會的我的老大,順哥。
但是說實話,當時的技術,前端基礎都掌握的不行、都是在用 ionic、cordova、angular。甚至連 jQuery 都不會。。。
第一份工作
畢業後在北京,第一份工作在環球網,事實證明當初的選擇是正確的。
我正式接觸前端,從編寫頁面開始。從剛開始的添加一個 click 事件監聽都要百度,到最後半天能產出一張活動頁。
後面一周學習 RN ,扛下了獨自環球網 App (Android 版)的大旗。再後面調到平臺組,開始接觸了 react、node。
遇到過一些很多難的項目,也是當時我說的,怎麼我一直在坑中。而這最後,都成為了我簡歷中比較出彩的地方。
阿裡
後面決定跳槽,就想擇一城。來到杭州,也就是大家看到的一年半前端工作經驗試水杭州:我是如何拿下網易、阿裡和滴滴 offer 的
關於前端
以下所有言論都是個人觀點。如有不妥歡迎指出,一起交流
就前端而言,我個人認為有三個階段。認知階段、鑽研階段、掌握階段
認知階段
所謂認知階段,就是開始接觸前端,開始學習前端。
學習方法
這個階段應該算是我在實習的階段吧。一個從來接觸過前端的大學生。簡單總結就是各種看書、學習。
- 從最基礎的 HTML、css、JavaScript 開始學習。我個人是從 w3c 開始學習的,然後還順帶做了線上的知識掌握測試。
- 每一次的工作都是挑戰,每一次挑戰都是成長。也是從這個時候,我開始養成了寫博客的習慣。
- 遇到任何新的技術,都從官網開始學習。因為這個階段,官網能幫你解決 99%的問題
- 遇到問題,儘量靠自己,別動不動就在群里提問。甚至,你要主動找問題。偷偷告訴你,我的 qq 群、微信群,都是我在剛學習這類知識的時候創建的,初期我是儘可能的回答群里每一個問題。雖然我是菜鳥,但是我會百度、Google 呀!
截止到 16 年初。這是我在實習階段整理總結的自己項目中遇到的問題
鑽研階段
所謂鑽研階段,就是你基本已經入門前端了,需要找一個方向,去學習,去鑽研。比如三大框架是否可以挑選一門入坑。註意是鑽研,而不是淺嘗輒止。
學習方法
在這個階段,我依舊會瀏覽各個官網的信息,同時就我個人而言,當初選擇的是 react 技術棧+node ,這也是我最開始創建的兩個技術交流群。
當然,工作中,恰巧我也用了一周時間學習 React Native,完成了官方 App 的代碼編寫。這讓我提前對 react 有了一些瞭解。掌握 react 技術棧對於一個初學者來說挺艱難的。我花了一周,看完了所有教程。然後開始學習 react-router、redux、react-redux、然後也接觸到了 webpack,在此之前,我剛學習 gulp(開源中國博客列表可見相關總結)。
我的學習方法比較劍走偏鋒。既然看完了知識點,直接開乾。
- 大概花了四天時間看了 nodejs 的基礎知識,我寫了一個 demo:ejs-express-mysql
- webpack 學習完阮一峰的 demo 後我也開始百度、Google,完成一個自己項目的配置:neal-teach-website
- redux 我是通宵學習了一個周末,並且在周一寫了一些 demo、寫了相關感悟study-redux
- 然後開始將react 技術棧串聯起來的時候,發現了 redux-saga 要學習,並且整體項目結構非常的亂。於是乎,我又開源了一個 demo:React-Fullstack-Dianping-Demo ,這是一個朋友分享給我的慕課網教學視頻,但是說實話,通篇看完,覺得老師講解的不是很對口,遂自己寫了一個開源出來。
- 通篇學習完後,又寫了一個總結性的Demo,也就是 github 上目前個人倉庫下最高 star :React-Express-Blog-Demo
以上這些只是我個人學習 react 的時候,並且所有的學習都有相關產出、所有的 demo 都在 github 可見。同時在工作中,也有在使用和學習。
回頭看看,我一直在冒充著大神,其實開源出來的時候,自己也在學習,自己也沒有完全掌握。因為我感覺如果都是寫一些自己會的,那簡直是太浪費時間了。
除了 react 以外。在這個階段,我 啃完了所有 讀了很多 JavaScript 經典書籍、紅寶書、犀牛書(看了 60%)、ES6、高性能 js、你不知道的 js 系列、忍者秘籍等等,並且感悟深的都有在各個平臺上留下相關筆記。
在這個階段,你有太多需要學習的了,任何你不知道的,你都應該知道!不要等工作、業務上來給你知識盲區掃描。自己主動找自己的技術方向。有目的、有結果性的學習~
掌握階段
其實就我個人感覺,我應該屬於第二階段往第三階段過渡的一個階段,所以這裡不能給出我個人的總結了。說下這個階段,我自己的個人規劃供大家參考吧。
這個階段的我,已經進入到了自己心儀的公司。並且身邊的大牛幾乎是每天都能給到自己壓力。所以學習。。。依舊是我最為核心的目標。但是同時!業務的理解和掌握,也是我這個階段要去提升和重視的一點。
這個階段,我需要做的很多。說一下對自己的期望
工作上
- 帶有業務思考的去編寫每一行代碼。對於代碼規範、組件的封裝、整體架構的搭建需要進一步的去思考、學習。
- 明白Bu的核心利益是什麼,你對Bu 的貢獻點、以及如何利用好自己的技術來反哺業務。
- 多從業務上去尋找技術的突破點。從技術的突破點去尋找自己的方向。
- 從前端團隊的角度去思考如何解放前端腦動力。時刻保持敏銳的嗅覺去思考團隊的開發流程、技術痛點等,並努力尋求解決辦法。
學習上
- 學習基於業務。但是依舊要明確自己的未來領域。
- 多做技術分享,多和大牛接觸、以提高自己的技術視野和未來前端方向的嗅覺
- 再重溫一次前端,多些總結性文章。
- 對於前端領域現有知識,不要求能夠面面俱到、但是能夠做到提綱挈領
- 保持一顆有空就學習的心
- 提高自己非技術以外的軟實力(作圖、架構思考、做 PPT 等)
- 個人品牌影響力的打造(不得不說,github 幫我敲開的阿裡大門)
總結
總結如上所說,其實我沒有走任何捷徑。只不過
- 學習東西果斷、堅持。並且一定會有產出(博客、github)
- 不怕遇到問題,甚至主動找別人遇到的的問題,然後自己幫忙解答(技術交流群)
- 學習新東西只是瀏覽一遍官網介紹和 api,然後直接上手寫 demo、不會再去查!
- 多瀏覽技術論壇、博客。常備梯子你懂得。多和大牛接觸,交流(但是註意:沒有大牛是閑著的)
- 一定要寫!寫!寫!不要只會看!讀!
- 技術不能脫離業務,多去思考業務痛點、團隊工作流痛點、技術突破點。
- 提高自己的技術思考能力,不僅僅要學習,更要學會去創新、去思考 why。
最後,我想說,其實我也依舊還有很多需要學習的地方。此篇文章,是對一直以來支持我的哥們一些疑惑的解答。因為我的確給不了最為有效的學習方法和建議,所以只能簡述自己的情況提供參考。如若說的不對的地方,還望見諒。
勿忘初心!狂而不傲 peace~
福利
微信公眾號內回覆:【簡歷】 獲取筆者面試大廠大門的敲門磚簡歷
下一篇我將介紹:阿裡一面,我是如何面試 p6、p7 的(面試題以及打分分析)
學習交流
關註公眾號: 【全棧前端精選】 每日獲取好文推薦。
公眾號內回覆 【1】,加入全棧前端學習群,一起交流。