關于我(個人背景)
本人是某雙非一本大學的大四學生,專業學的是電子資訊科學與技術,說實話,雖然它是我的專業,但我對它不是很了解,高考結束根據就業率選擇了這個專業,確實就業率很高(畢竟沒有三方協議學校不給發畢業證,怎么辦?很多人隨便找個單位、場子簽個勞動合同),一句話:垃圾,而自己在大二的時候就在想,這個專業畢業后能干嘛?如果我現在被迫輟學?我能靠它養活自己嗎?答案是:不能,
比較慶幸的是自己通過朋友帶動下從 3 月初(大三下學期)開始零基礎自學前端,在 11 月初拿到位元組跳動和多益網路的前端 校招 offer,歷時 8 個月,與其他拿到大廠 offer 的同學比起來,我應該是比較菜的,嘿嘿,不過我是在沒有基礎,基本沒人帶的情況下,自己摸索學習的,通過不斷筆試面試積累經驗,在沒有實習經歷的情況下拿到大廠 offer,
所以在轉行這方面自己克服了許多困難,也積累了一些適合非科班學生自學轉行的方法,為了幫助入坑的朋友,撰寫了本指南十分細致,親測可行,如果你想要轉行做前端開發,卻又苦于沒有學習方向,學習路徑和學習資源相信看完這篇指南后你會有所啟發,快速上手,
指南分為以下7個方面,
一、自學
我結合個人經歷整理的學習路線,總結了初級前端各項技術學習的先后順序和側重點,還附有相關的資源,可以節省你們很多時間,避免你們走彎路和購買到一些沒用的書籍資料,
下圖是本人大致的學習路線圖(有點長放大看)

