如今面試文章已不少,更不以爲新鮮,本文可能有點不一樣,正由於「多」也就纔有了本文的輸出。css
相信不少前端小夥伴也包括我在內,面試前都要作一些準備,而作作面試題是最日常不過的事兒了,然而每次面試前都要現找面試題,並且答案也不是現成的,其實這樣重複的事情在不知不覺中浪費你不少時間。html
也就由於發現了這個問題,纔有了把面試題進行整理的想法,但願能對一些人有所幫助,節省一點時間吧。前端
這1個多月來一直在整理前端領域相關的面試題,閱讀查看了將近100多篇的面試文章,文章大多來自技術社區,如掘金、思否等,因爲不少文章的題目重複性較大,因此整理起來比較費事。vue
到目前爲止已經收集了將近500道,包含問答題、代碼題、高頻基礎、大廠題目等。node
下面是部分問題:react
第1題 談談變量提高?
第2題 說說bind、call、apply的 區別?
第3題 如何實現一個 bind 函數?
第4題 請實現一個 call 函數
第5題 如何實現一個 apply 函數?
第6題 簡單說下原型鏈?
第7題 怎麼判斷對象類型?
第8題 說說箭頭函數的特色
第9題 如何肯定This指向
第10題 async、await 的優缺點
第11題 generator 原理
第12題 對Promise的理解
第13題 == 和 ===區別,什麼狀況用 ==
第14題 垃圾回收 新生代算法,老生代算法
第15題 說說你對閉包的理解
第16題 基本數據類型和引⽤類型在存儲上的差異
第17題 瀏覽器 Eventloop 和 Node 中的有什麼區別
第18題 怎樣理解setTimeout 執行偏差
第19題 說說函數節流和防抖
第20題 數組降維
第21題 請實現一個深拷貝
第22題 typeof 於 instanceof 區別
第23題 cookie和localSrorage、session、indexDB 的區別
第24題 怎麼判斷頁面是否加載完成?
第25題 說說 jsonp 原理
第26題 說說你對Service worker的理解
第27題 說說瀏覽器緩存機制
第28題 怎樣選擇合適的緩存策略
第29題 說說重繪(Repaint)和迴流(Reflow)
第30題 如何優化圖片
第31題 頁面首屏渲染性能優化方案有哪些
第32題 瀏覽器性能問題-使用 Webpack 優化項目
第33題 Babel 原理
第34題 介紹下React 生命週期
第35題 react setState 機制
第36題 Vue的 nextTick 原理
第37題 Vue 生命週期
第38題 Vue 雙向綁定
第39題 v-model原理
第40題 watch 和 computed 的區別和運用的場景
第41題 Vue 的父子通訊
第42題 簡述路由原理
第43題 MVVM-髒數據檢測
第44題 MVVM-數據劫持
第45題 React V16 生命週期函數用法
第46題 Vue 和 React 區別
第47題 介紹下虛擬 DOM,對虛擬 DOM 的理解
第48題 路由鑑權
第49題 TCP 3次握手
第50題 TCP 擁塞控制
第51題 慢開始算法
第52題 擁塞避免算法
第53題 tcp 快速重傳
第54題 TCP New Ren 改進後的快恢復
第55題 HTTPS 握手
第56題 從輸入 URL 到頁面加載全過程
第57題 HTTP 經常使用狀態碼 301 302 304 403
第58題 常見排序-冒泡排序
第59題 常見排序-插入排序
第60題 常見排序-選擇排序
第61題 常見排序-歸併排序
第62題 常見排序-快排
第63題 常見排序-堆排序
第64題 常見排序-系統自帶排序實現
第65題 介紹下設計模式-工廠模式
第66題 介紹下設計模式-單例模式
第67題 介紹下設計模式-適配器模式
第68題 介紹下設計模式-裝飾模式
第69題 介紹下設計模式-代理模式
第70題 介紹下設計模式-發佈-訂閱模式
第71題 Vue 響應式原理
第72題 實現一個new操做符
第73題 實現一個JSON.stringify
第74題 實現一個JSON.parse
第75題 手寫一個繼承
第76題 實現一個JS函數柯里化
第77題 請手寫一個Promise(中高級必考)
第78題 手寫防抖(Debouncing)和節流(Throttling)
第79題 實現一個instanceOf
第80題 實現一個私有變量
第81題 使用setTimeout代替setInterval進行間歇調用
第82題 數組中的forEach和map的區別
第83題 for in和for of的區別
第84題 寫一個發佈訂閱 EventEmitter方法
第85題 let、var、const區別
第86題 typeof和instanceof 區別
第87題 常見的繼承的幾種方法
第88題 常見的瀏覽器內核有哪些?
第89題 瀏覽器的主要組成部分是什麼?
第90題 瀏覽器是如何渲染UI的?
第91題 瀏覽器如何解析css選擇器?
第92題 DOM Tree是如何構建的?
第93題 重繪與重排的區別?
第94題 如何觸發重排和重繪?
第95題 如何避免重繪或者重排?
第96題 前端如何實現即時通信?
第97題 什麼是瀏覽器同源策略?
第98題 怎樣解決跨域問題?
第99題 時間格式化
第100題 說說對html 語義化的理解
第101題 說說經常使用的 meta 標籤
第102題 說說兩種盒模型以及區別
第103題 css reset 和 normalize.css 有什麼區別
第104題 怎樣讓元素水平垂直居中
第105題 說說選擇器的權重計算方式
第106題 清除浮動的方法
第107題 說說你對 BFC 的理解
第108題 import 和 link 區別
第109題 說下 [1, 2, 3].map(parseInt) 結果
第110題 介紹下瀏覽器事件委託
第111題 10w 條記錄的數組,一次性渲染到頁面上,如何處理能夠不凍結UI?
第112題 如何實現一個左右固定,中間自適應的三欄佈局
第113題 如何實現一個自適應的正方形
第114題 如何用css實現一個三角形
第115題 介紹下 positon 屬性
第116題 說說漸進加強和優雅降級
第117題 defer和async區別
第118題 實現sleep函數
第119題 實現 lazyMan
第120題 獲取元素的最終background-color
....git
解析呢?請繼續往下看。github
爲了方便管理和維護這些題目,同時爲前端小夥伴兒提供更好看題體驗,我簡單作了一個題庫網站-大前端面試題庫,宗旨是充分利用你們的碎片時間,在上下班,地鐵公交上刷刷題,日積月累,儘可能避免臨時抱佛腳的局面。web
另外對面試題作了一個簡單的類型劃分,進行分類劃分的重要性不言而喻,碎片化的信息會極大的消耗咱們精力,同時也不利於咱們記憶,人腦天然的更喜歡結構化的,有規則的信息,經過系統的只處理同一種類型的問題來下降大腦的損耗,增強咱們對知識的理解和記憶。面試
分類大概爲js、經典高頻、編程題、大廠題、html、css、佈局、瀏覽器、性能、前端框架、react、vue、web 安全、數據結構和算法、http、tcp、node、設計模式等。
這個網站是用的我本身的 react ssr 開發骨架作的,目前支持 pc 和移動端瀏覽。
看下頁面效果
因爲我的精力有限,一時沒法寫完全部的問題解析。目前仍在繼續完善中,這個過程也是對本身一種提高和沉澱,我以爲這個價值很大。
不過爲了方便你們校對答案,大部分問題的解析我單獨作了連接跳轉,指向了原文,可直接跳轉到來源文章查看解析。
這個題庫的價值不僅是用來刷題,他的價值在於問題自己,問題自己比答案更重要。
經過問題來驗證本身的知識技能,覈對本身對知識的掌握程度,這徹底能夠當作一種學習方法來執行。
當咱們遇到的問題越多,理解和解決的問題越多,相對的咱們的能力就會越強。
這500+看上去確實挺多的了,覆蓋面也挺廣了,可是前端技術突飛猛進,新技術新思路層出不窮,相關的問題也會不斷的更新迭代,因此這個題庫還要繼續更新,後面繼續把更有針對性的問題收集進來。
以上一些觀點有些屬於本人自嗨,如今迴歸初心,收集題庫並建立題庫站的最終目的是但願幫一些人提高一點效率,節約一點時間,利用碎片時間,上下班地鐵上刷個題,若是還能幫你提高技能,提高搞定面試的概率,那就最好不過了。
爲了方便你們找到入口不迷路,題庫入口綁定到了公衆號的獨立菜單。
個人公衆號是-《前端技術江湖》,主要是我的的原創和一些工做心得的輸出,能夠及時的得到題庫的更新通知,另外還有不少優質文章和前端學習資料,但願你們多多關注。
網站入口 - 大前端面試題庫- http://bigerfe.com/,內有福利哦。
我正在打造一個純技術交流羣,面向初中級前端開發者,以學習、交流、思考、提高能力爲目標,由於一我的學不如你們一塊兒學,有了更多的交流纔會進步的更快。
我理想的模式是,每期讓一我的深刻學習一個技術,而後本身再轉述給你們聽,相似一個分享課堂,這樣能夠成倍的提高學習效率。
或者能夠按照題庫的順序依次進行,每人天天對對一個問題進行思考和總結性的輸出,鍛鍊技術的同時提高表達能力。
在這個羣裏不用擔憂本身的能力不足,不用擔憂問題是否過小白而不敢說,大膽的說出問題, 讓更多的人一塊兒來分析,說錯了也不要緊。
有想加入請的關注公衆號《前端技術江湖》,回覆‘進羣’,我拉你進羣,另外還有各類學習資料和學習視頻
但願本文能夠給你帶了一些幫助和便利,文中若有錯誤,歡迎在評論區指。若是這篇文章幫助到了你,歡迎點贊和關注。