前端常見面試題目

前端基礎知識:
1、css的盒模型(老生常談),BFC的理解,選擇器,層級上下文,三欄布局多種實現(xiàn)(position,flex,float等),自適應布局rem原理(如何兼容不同手機dpi),font-size10px如何實現(xiàn)、移動端一像素、媒體查詢等等比較基礎的問題,都是知識點。
2、html方面基本問很少,這個重要程度沒什么, 也就是一些標簽語義化理解,和h5新特性,storage/cookie
3、js這個是重點,會從基礎去考察。從瀏覽器返回html到渲染出頁面,再到中間涉及到的優(yōu)化點。
面試題分享
HTML
1、瀏覽器頁面有哪三層構成,分別是什么,作用是什么?
2、HTML5的優(yōu)點與缺點?
3、Doctype作用? 嚴格模式與混雜模式如何區(qū)分?它們有何意義?
4、HTML5有哪些新特性、移除了哪些元素?
5、你做的網(wǎng)頁在哪些瀏覽器測試過,這些瀏覽器的內(nèi)核分別是什么?
6、每個HTML文件里開頭都有個很重要的東西,Doctype,知道這是干什么的嗎?
7、說說你對HTML5認識?(是什么,為什么)
8、對WEB標準以及W3C的理解與認識?
CSS
1、解釋一下CSS的盒子模型?
2、請你說說CSS選擇器的類型有哪些,并舉幾個例子說明其用法?
3、請你說說CSS有什么特殊性?(優(yōu)先級、計算特殊值)
4、常見瀏覽器兼容性問題與解決方案?
5、列出display的值并說明他們的作用?
6、如何居中div, 如何居中一個浮動元素?
7、請列舉幾種清除浮動的方法(至少兩種)?
8、block,inline和inlinke-block細節(jié)對比?
9、什么叫優(yōu)雅降級和漸進增強?
10、說說浮動元素會引起的問題和你的解決辦法
11、你有哪些性能優(yōu)化的方法?
JavaScript
1、js的各種位置,比如clientHeight,scrollHeight,offsetHeight ,以及scrollTop, offsetTop,clientTop的區(qū)別?
2、js拖拽功能的實現(xiàn)
3、異步加載js的方法
4、js的防抖與節(jié)流
5、說一下閉包
6、說說你對作用域鏈的理解
7、JavaScript原型,原型鏈 ? 有什么特點?
8、請解釋什么是事件委托/事件代理
9、Javascript如何實現(xiàn)繼承?
10、函數(shù)執(zhí)行改變this
11、babel編譯原理
12、函數(shù)柯里化
13、說一下類的創(chuàng)建和繼承
14、說說前端中的事件流
15、如何讓事件先冒泡后捕獲
16、說一下圖片的懶加載和預加載
17、js的new操作符做了哪些事情
18、改變函數(shù)內(nèi)部this指針的指向函數(shù)(bind,apply,call的區(qū)別)
19、Ajax解決瀏覽器緩存問題
Vue
1、Vue中 key 值的作用
2、Vue 組件中 data 為什么必須是函數(shù)?
3、vuex的State特性是?
4、介紹一下Vue的響應式系統(tǒng)
5、computed與watch的區(qū)別
6、介紹一下Vue的生命周期
7、為什么組件的data必須是一個函數(shù)
8、組件之間是怎么通信的
9、Vue.cli中怎樣使用自定義的組件?有遇到過哪些問題嗎?
10、Vue如何實現(xiàn)按需加載配合webpack設置
11、簡單描述每個周期具體適合哪些場景
12、scss是什么?在Vue.cli中的安裝使用步驟是?有哪幾大特性?
13、聊聊你對Vue.js的template編譯的理解?
14、Vue 路由跳轉的幾種方式
15、Vue如何實現(xiàn)按需加載配合webpack設置?
16、Vue的路由實現(xiàn):hash模式和history模式
17、Vue與Angular以及React的區(qū)別?
18、Vue路由的鉤子函數(shù)
19、什么是Vue的計算屬性?
React
1、介紹一下react
2、React單項數(shù)據(jù)流
3、react生命周期函數(shù)和react組件的生命周期
4、react和Vue的原理,區(qū)別,亮點,作用
5、reactJs的組件交流
6、有了解過react的虛擬DOM嗎,虛擬DOM是怎么對比的呢
7、項目里用到了react,為什么要選擇react,react有哪些好處
8、怎么獲取真正的dom
9、選擇react的原因
10、react的生命周期函數(shù)
11、setState之后的流程
12、react高階組件知道嗎?
13、React的jsx,函數(shù)式編程
14、react的組件是通過什么去判斷是否刷新的
15、如何配置React-Router
16、路由的動態(tài)加載模塊
17、Redux中間件是什么東西,接受幾個參數(shù)
18、redux請求中間件如何處理并發(fā)
瀏覽器
1、跨標簽頁通訊
2、瀏覽器架構
3、瀏覽器下事件循環(huán)(Event Loop)
4、從輸入 url 到展示的過程
5、重繪與回流
6、存儲
7、Web Worker
8、V8垃圾回收機制
9、內(nèi)存泄露
10、reflow(回流)和repaint(重繪)優(yōu)化
11、如何減少重繪和回流?
12、一個頁面從輸入 URL 到頁面加載顯示完成,這個過程中都發(fā)生了什么?
13、localStorage 與 sessionStorage 與cookie的區(qū)別總結
服務端與網(wǎng)絡
1、HTTPS和HTTP的區(qū)別
2、HTTP版本
3、從輸入URL到頁面呈現(xiàn)發(fā)生了什么?
4、HTTP緩存
5、緩存位置
6、強緩存
7、協(xié)商緩存
8、緩存的資源在那里
9、用戶行為對瀏覽器緩存的影響
10、緩存的優(yōu)點
11、不同刷新的請求執(zhí)行過程
算法與數(shù)據(jù)結構
1、二叉樹層序遍歷
2、B樹的特性,B樹和B+樹的區(qū)別
3、尾遞歸
4、如何寫一個大數(shù)階乘?遞歸的方法會出現(xiàn)什么問題?
5、把多維數(shù)組變成一維數(shù)組的方法
6、說一下冒泡快排的原理
7、Heap排序方法的原理?復雜度?
8、幾種常見的排序算法,手寫
9、數(shù)組的去重,盡可能寫出多個方法
10、如果有一個大的數(shù)組,都是整型,怎么找出最大的前10個數(shù)
