1. 程式人生 > >【免費贈書】前端程式設計師修煉之路:積土而為山,積水而為海

【免費贈書】前端程式設計師修煉之路:積土而為山,積水而為海

  首先插播一條好訊息,新書《》已於9月在各大平臺上架,現免費送出4本(看到大家熱情這麼高漲,幸運人數已提升至4人),具體參與規則如下所列:

(1)在文章後面的評論中寫出想要獲取此書的理由,隨便什麼都可以,不限制字數,並且一個使用者的多次評論只算作一次。

(2)活動截止日期為北京時間 2018 年 10 月 18 日 23:59:59,以評論時間為準。

(3)在活動結束後隨機抽取 4 名幸運網友。

(4)獲贈名單將在文章中公佈,並會@每位幸運網友。

(5)幸運網友私信給我收件地址、姓名和手機號。

(6)全國包郵(不含新疆、西藏、港澳臺)。

(7)保留最終解釋權。

恭喜四位幸運網友,他們是失落的野火、烈焰重生、Angel_Kitty和蜀北喬少恭 。

  下面迴歸正題,來談談前端的方方面面。

一、前端的市場和待遇

  當前市場對於前端工程師的需求可用四個字總結:求賢若渴。而優秀的前端工程師卻非常稀缺,這主要由於以下原因造成的:

(1)因為前端技術棧深,所以需要工程師對各種知識能夠融會貫通,這需要花費很多精力和時間。

(2)近年來隨著智慧機普及,帶動了移動網際網路的高速發展,一定程度上導致網頁需求量巨大。

(3)現在的Web越來越龐大複雜,移動APP的Web開發優勢也越來越明顯,需要更多的工程師參與研發。

(4)前端入門不難,導致目前市面上充斥著初級工程師,有的甚至初級都算不上,更加凸顯了優秀工程師的稀缺。

(5)全日制學校不會系統的教前端,目前學前端只能是自學或參加培訓機構。

  由於缺口巨大,前端待遇也是水漲船高。目前,北京、上海、深圳和廣州等地的前端薪資一路上升。但要取得高薪,還是需要從自身出發,提升技能深度,完善知識面,打好計算機基礎。

二、前端的未來和自身發展

  在未來,HTML5、CSS3和ES6標準趨於穩定;各種高效工具會不斷地出現,解決特定場景下的問題;瀏覽器平臺會持續開發新特性;HTTP1.1將會過渡到HTTP2.0;越來越多的APP會用前端開發方案,Hybird模式或React Native;網頁的動畫效能將會得到更好的優化。種種跡象表明,前端工程師將會發揮越來越重要的作用。

  前端與後端有一個很大的不同,就是每年都會出現各種新技術、新思想。前端工程師需要不斷的學習才能跟上時代的潮流,首先要打牢JavaScript、CSS、HTML、網路、正則和設計結構的基礎,學會溝通、協作和輔助工具(Fiddler等)。然後在掌握基本編碼後,引入設計模式、程式設計思想,重構程式碼,使得程式碼更合理、易於維護,而且還要會一門後端語言。接下來就要完善自身的軟技能了,如下所列:

(1)發現問題,多種解決方案,總結問題,分享問題。

(2)深入研究效能分析,提升使用者體驗,理解產品,提出自己的專業建議。

(3)站在更高層面,架構整個專案,使得可擴充套件、易用、穩健、安全。

(4)窮則獨善其身,達則兼濟天下。分享心得體會技能,佈道授業解惑。

三、企業的要求

  前面的修煉其實就是為了能加入心怡的團隊,而瞭解企業招聘要求變得尤為重要,通常對前端工程師會有如下要求:

(1)易於溝通,有責任心和團隊協作精神,具備獨立解決問題的能力。

(2)精通JavaScript(ES5、ES6)、HTML/HTML5、CSS/CSS3、瀏覽器相容、頁面重構等技術。

(3)對JavaScript開源庫(JQuery、Zepto等)有一定的經驗。

(4)熟悉網路原理、資料結構、基礎演算法、設計模式。

(5)熟練使用各種前端工具,Chrome Dev、Fiddler等,能搭建前端自動化構建工具(Gulp等)。

(6)能承受一定工作壓力,對前端技術有持續的熱情,學習能力強,思維清晰,邏輯嚴密。

(7)對前端效能優化、使用者體驗、流程互動有深入理解,良好的編碼規範和程式碼組織能力。

(8)理解MVC或MVVM等開發模式,以及其原理。

(9)參與開源專案,並貢獻過程式碼,瞭解一門後端語言(PHP、Java等)。

(10)瞭解網路安全,能夠有效防範XSS、CSRF等常規攻擊。

(11)使用過新技術(VUE、React等)。

(12)從事過或瞭解當前公司涉及的行業。

四、面試的準備

  要成為一名炙手可熱的前端工程師需要經歷一段漫長的沉澱過程,而企業面試僅僅是幾個小時。為了能在這短短的幾小時中脫穎而出,就需要有針對性的準備,此處分享面試中高頻出現的四個方面的知識點。注意,都是簡單易懂的基礎知識點。

1)HTML

2)CSS

3)網路

4)JavaScript

  這四張思維導圖猶如樹的枝幹,只是簡單的勾勒出了各個高頻知識點,如果要了解這些知識點的具體內容,可以參考《》,此書就是圍繞這四張思維導圖中的知識點展開的。

  當然,要想走的更遠,還需具備其它各類知識,例如資料結構、演算法、數學、計算機組成原理、設計模式、前端框架(React、VUE等)、前端工程化(Gulp、Webpack等)、效能優化、正則和安全等。