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