2018年最新經典web前端面試題彙總。如果你一些基本問題答對了,那麼我可以肯定的是 你面試任何公司的前端技術輪,都是沒問題的。不是我吹,是真的 基礎很重要。今天這套面試題也很特別,都是一些問題,沒為大家準備答案,這樣做的目的就是希望培養大家獨立自學的能力,不要總是依靠別人的答案,這些問題網上也是能查到答案的,隨著看問題隨著找答案能在一定程度上鞏固所學知識。
2018年最新經典web前端面試題 「 CSS篇 」
-
CSS 盒子模型,絕對定位和相對定位
-
清除浮動,什麼時候需要清除浮動,清除浮動都有哪些方法
-
如何保持浮層水平垂直居中
-
position 和 display 的取值和各自的意思和用法
-
樣式的層級關係,選擇器優先順序,樣式衝突,以及抽離樣式模組怎麼寫,說出思路,有無實踐經驗
-
css3動畫效果屬性,canvas、svg的區別,CSS3中新增偽類舉例
-
px和em和rem的區別,CSS中link 和@import的區別是?
-
瞭解過flex嗎?
「 JavaScript 篇 」
JavaScript 基礎
-
JavaScript 裡有哪些資料型別,解釋清楚 null 和 undefined,解釋清楚原始資料型別和引用資料型別。比如講一下 1 和 Number(1)的區別
-
將一下 prototype 是什麼東西,原型鏈的理解,什麼時候用 prototype
-
函式裡的this什麼含義,什麼情況下,怎麼用。
-
apply和 call 什麼含義,什麼區別?什麼時候用。(我有篇文章 重點分析過)
-
陣列和物件有哪些原生方法,列舉一下,分別是什麼含義,比如連線兩個陣列用哪個方法,刪除陣列的指定項和重新組裝陣列(運算元據的重點)。
-
怎樣避免全域性變數汙染?ES5嚴格模式的作用,ES6箭頭函式和ES5普通函式一樣嗎?
JavaScript 的物件導向
-
JS 模組包裝格式都用過哪些,CommonJS、AMD、CMD。定義一個JS 模組程式碼,最精簡的格式是怎樣。
-
JS 怎麼實現一個類。怎麼例項化這個類。
-
理解閉包嗎?請講一講閉包在實際開發中的作用;閉包建議頻繁使用嗎?
-
說一下了解的js 設計模式,解釋一下單例、工廠、觀察者。
-
ajax 跨域有哪些方法,jsonp 的原理是什麼,如果頁面編碼和被請求的資源編碼不一致如何處理?
「 開源工具 」
1)是否瞭解開源的架構工具 bower、npm、yeoman、gulp、webpack,有無用過,有無寫過,一個 npm 的包裡的 package.json 具備的必要的欄位都有哪些(名稱、版本號,依賴)
2)github常用不常用,關注過哪些專案
3)會不會用 ps 扣圖,png、jpg、gif 這些圖片格式解釋一下,分別什麼時候用。如何優化影象、影象格式的區別
4)說一下你常用的命令列工具
5)會不會用git,說上來幾個命令,說一下git和svn的區別,有沒有用git解決過沖突
「 計算機網路基礎 」
1)說一下HTTP 協議頭欄位說上來幾個,是否儘可能詳細的掌握HTTP協議。一次完整的HTTP事務是怎樣的一個過程?
2)cookies 是幹嘛的,伺服器和瀏覽器之間的 cookies 是怎麼傳的,httponly 的 cookies 和可讀寫的 cookie 有什麼區別,有無長度限制
請描述一下cookies,sessionStorage和localStorage的區別
3)從敲入 URL 到渲染完成的整個過程,包括 DOM 構建的過程,說的約詳細越好。
4)是否瞭解Web注入攻擊,說下原理,最常見的兩種攻擊(XSS 和 CSRF)瞭解到什麼程度。
5)是否瞭解公鑰加密和私鑰加密。如何確保表單提交裡的密碼欄位不被洩露。驗證碼是幹嘛的,是為了解決什麼安全問題。
6)編碼常識:檔案編碼、URL 編碼、Unicode編碼 什麼含義。一個gbk編碼的頁面如何正確引
「 前端框架 」
-
對 MVC、MVVM的理解
-
vue、angularjs等 相對於 jQuery在開發上有什麼優點?
3)前後分離的思想了解嗎?
4)你上一個專案都用到了那些方法優化js的效能?
5)angular的生命週期?
6)說一下你對vue和vuex的使用方法,vue的元件複用機制
考察學習能力和方法
1)你每天必須登入的網站(前端技術相關)是什麼?
2)前端技術方面看過哪些書,有無筆記,都有哪些收穫。
3)收藏了哪些程式碼片段?有想過開源自己的程式碼嘛?
4)怎麼理解前端技術的大趨勢?自己再做哪方面的知識儲備?
5)是否瞭解或精通其他(後端)的程式語言?
6)做專案有沒有遇到哪些印象深刻的技術攻關,具體遇到什麼問題,怎麼找答案的,最後怎麼解的。
7)對以後自己的前端職業路線,怎麼規劃?
開放性問題(重要)
這些問題往往決定你是否最終被錄用或者等到終輪面試,技術點回答錯了不要緊,人腦不是機器,是可以惡補的。
但如果你沒有思想和獨到的思路,基礎挖的再深,可能也打動不了面試官,因為比你基礎好的一大堆,但每個人的個性思想卻是不同的。
- 如果需要你加班,你會加嗎,牴觸嗎?
其實你肯定牴觸,但你肯定要回答如果專案需要肯定會加。
- 一個小專案讓你自己負責搭建底層一些架構,你能勝任嗎?
回答例如:我肯定願意嘗試,並做到最優的選擇方案出來。
- 如果專案拖太久,你情緒低落或者厭煩了怎麼調節?
回答就是, 你結合自身挑著好聽的說就行,就像聊天。
- 你建議自己造輪子,還是利用開源的輪子?
回答:根據實際情況而定,如果開源完全滿足 可以自己二次開發就好,大大縮短開發週期,
如果實在沒有契合度很高的,可以花費幾個工作日嘗試造輪。 更多資料領取歡迎加QQ群:786276452