寫在前面
現(xiàn)在前端面試題文章已很多,更不覺得新鮮壹若,本文可能有點(diǎn)不同嗅钻,正因?yàn)椤岸唷币簿筒庞辛吮疚牡妮敵觥?/p>
相信很多前端小伙伴也包括我在內(nèi),面試前都要做一些準(zhǔn)備店展,而做做面試題是最平常不過(guò)的事兒了养篓,然而每次面試前都要現(xiàn)找面試題,而且答案也不是現(xiàn)成的赂蕴,其實(shí)這樣重復(fù)的事情在不知不覺中浪費(fèi)你很多時(shí)間柳弄。
也就因?yàn)榘l(fā)現(xiàn)了這個(gè)問(wèn)題,才有了把面試題進(jìn)行整理的想法概说,希望能對(duì)一些人有所幫助碧注,節(jié)省一點(diǎn)時(shí)間吧。
題目整理
這1個(gè)多月來(lái)一直在整理前端領(lǐng)域相關(guān)的面試題席怪,閱讀查看了將近100多篇的面試文章应闯,文章大多來(lái)自技術(shù)社區(qū)纤控,如掘金挂捻、思否等,由于很多文章的題目重復(fù)性較大船万,所以整理起來(lái)比較費(fèi)事刻撒。
到目前為止已經(jīng)收集了將近500道骨田,包含問(wèn)答題、代碼題声怔、高頻基礎(chǔ)态贤、大廠題目等。
下面是部分問(wèn)題:
第1題 談?wù)勛兞刻嵘?br>
第2題 說(shuō)說(shuō)bind醋火、call悠汽、apply的 區(qū)別?
第3題 如何實(shí)現(xiàn)一個(gè) bind 函數(shù)芥驳?
第4題 請(qǐng)實(shí)現(xiàn)一個(gè) call 函數(shù)
第5題 如何實(shí)現(xiàn)一個(gè) apply 函數(shù)柿冲?
第6題 簡(jiǎn)單說(shuō)下原型鏈?
第7題 怎么判斷對(duì)象類型兆旬?
第8題 說(shuō)說(shuō)箭頭函數(shù)的特點(diǎn)
第9題 如何確定This指向
第10題 async假抄、await 的優(yōu)缺點(diǎn)
第11題 generator 原理
第12題 對(duì)Promise的理解
第13題 == 和 ===區(qū)別,什么情況用 ==
第14題 垃圾回收 新生代算法丽猬,老生代算法
第15題 說(shuō)說(shuō)你對(duì)閉包的理解
第16題 基本數(shù)據(jù)類型和引?類型在存儲(chǔ)上的差別
第17題 瀏覽器 Eventloop 和 Node 中的有什么區(qū)別
第18題 怎樣理解setTimeout 執(zhí)行誤差
第19題 說(shuō)說(shuō)函數(shù)節(jié)流和防抖
第20題 數(shù)組降維
第21題 請(qǐng)實(shí)現(xiàn)一個(gè)深拷貝
第22題 typeof 于 instanceof 區(qū)別
第23題 cookie和localSrorage宿饱、session、indexDB 的區(qū)別
第24題 怎么判斷頁(yè)面是否加載完成脚祟?
第25題 說(shuō)說(shuō) jsonp 原理
第26題 說(shuō)說(shuō)你對(duì)Service worker的理解
第27題 說(shuō)說(shuō)瀏覽器緩存機(jī)制
第28題 怎樣選擇合適的緩存策略
第29題 說(shuō)說(shuō)重繪(Repaint)和回流(Reflow)
第30題 如何優(yōu)化圖片
第31題 頁(yè)面首屏渲染性能優(yōu)化方案有哪些
第32題 瀏覽器性能問(wèn)題-使用 Webpack 優(yōu)化項(xiàng)目
第33題 Babel 原理
第34題 介紹下React 生命周期
第35題 react setState 機(jī)制
第36題 Vue的 nextTick 原理
第37題 Vue 生命周期
第38題 Vue 雙向綁定
第39題 v-model原理
第40題 watch 和 computed 的區(qū)別和運(yùn)用的場(chǎng)景
第41題 Vue 的父子通信
第42題 簡(jiǎn)述路由原理
第43題 MVVM-臟數(shù)據(jù)檢測(cè)
第44題 MVVM-數(shù)據(jù)劫持
第45題 React V16 生命周期函數(shù)用法
第46題 Vue 和 React 區(qū)別
第47題 介紹下虛擬 DOM谬以,對(duì)虛擬 DOM 的理解
第48題 路由鑒權(quán)
第49題 TCP 3次握手
第50題 TCP 擁塞控制
第51題 慢開始算法
第52題 擁塞避免算法
第53題 tcp 快速重傳
第54題 TCP New Ren 改進(jìn)后的快恢復(fù)
第55題 HTTPS 握手
第56題 從輸入 URL 到頁(yè)面加載全過(guò)程
第57題 HTTP 常用狀態(tài)碼 301 302 304 403
第58題 常見排序-冒泡排序
第59題 常見排序-插入排序
第60題 常見排序-選擇排序
第61題 常見排序-歸并排序
第62題 常見排序-快排
第63題 常見排序-堆排序
第64題 常見排序-系統(tǒng)自帶排序?qū)崿F(xiàn)
第65題 介紹下設(shè)計(jì)模式-工廠模式
第66題 介紹下設(shè)計(jì)模式-單例模式
第67題 介紹下設(shè)計(jì)模式-適配器模式
第68題 介紹下設(shè)計(jì)模式-裝飾模式
第69題 介紹下設(shè)計(jì)模式-代理模式
第70題 介紹下設(shè)計(jì)模式-發(fā)布-訂閱模式
第71題 Vue 響應(yīng)式原理
第72題 實(shí)現(xiàn)一個(gè)new操作符
第73題 實(shí)現(xiàn)一個(gè)JSON.stringify
第74題 實(shí)現(xiàn)一個(gè)JSON.parse
第75題 手寫一個(gè)繼承
第76題 實(shí)現(xiàn)一個(gè)JS函數(shù)柯里化
第77題 請(qǐng)手寫一個(gè)Promise(中高級(jí)必考)
第78題 手寫防抖(Debouncing)和節(jié)流(Throttling)
第79題 實(shí)現(xiàn)一個(gè)instanceOf
第80題 實(shí)現(xiàn)一個(gè)私有變量
第81題 使用setTimeout代替setInterval進(jìn)行間歇調(diào)用
第82題 數(shù)組中的forEach和map的區(qū)別
第83題 for in和for of的區(qū)別
第84題 寫一個(gè)發(fā)布訂閱 EventEmitter方法
第85題 let、var愚铡、const區(qū)別
第86題 typeof和instanceof 區(qū)別
第87題 常見的繼承的幾種方法
第88題 常見的瀏覽器內(nèi)核有哪些?
第89題 瀏覽器的主要組成部分是什么缅茉?
第90題 瀏覽器是如何渲染UI的沟涨?
第91題 瀏覽器如何解析css選擇器?
第92題 DOM Tree是如何構(gòu)建的?
第93題 重繪與重排的區(qū)別某抓?
第94題 如何觸發(fā)重排和重繪?
第95題 如何避免重繪或者重排坑质?
第96題 前端如何實(shí)現(xiàn)即時(shí)通訊患雇?
第97題 什么是瀏覽器同源策略?
第98題 怎樣解決跨域問(wèn)題淮野?
第99題 時(shí)間格式化
第100題 說(shuō)說(shuō)對(duì)html 語(yǔ)義化的理解
第101題 說(shuō)說(shuō)常用的 meta 標(biāo)簽
第102題 說(shuō)說(shuō)兩種盒模型以及區(qū)別
第103題 css reset 和 normalize.css 有什么區(qū)別
第104題 怎樣讓元素水平垂直居中
第105題 說(shuō)說(shuō)選擇器的權(quán)重計(jì)算方式
第106題 清除浮動(dòng)的方法
第107題 說(shuō)說(shuō)你對(duì) BFC 的理解
第108題 import 和 link 區(qū)別
第109題 說(shuō)下 [1, 2, 3].map(parseInt) 結(jié)果
第110題 介紹下瀏覽器事件委托
第111題 10w 條記錄的數(shù)組捧书,一次性渲染到頁(yè)面上,如何處理可以不凍結(jié)UI骤星?
第112題 如何實(shí)現(xiàn)一個(gè)左右固定经瓷,中間自適應(yīng)的三欄布局
第113題 如何實(shí)現(xiàn)一個(gè)自適應(yīng)的正方形
第114題 如何用css實(shí)現(xiàn)一個(gè)三角形
第115題 介紹下 positon 屬性
第116題 說(shuō)說(shuō)漸進(jìn)增強(qiáng)和優(yōu)雅降級(jí)
第117題 defer和async區(qū)別
第118題 實(shí)現(xiàn)sleep函數(shù)
第119題 實(shí)現(xiàn) lazyMan
第120題 獲取元素的最終background-color
....
解析呢?請(qǐng)繼續(xù)往下看洞难。
利用碎片時(shí)間系統(tǒng)刷題
為了方便管理和維護(hù)這些題目舆吮,同時(shí)為前端小伙伴兒提供更好看題體驗(yàn),我簡(jiǎn)單做了一個(gè)題庫(kù)網(wǎng)站-大前端面試題庫(kù),宗旨是充分利用大家的碎片時(shí)間色冀,在上下班潭袱,地鐵公交上刷刷題,日積月累锋恬,盡量避免臨時(shí)抱佛腳的局面屯换。
另外對(duì)面試題做了一個(gè)簡(jiǎn)單的類型劃分,進(jìn)行分類劃分的重要性不言而喻与学,碎片化的信息會(huì)極大的消耗我們精力彤悔,同時(shí)也不利于我們記憶,人腦自然的更喜歡結(jié)構(gòu)化的索守,有規(guī)則的信息蜗巧,通過(guò)系統(tǒng)的只處理同一種類型的問(wèn)題來(lái)降低大腦的損耗,加強(qiáng)我們對(duì)知識(shí)的理解和記憶蕾盯。
分類大概為js幕屹、經(jīng)典高頻、編程題级遭、大廠題望拖、html、css挫鸽、布局说敏、瀏覽器、性能丢郊、前端框架盔沫、react、vue枫匾、web 安全架诞、數(shù)據(jù)結(jié)構(gòu)和算法、http干茉、tcp谴忧、node、設(shè)計(jì)模式等角虫。
這個(gè)網(wǎng)站是用的我自己的 react ssr 開發(fā)骨架做的沾谓,目前支持 pc 和移動(dòng)端瀏覽。
看下頁(yè)面效果
解析/答案
由于個(gè)人精力有限戳鹅,一時(shí)無(wú)法寫完所有的問(wèn)題解析均驶。目前仍在繼續(xù)完善中,這個(gè)過(guò)程也是對(duì)自己一種提升和沉淀枫虏,我覺得這個(gè)價(jià)值很大妇穴。
不過(guò)為了方便大家校對(duì)答案亮垫,大部分問(wèn)題的解析我單獨(dú)做了鏈接跳轉(zhuǎn),指向了原文伟骨,可直接跳轉(zhuǎn)到來(lái)源文章查看解析。
一點(diǎn)心得
這個(gè)題庫(kù)的價(jià)值不只是用來(lái)刷題燃异,他的價(jià)值在于問(wèn)題本身携狭,問(wèn)題本身比答案更重要。
通過(guò)問(wèn)題來(lái)驗(yàn)證自己的知識(shí)技能回俐,核對(duì)自己對(duì)知識(shí)的掌握程度逛腿,這完全可以當(dāng)做一種學(xué)習(xí)方法來(lái)執(zhí)行。
當(dāng)我們遇到的問(wèn)題越多仅颇,理解和解決的問(wèn)題越多单默,相對(duì)的我們的能力就會(huì)越強(qiáng)。
這500+看上去確實(shí)挺多的了忘瓦,覆蓋面也挺廣了搁廓,但是前端技術(shù)日新月異,新技術(shù)新思路層出不窮耕皮,相關(guān)的問(wèn)題也會(huì)不斷的更新迭代境蜕,所以這個(gè)題庫(kù)還要繼續(xù)更新,后面繼續(xù)把更有針對(duì)性的問(wèn)題收集進(jìn)來(lái)凌停。
以上一些觀點(diǎn)有些屬于本人自嗨粱年,現(xiàn)在回歸初心,收集題庫(kù)并創(chuàng)建題庫(kù)站的最終目的是希望幫一些人提升一點(diǎn)效率罚拟,節(jié)約一點(diǎn)時(shí)間台诗,利用碎片時(shí)間,上下班地鐵上刷個(gè)題赐俗,如果還能幫你提升技能拉队,提升搞定面試的幾率,那就最好不過(guò)了阻逮。
題庫(kù)入口1
為了方便大家找到入口不迷路氏仗,題庫(kù)入口綁定到了公眾號(hào)的獨(dú)立菜單。
我的公眾號(hào)是-《前端技術(shù)江湖》夺鲜,主要是個(gè)人的原創(chuàng)和一些工作心得的輸出皆尔,可以及時(shí)的獲得題庫(kù)的更新通知,另外還有很多優(yōu)質(zhì)文章和前端學(xué)習(xí)資料币励,希望大家多多關(guān)注慷蠕。
題庫(kù)入口2
網(wǎng)站入口 - 大前端面試題庫(kù)- http://bigerfe.com/。
http://bigerfe.com 刷題入口
最后一件事
我正在打造一個(gè)純技術(shù)交流群食呻,面向初中級(jí)前端開發(fā)者流炕,以學(xué)習(xí)澎现、交流、思考每辟、提升能力為目標(biāo)剑辫,因?yàn)橐粋€(gè)人學(xué)不如大家一起學(xué),有了更多的交流才會(huì)進(jìn)步的更快渠欺。
我理想的模式是妹蔽,每期讓一個(gè)人深入學(xué)習(xí)一個(gè)技術(shù),然后自己再轉(zhuǎn)述給大家聽挠将,類似一個(gè)分享課堂胳岂,這樣可以成倍的提升學(xué)習(xí)效率。
或者可以按照題庫(kù)的順序依次進(jìn)行舔稀,每人每天對(duì)對(duì)一個(gè)問(wèn)題進(jìn)行思考和總結(jié)性的輸出乳丰,鍛煉技術(shù)的同時(shí)提升表達(dá)能力。
在這個(gè)群里不用擔(dān)心自己的能力不足内贮,不用擔(dān)心問(wèn)題是否太小白而不敢說(shuō)产园,大膽的說(shuō)出問(wèn)題, 讓更多的人一起來(lái)分析夜郁,說(shuō)錯(cuò)了也沒(méi)關(guān)系淆两。
有想加入請(qǐng)的關(guān)注公眾號(hào)《前端技術(shù)江湖》,回復(fù)‘進(jìn)群’拂酣,我拉你進(jìn)群秋冰。
希望本文可以給你帶了一些幫助和便利,文中如有錯(cuò)誤婶熬,歡迎在評(píng)論區(qū)指剑勾。
如果這篇文章幫助到了你,歡迎點(diǎn)贊和關(guān)注赵颅。