有兄弟想了解一下前端相關的學習之類的,給兄弟分享一下~
# 行業瞭解
在學習有一個行業相關知識之前首先需要了解一個行業,需要知道以下的幾件事情:
1. 這個行業是做什麼的
2. 這個行業的公司需要什麼樣的人
3. 需要什麼樣的技術能夠開始這個行業
## 做什麼
目前指的前端開發通常都表示 web 前端開發,即表示開發 web 頁面等相關內容,通俗點說就是做網頁相關的內容,但是目前隨著技術的發展,也包含了大前端的相關內容(移動 app、桌面應用、小程序等),不過整體基礎的技術體系都是一脈相承的。
## 公司需要什麼
從技術角度出發:由於前端技術也是在不斷的迭代更新,所以從找工作的角度出發公司需要什麼也很重要,這一點可以根據招聘軟件來看,最好的方式就是打開各種招聘軟件直接搜索 **前端開發** 然後查看各個崗位中所需要的技能要求,這些要求也能成為我們技術學習中的重要參考指標。
從實際角度出發:公司招聘的唯一目的就是開發出符合訴求的產品,也就是它們期望的網頁。
## 需要什麼樣的技術
當我們知道了行業是做什麼的,公司需要什麼樣的人之後,我們就可以學習相關的技術。
雖然技術在不斷的推陳出新,但是最基本的技術一定不會變,也就是前端三件套:
- HTML
- CSS
- JS
以及目前主流的開發框架:
- Vue
- React
這裡陳列的技術都是主要的技術,往往伴隨著一些其他比較細的方面,在各自的學習過程中也都會接觸到。
不管需要學習什麼樣的技術,**最終的目標永遠只有一個,也就是可以獨立做出一個前端頁面**,並且不管什麼樣的頁面都能完成。
簡單點講我們平常網上衝浪見到的那些頁面自己能夠做出來就 ok 了。
# 學習路徑
由於前端是軟件開發中比較熱門的一個方向,所以網絡上相關的課程也都非常的多,有很多收費的和免費的,但是免費的就夠了,很多免費的課程講的都已經很詳細了,收費的更多隻是多了一些答疑能力。
## 視頻學習
比較推薦 B 站 學習,裡面關於前端學習的資源非常的豐富,直接搜索對應內容學習即可,搜索關鍵次還是上面提到的 5 部分:
- HTML -> CSS -> JS 這三部分有些課程也是放在一起的
- Vue -> React 這兩部分可以一起學,也可以先學 Vue,簡單點
這裡推薦根據關鍵詞來進行搜索,然後都點開看一看,找一個自己覺得講的容易理解的老師跟著學習。
由於視頻中都會有具體的案例,跟著案例做和理解即可。
## 答疑
自學過程中最難的一點並不是跟著視頻動手學和理解,而且脫離了視頻之後的疑惑以及遇到問題的解答。
對於編程來說,遇到各種各樣千奇百怪的問題都是見怪不怪,尤其是在新手時期更容易遇到解決不了的問題,那這個時候就容易出現解決無門的情況,從而導致學不下去,或者需要花費大量的時間去搜索尋找答案,效率特別低,很容易棄坑。
比較推薦幾種方式來為自己解決問題:
- 問 AI(比較推薦免費的千問),效率最高的一種方式,對於簡單和基礎的問題 AI 的回答準確率會特別高,並且解答會特別詳細,極度推薦。
- 百度,AI 嘗試了結果不對再考慮
- 思否,程序員社區,各個老哥的解答肯定靠譜,但是就是效率第一點
# 成果驗收
那學習到什麼程度才算可以了呢,程序員的經驗很重要,所以學到一定程度就最好開始找工作,在工作中成長,那大概什麼樣的程度就可以開始找工作了呢?
一種比較好的方式是可以找個感興趣的網站,把它一比一復刻一下,能夠用主流的技術棧復刻出來就算可以了。
剩下的很多細枝末節可以在工作中學習,特別是很多的真實案例成長的更快。
# 找工作
感覺自己學的差不多了就可以開始考慮找工作了,對於初學者來說經驗會大於一切,能夠積攢下經驗和在工作中學習瞭解到更多的技術會很重要,所以一開始可以先不太注重工資(太低太坑的還是不能去),找個小公司(門檻第一點),先待著學著積攢經驗,可以當作自己的新手村。
等感覺自己在這家公司學習不到東西的時候就可以開始跳槽了,這個時候根據自己的能力就可以開始找一些自己覺得滿意的公司了,開始真正的生涯。
## 準備簡歷
面試能順利通過的第一步首先是簡歷能夠脫穎而出,可以被送到面試官處,也就是得到面試的機會,所以簡歷怎麼樣能夠更大概率的被挑選中就需要一些考量了,除去很多的硬性指標(學歷、工作經驗等),簡歷中一定要有亮點,讓面試官在看到簡歷的時候更有耳目一新的感覺,目前市面上流通的簡歷這麼多,面試的人這麼多,所以簡歷上最好放上一些區別與其他人的內容,只有這種內容才會幫助這份簡歷區別於其他簡歷更容易被選中,所以一份簡歷需要的內容應該包括:
### 項目經歷
對於入門來說,如果沒有真實的項目經歷最好也包裝一份出來,只要不是太離譜就好,起碼自己要為自己背書,不露出破綻就可以。
### 個人總結
像這個就是自己發揮,不過有個小建議,就是可以寫自己在持續關注學習前沿技術,然後自己準備一下,面試官大概率會問,然後問到了就把提前準備好的說一下,說的好就很加分,因為很多前沿技術面試官都不一定知道,自己準備一下然後說出來很有效果,很體現學習能力
### 專業技能
這個做好也多做一些準備學習一些,寫一些比較有亮點的,除了什麼常見的 React、Vue、JS、HTML 這些太普通了,可以寫一些其他方向的比如後端方面的 node 相關的,koa 、express 什麼的,或者前端方面的 webassembly 、web-components ,大前端方面的 electron、flutter、react-native 之類的,寫一點大概率會問到,問到了回答出來非常加分,說明學習面很廣,可以臨時抱佛腳簡單學一學,因為這種不是主要面試的方向,不會問太深。(如果來不及學一點的話不寫也可以)
簡歷方面我看來主要就是有亮點,區別於大眾簡歷就好了,越多的亮點就越容易在普通的簡歷裡面被跳出來,所以要做的也是突出亮點。
## 筆試
筆試(如果有的話)主要就是刷題,推薦牛客網,刷一刷基本上就沒什麼問題了 https://www.nowcoder.com/ 大部分公司的題目也都是從網上找的或者類似的,力扣最好也刷一刷,只要不是特別大的公司可能算法題考察的不多,不過經典的一些算法題最好還是得熟練,比如 排序算法,基本的鏈表算法這種(都屬於可能用不到,但是喜歡問)
## 面試
面試的時候一般主要就是三部分:問簡歷上的內容、問技術相關的問題、問其他方面的內容。
簡歷上的寫了的內容最好能夠做到無懈可擊,只要寫了的東西就一定要能夠很自信清楚的回答出來,做到完全的無懈可擊,因為大家的簡歷都有水分,所以面試官可能會通過詳細的問簡歷上的內容來判斷水分,如果簡歷上的內容回答起來都很多破綻的話印象分一下就下去了。
技術方面的內容的話小公司基本上都是網上搜索,所以把網上常見的面試題都弄會基本上也都沒什麼問題。最好也把牛客網裡面的面試題都刷一刷。
## 溝通方面
溝通方面也很重要,這個也是很多面試官重點考察的一方面,因為是需要一起共事的,能有效愉快的溝通就很加分。
面試的時候溝通最好順暢、流利和清晰,也自信一些,不過要是真的有不會的就也保持謙虛,最好全程能夠保持一種輕鬆愉快的交流過程,就像聊天一樣,這種氛圍保持的好,面試候選人條件差不多甚至差一點也都會優先考慮溝通效果好的人。