知識脈絡
1、前端三大基礎(前期)(重點,中等難度)
前端三大基礎,即HTML(5),CSS(3),JavaScript 這三門技術,
JavaScript知識點合集
Tips:JS進階部分可以在準備面試時再開始學,
2、前端框架(前中期)(重點,較難)
Vue和React是目前在前端應用最廣泛的兩個開發框架,作業中一般都是用框架開發,兩者是同級并列關系,個人覺得可以先學Vue,等到第一篇的其他比較重要技術堆疊的學完了再學React,
Vue\React面試題集
Tips:現在新專案一般都用 Vue 或 React,不太用 jQuery,所以 jQuery 可學可不學,一般也不怎么考;看視頻學習入門會比較快,適合零基礎的新手,直接看官方檔案學習會比較難一些,有慷訓可以學一下 Vue 的 SSR 技術,
3、Node.js(中期)(次重點,中等)
Node 是一個讓 JavaScript 運行在服務端的開發平臺,可以讓我們用前端的語法開發后端,很多前端崗位的要求會 Node.js,
深入淺出Node.js
Tips: Node.js 和小程式開發一樣,是加分項,不過比小程式重要一些,
4、小程式開發(后期)(選學,簡單)
我拿到 offer 時還沒開始學小程式,不過我還是有2次技術二面被問到過,有時間還是學一下,而且小程式入門簡單,沒學過框架也可以學,之所以寫后期是因為覺得比框架次要,
微信小程式開發實戰
5、計算機基礎
傳統的計算機基礎一般是指資料結構與演算法,計算機網路,作業系統,資料庫,計算機組成原理,編譯原理等,作為前端開發入門者,我們只需要重點學習資料結構與演算法和計算機網路即可,
Tips:應對作業和面試需要重點學習應用層的協議(HTTP(S),Websocket 等),面試時 還會考察一些傳輸層的協議(TCP 和 UDP),
6、前端工程化
有很多初學者或者還沒有大公司經驗的同學在寫專案時都是單打獨斗的,但更多的一線專案都需要至少 2~3 個甚至更多的人員一同參與開發的,而這種時候,因為每個人的水平和開發習慣都是不一致的,而這些不一致就直接導致整體研發效率和專案進度受到極大的影響,所以就需要一種能夠讓大家在一個水平線上進行開發的模式,工程化需求很有必要,
工程化協作
版本控制
Git:GitHub、GitLab、Coding……
SVN:BitBucket、Google Code……
代碼樣式檢查工具 JavaScript/TypeScript:ESLint
測驗工具
性能優化
單元測驗:Karma、Jest、Mocha……
持續集成:CI
工程化開發工具
依賴包管理工具:npm、yarn
打包工具:webpack、rollup
腳手架工具:create-react-app……
二、專案
在校招中,想要拿到大公司的offer,最好要有實習經歷,沒有實習經歷,那簡歷上一定要有專案經歷,這個是很必要的加分項,而且找實習的時候簡歷上也最好有專案經歷,
如果找不到專案可以做,可以在網上買一些做專案的課程(實戰課),學完后自己借鑒課程的專案,改進或者重新做一個專案,我是在GitHub上學了一門用Vue開發仿拼多多的前端的實戰課,后來又學了一門用Node.js開發的服務端的實戰課,然后把結合兩門所學,自己做了一個仿美團網的專案,并且前端用Vue做,后端用Node.js做,使其成為一個自己完成的、全堆疊的專案(當然了,我這種級別的專案應對大廠校招其實只是勉勉強強罷了,好在大廠校招面試比較看重基礎),
其他方法我覺得可以是通過加入作業室、找計算機學院的老師、或者直接去網上找外包等方式來找專案做,具體我沒去實踐過,不是很了解,所以最好是大二、大三去找個實習,這樣子就不會有專案經歷和實習經歷不足的困擾,
三、簡歷
學習制作簡歷推薦看一下這個簡歷包裝
四、簡歷投遞
1、關于作業和實習
找作業和找實習是不一樣的,找作業的主體是應屆生(大四),對應到公司官網的投遞選項是“校園招聘”,找實習的主體一般是大一到大三的學生,對應到公司官網的投遞選項是“日常實習”,日常實習可能可以轉正拿到offer,也可能沒辦法轉正,而參加校園招聘通過后便可以拿到offer,不過實習經歷是找作業的重要加分項,
日常實習一般全年都有在招,而校招(校園招聘)分為秋招和春招兩波,秋招是在大四上學期,一般7月開始有提前批,8、9月為正式批高峰期,10、11月開始收尾,春招是在大四下學期開始,應該是2、3月開始(春招具體時間我不太確定,沒參加過),建議積極參加秋招,最好是在秋招就拿到offer,因為春招的招聘需求會小很多,競爭也很大,
2、學歷問題
我的學歷是雙非一本,非計算機專業,在投遞簡歷和面試大廠時,感覺大部分公司不會卡我的學歷或專業,但是說實話,如果你的學歷比我的還低很多的話,我就不確定會不會被卡簡歷了,不過按照我的方法去做,即使進不了大廠,校招進個中小廠是可以的,先進入這個行業,以后再找機會跳槽也是有可能的,
3、跨專業問題
有一些互聯網公司校招可能會卡專業,不過如果有一本的學歷,還是可以通過很多大廠的簡歷篩選門檻的,當然,前提是你簡歷的格式和內容過關,我參加過幾個大公司的面試,基本感覺不到對跨專業者的歧視,所以不用害怕跨專業會被歧視之類的,主要還是看能力,能力不行不要老是歸因到專業歧視上面去,
招聘資訊來源
牛客網,公司官網,公司公眾號,學校,一些校招公眾號和校招群等,
五、筆試
大多數公司為線上筆試,筆試平臺一般在牛客網,其次是賽碼網,部分公司筆試平臺是在公司自己的官網,少部分公司是宣講會現場筆試,
題型
以選擇題和編程題為主,大廠的筆試編程題一般占一半以上(如美團,騰訊筆試全部都是編程題),
(1)選擇題:前端相關知識,資料結構與演算法,計算機網路,作業系統,資料庫等,
(2)填空題:同上,
(3)簡答題:前端相關,演算法題,
(4)編程題:演算法題(主),前端相關的手寫代碼題(次),
筆試準備
怎么應對筆試,可以結合本指南自學篇和面試篇的相關內容,多去牛客網刷題,演算法題是大廠筆試里面最重要的部分,多去 LeetCode 刷題即可,
這里分享一些之前收集的前端學習資料給你,供你參考,希望對你有幫助,點擊最新資源可自行下載

