前端已經是一門開始走向強勢的it行業,越來越多的專業術語齊平其它後端語言。
如果想要面試高級前端,那麼需要很高的專業能力,一些技術術語就不可能不熟悉了。
一、前端工程化
1、前端工程化的概念:是根據軟件工程,將前端統一標準化;將前端開發的規範、流程、技術、工具、經驗等形成規範並建立成一種標準的體系。
2、前端工程化的特點:前端工程化有四個特點:模塊化、組件化、自動化、規範化。
1)模塊化
模塊化是最近前端比較火熱的技術,最要就是將代碼分開打理,避免過分的耦合。
可以選擇的模塊化的方案還是特別多的,AMD/CommonJS/UMD/ES6 Module等等。每一個模塊化的代表方案都有成熟策略,大家可以自行研究探討哦。
2) 組件化
組件化就是將代碼寫成更好維護的一個個組件,然後通過一定的方式引入項目中,從而達到分離合並的效應。
3、前端工程化的原因:促使前後端分工細緻,將前後端的側重點得到保證,讓前端項目實現自我管理、在UI設計上得到好的用戶體驗上代碼得到模塊化管理,項目得到更快捷、更高效的發展。
3) 自動化
自動化的意思也是可以從字面理解的,比如說vue腳手架的使用,大大增加了項目構建和運作的便利性,讓程序員更大程度的關注項目的業務而不是影響它的底層問題或者代碼壓縮打包等問題。
任何簡單機械的重複勞動都應該讓機器去完成。
- 圖標合併
- 持續集成
- 自動化構建
- 自動化部署
- 自動化測試
這是軟件開發給我們的經驗。
4) 規範化
規範化就是項目工程化中一個重要點,如果僅僅是貪圖一時開發的速度,而缺少了一些約定成俗或者註釋,那麼後期維護成本將會大大提升,從而最終影響項目整體的開發質量。開發規範包括但是不限於:
- 目錄結構的制定
- 代碼readme需要有一定的註釋
- 編碼規範(語言的特性要了解清楚,語法、兼容hack、註釋、換行、業務提示等都需要有一定的解釋)
- 前後端接口規範(接口文檔需要寫得明白清楚)
- 文檔規範
- 組件管理
- Git(svn)分支管理
- Commit描述規範(每次提交代碼的時候都必須要認真寫好爲何提交代碼,是新功能還是修改了某些bug)
- 定期CodeReview
- 視覺圖標規範
- UI的線條和基礎顏色或者風格保證統一
- 等等
4、前端工程化的工具
前端工程化的工具,非常多,但是經常使用的也就是幾個而已,都是對項目進行一定的自動化處理,以求減少開發者的開發時間,省去不必要的重複勞動,比如說進行代碼的壓縮、預編譯的css代碼、圖片的base64處理或者生成雪碧圖等等。
由於webpack是vue等前端框架所鍾愛,所以,它的使用變得尤爲頻繁且重要,這也是很多公司招聘的時候都會標準要熟悉webpack的原因。
二、庫類
這個方面,有一年工作經驗以上的前端工程師都應該不會陌生的啦。
比如14年以前我們很喜歡的框架類庫jquery、backbone.js、bootstrap等等(像vue、react、angular之類改變了整個項目的構建和編譯的我才認爲是框架,其它的類框架也稱爲庫吧)。
還有
Particles.js— 一個用來在 web 中創建炫酷的浮動粒子的庫
Three.js — 一個用來在 web 中創建 3d 物體和 3d 空間的庫
Fullpage.js— 快速實現全屏滾動特性
Chart.js — 使用 JavaScript 創建漂亮的圖表
Animstion — CSS 實現動畫過渡的 jQuery 插件
Velocity.js — 快速流暢的 JavaScript 動畫
等等一些js庫,選擇庫的時候,一定要考慮好它的大小、以及項目重複利用的效益。
三、熟悉各種web標準
這個基本上都是web規定的一些規則了,改動的頻率不會太大,只要保證能夠將舊的規範瞭解清楚。
Web標準是由一系列標準組合而成。一個網頁主要由三部分組成:結構層、表現層和行爲層。對應的標準也分三方面:
- 結構化標準語言主要包括XHTML和HTML以及XML,
- 表現層標準語言主要包括CSS,
- 行爲標準主要包括對象模型,DOM、ECMAScript等。
要問的內容其實真實不多,也就是一些基礎的html或者css類的比較多罷了。
四、熟悉HTTP協議,瞭解TCP/IP
這些內容網上是很多答案的。但是,面試官一般都是想要了解你對web相關的一些基礎知識的瞭解和理解,如果你理解得比較徹底,那麼自然能夠在這一塊回答得比較自信,加分項。比如說,比較經典的題目: url輸入到搜索引擎按回車鍵,到底發生了什麼?
以上,都是高級前端去面試的時候需要了解的基礎知識點,很多公司都會將它們寫入到招聘的要求中的。面試的時候一定要注意理解面試官的題目,然後結合自身的知識儲備和經驗,回答一定可以驚豔面試官的。