web前端面試題匯總
理論是基礎,有些東西還是要溫故而知新吧,閑余之時還是要“炒炒現飯”。下面小編把“阿里Web前端開發面試題”貼出來,大伙看看吧~~
1. CSS 盒子模型,絕對定位和相對定位
1)清除浮動,什么時候需要清除浮動,清除浮動都有哪些方法
2)如何保持浮層水平垂直居中
3)position 和 display 的取值和各自的意思和用法
4)樣式的層級關系,選擇器優先級,樣式沖突,以及抽離樣式模塊怎么寫,說出思路,有無實踐經驗
2. JavaScript 基礎
1)JavaScript 里有哪些數據類型,解釋清楚 null 和 undefined,解釋清楚原始數據類型和引用數據類型。比如講一下 1 和 Number(1) 的區別
2)將一下 prototype 是什么東西,原型鏈的理解,什么時候用 prototype
3)函數里的this什么含義,什么情況下,怎么用。
4)apply 和 call 什么含義,什么區別?什么時候用。
5)數組和對象有哪些原生方法,列舉一下,分別是什么含義,比如鏈接兩個數組用哪個方法,刪除數組的質定項。
3. JavaScript 的面向對象
1)JS 模塊包裝格式都用過哪些,CommonJS、AMD、CMD、KMD。定義一個js 模塊代碼,最精簡的格式是怎樣。
2)JS 怎么實現一個類。怎么實例化這個類。
3)是否了解自定義事件。jQuery里的fire函數是什么意思,什么時候用。
4)說一下了解的js 設計模式,解釋一下單例、工廠、觀察者。
5)ajax 跨域有哪些方法,jsonp 的原理是什么,如果頁面編碼和被請求的資源編碼不一致如何處理?
4. 開源工具
1)是否了解開源的工具 bower、npm、yeoman、Grunt、gulp,有無用過,有無寫過,一個 npm 的包里的 package.json 具備的必要的字段都有哪些(名稱、版本號,依賴)
2)fiddle、charles 有沒有用過,什么時候用
3)會不會用 ps 扣圖,png、jpg、gif 這些圖片格式解釋一下,分別什么時候用。是否了解webp
4)說一下你常用的命令行工具
5)會不會用git,說上來幾個命令,說一下git和svn的區別,有沒有用git解決過沖突
5. 計算機基礎
1)說一下網絡五層模型(HTTP協議從應用層到底層都基于哪些協議),HTTP 協議頭字段說上來幾個,緩存字段是怎么定義的,http和https的區別,在具體使用的時候有什么不一樣。是否盡可能詳細的掌握HTTP協議。
2)cookies 是干嘛的,服務器和瀏覽器之間的 cookies 是怎么傳的,httponly 的 cookies 和可讀寫的 cookie 有什么區別,有無長度限制
3)從敲入 URL 到渲染完成的整個過程,包括 DOM 構建的過程,說的約詳細越好。
4)是否了解web注入攻擊,說下原理,最常見的兩種攻擊(XSS 和 CSRF)了解到什么程度。
5)是否了解公鑰加密和私鑰加密。如何確保表單提交里的密碼字段不被泄露。驗證碼是干嘛的,是為了解決什么安全問題。
6)編碼常識:文件編碼、URL 編碼、Unicode編碼 什么含義。一個gbk編碼的頁面如何正確引用一個utf8的的資源
6.考察學習能力和方法
1)你每天必須登錄的網站(前端技術相關)是什么?
2)前端技術方面看過哪些書,有無筆記,都有哪些收獲。
3)收藏了哪些代碼片段?
4)怎么理解前端技術的大趨勢?自己再做哪方面的知識儲備?