六、面試
大公司校招面試一般有3 - 4輪(2 - 3輪技術面 + 1輪HR面),也有少部分公司是技術面 + HR面 +部門終面,大部分公司都是線上面試,小部分公司是去公司現場面試,線上面試的平臺主要有牛客網和賽碼網,小部分是在公司官網,
面試考點
1)大公司面試主要考察前端基礎、簡歷上的專案相關、前端框架、資料結構與演算法、網路、前端工程化等,小公司一般不考計算機基礎,比較考察前端相關的,不過總體難度還是比大公司低很多,(如果實習過,實習經歷也是考核重點)
2)面試考察的知識點頻率:前端基礎 > 簡歷上的專案相關 >= 前端框架 >= 資料結構與演算法 > 網路協議 > 前端工程化(如 Webpack,性能優化,上線部署之類的)等,
3)從一面二面考察的不同點來說,一面重視基礎且比較容易過,二面的廣度,深度和難度會加大,經常會問到專案,并且大概率要求手打代碼(演算法題或功能實作題),
網上有很多公司的面經(面試經驗)可以學習,比如[這個],
七、職業規劃
作為一名前端工程師, 你的核心能力不是前端, 而是工程師, 前端 13年前沒有, 難道 20年以后就能一直有么, 但是工程師已經存在很久了, 上面那些技術都是前端技術, 隨著前端的消失他們也會消失, 但是作為一名工程師, 你的工程管理, 技術方案設計, 架構規劃等等能力才是核心, 是不會隨著某個領域消失而消失的, 這些能力是和整個大的軟體工程體系系結的, 擁有和演算法, 計算機底層原理一樣的生命力, 值得你不斷的去學習和提升, 我相信只干前端, 你難過 35, 但是作為工程師, 你應該擁有更長的職業壽命,
因此當你抱怨公司小, 技術團隊人數少, 氛圍差, 技術堆疊老舊的時候, 天天只堆業務代碼的時候, 你可能正在浪費時間, 而你睡過去的每一次需求評審, 或者糊弄過去的每一次業務迭代都是在浪費你成為更專業的前端工程師的機會
學習平臺
LeetCode、牛客網、GitHub、MDN、掘金、菜鳥教程、B站、阮一峰的個人博客、簡書、CSDN、Bootstrap中文網,
Tips: 聽說掘金這個平臺還是有很多干貨的,其他大佬知道有哪些學習平臺,你們可以在評論留言指點出來,
平時多加點前端交流群,多向他人分享技術與生活也是可以的,也可以結交到很多朋友,感興趣可以加入 博主企鵝群:https://jq.qq.com/?_wv=1027&k=xR1y34a3
關于轉行前端之前的疑慮?
1、前端崗位需求如何?前景如何?薪資如何?(這是對將轉行業的必要考量)
現在互聯網的大環境的發展如日中天,網路已經深入到每個人生活的各個方面,各種專案層出不窮,以及各種定制化的UI風格神馬的,PC端、手機端、mobile端,各種兼容問題真的很浪費時間,大家在不斷的摸索中發現,把html+css+js這部分作業獨立出來一個新的崗位來處理,醬紫后端可以專注于資料介面的開發以及邏輯的處理,然后視覺MM們也可以不用熬夜碼代碼了,
當一個行業發展到一定程度形成產業的時候,它里面的環節一定會細節化的,讓專業的人做更專業的事情,傳統農業、汽車業,不都是如此么,所以,Web前端必然在今后十年有很大的發展,
然而程式員需要不斷的自我驅動,才不會被IT行業所淘汰,
web前端開發工程師的薪資待遇平均工資已經突破一萬,因為其他行業確實工資漲幅不大,所以必然會吸引了大批想要月薪過萬的人來轉行學習,
目前,北京、上海、廣州、深圳等地web前端工程師的薪資待遇更是一飆再飆,Web前端工程師待遇詳見下圖:
2、肯定會有人問培訓班和自學哪個好?
相對于勸自學的,我反而是推薦參加培訓班,因為培訓班能逼著你快速進入狀態,而且有人解答,比較系統,不然你自己摸索浪費太多時間,我就浪費了半年,而且自律這個東西真的是看自己,很多人是中途放棄,其實我也有很多次這種念頭,但是還是忍住了,怕被當做loser,還浪費了那么多時間,另一方面前端要學習的東西很多,可能你學到的只是入門基礎,專業的老師和就業推薦會使你轉行的道路輕松許多,
3、如何高效學習,學到何時才能夠大概率就業?
聽到過很多這樣的說法,前端很簡單,自學1星期就能做網頁,這其實也不錯(只要有公司要你,出問題時,給你足夠的時間去解決,或者有人給你頂著,和你合作的人不嫌棄你的代碼質量就行)本著對自己和公司負責的態度來說,你至少靜態頁面要做的很6,像我上面提到的,做一個靜態頁面基本不會出現布局問題,也不用百度就合格了,具體時間看個人,
我是用了8個月,主要當時很迷茫,完全和別的文章推薦的模式一樣,面試要求這個了,我就去學這個,要求那個了,我就去學那個,當時我也以為自己css很牛逼了呢,
4、非科班會不會沒發展?年齡大會不會被淘汰?
能力大于專業!前端開發是一份技術類作業,比起科班和非科班的背景,企業更看重的是程式員的開發水平,和解決問題的能力,
其實對于能不能轉行到前端開發,年齡并不是絕對因素,從高等院校畢業出來的畢業生找不到作業的也有大把,所以這不是個年齡問題,也不是"行或不行“的選擇題,而是看你有沒有堅持下去的心,
結尾
這篇文章是寫給和我一樣想轉行的人看的,也許很多人比我們優秀,也有很多人沒我們優秀,別信夸贊,別怕批評,前端路上You are not alone!
也以此文勉勵自己,總結過去,走向未來!
好了,我接著敲代碼了!…

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286564.html
標籤:其他
下一篇:極品webpack,打包方法,


