版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2025年全方面的前端面試題庫及答案一、HTML/CSS基礎1.請列舉HTML5新增的語義化標簽及其使用場景。答案:HTML5新增的語義化標簽包括`<header>`(頁面或區(qū)域頭部)、`<nav>`(導航鏈接)、`<main>`(頁面主要內(nèi)容)、`<article>`(獨立內(nèi)容塊如文章)、`<section>`(主題性內(nèi)容分組)、`<aside>`(側(cè)邊欄或補充信息)、`<footer>`(頁面或區(qū)域底部)。這些標簽提升了文檔結(jié)構(gòu)的可訪問性和SEO,幫助屏幕閱讀器和搜索引擎理解內(nèi)容層次。2.簡述Flex布局中`justify-content`與`align-items`的區(qū)別,以及`flex:1`的完整寫法。答案:`justify-content`控制主軸方向的對齊方式(如`flex-start`左對齊、`center`居中、`space-between`兩端對齊),`align-items`控制交叉軸方向的對齊(如`stretch`拉伸、`center`居中)。`flex:1`是`flex-grow:1`、`flex-shrink:1`、`flex-basis:0%`的簡寫,表示項目在主軸方向可放大、可縮小,初始長度為0。3.如何解決CSS中高度塌陷問題?BFC的觸發(fā)條件及應用場景有哪些?答案:高度塌陷常見于父元素未設置高度,子元素浮動導致父元素無法撐開。解決方案包括:父元素設置`overflow:hidden`觸發(fā)BFC;使用`clear:both`清除浮動;父元素后添加偽元素`::after{content:'';display:block;clear:both}`。BFC(塊級格式化上下文)的觸發(fā)條件包括`float`不為none、`position`為`absolute`或`fixed`、`display`為`inline-block`/`table-cell`/`flex`等、`overflow`不為visible。應用場景:防止margin重疊、清除浮動、隔離子元素布局。二、JavaScript核心4.簡述ES6中`class`與原型鏈繼承的關(guān)系,`super`關(guān)鍵字的作用。答案:ES6的`class`是原型鏈繼承的語法糖。類的`prototype`屬性會被實例的`__proto__`指向,靜態(tài)方法掛載在類本身(相當于構(gòu)造函數(shù)的屬性)。`super`在構(gòu)造函數(shù)中調(diào)用時,代表父類構(gòu)造函數(shù),用于繼承父類屬性;在方法中調(diào)用時,指向父類的原型對象,可訪問父類方法。例如:```javascriptclassParent{constructor(name){=name;}}classChildextendsParent{constructor(name,age){super(name);//調(diào)用父類構(gòu)造函數(shù)this.age=age;}say(){super.say();}//調(diào)用父類say方法}```5.異步編程中,`async/await`與`Promise`的關(guān)系是什么?如何處理多個并行異步操作?答案:`async/await`是基于`Promise`的語法糖,`async`函數(shù)返回一個Promise,`await`會暫停執(zhí)行直到Promise解決。處理多個并行操作時,應使用`Promise.all()`(全部成功)或`Promise.allSettled()`(所有完成),避免順序執(zhí)行導致性能損耗。例如:```javascriptasyncfunctionfetchData(){const[user,posts]=awaitPromise.all([fetchUser(),fetchPosts()]);return{user,posts};}```6.如何準確判斷變量類型?`typeof`和`instanceof`的局限性是什么?答案:最準確的方式是`Ototype.toString.call(val)`,返回`[objectType]`格式(如`[objectArray]`)。`typeof`對引用類型(除`function`)返回`object`,無法區(qū)分數(shù)組和對象;`instanceof`依賴原型鏈,若跨窗口(如iframe)會因原型鏈不同導致誤判,且無法判斷原始類型(如`123instanceofNumber`為false)。7.解釋閉包的定義、應用場景及可能導致的問題。答案:閉包是函數(shù)在其詞法作用域之外執(zhí)行時,仍能訪問原作用域變量的機制。應用場景包括:封裝私有變量(如模塊模式)、函數(shù)柯里化、事件處理函數(shù)保留狀態(tài)。潛在問題:閉包會阻止作用域變量被垃圾回收,過度使用可能導致內(nèi)存泄漏(如未及時釋放的定時器回調(diào)中引用DOM元素)。三、Vue/React框架8.Vue3響應式系統(tǒng)與Vue2的區(qū)別,`reactive`和`ref`的使用場景。答案:Vue3使用Proxy替代Vue2的Object.defineProperty,優(yōu)勢在于:可監(jiān)聽數(shù)組索引和屬性的添加/刪除(Vue2需`Vue.set`)、支持Map/Set等復雜數(shù)據(jù)類型、對深層對象的代理更高效(默認懶代理)。`reactive`用于對象/數(shù)組的響應式(不能用于原始類型),`ref`用于原始類型(如number/string)或需要單獨引用的對象(模板中訪問自動解包)。9.React中`useEffect`的依賴數(shù)組為空和不寫的區(qū)別,如何避免重復渲染?答案:依賴數(shù)組為空時,`useEffect`僅在組件掛載和卸載時執(zhí)行(類似`componentDidMount`和`componentWillUnmount`);不寫依賴數(shù)組時,每次渲染后都會執(zhí)行。避免重復渲染的方法:使用`React.memo`緩存組件(淺比較props)、`useMemo`緩存計算結(jié)果、`useCallback`緩存函數(shù)引用(配合`React.memo`)、將狀態(tài)提升到父組件或使用狀態(tài)管理庫。10.簡述Vue的`watch`和`computed`的區(qū)別及適用場景。答案:`computed`基于依賴自動緩存結(jié)果,適用于需要根據(jù)已有狀態(tài)計算新值(如購物車總價);依賴不變時直接返回緩存值,性能更優(yōu)。`watch`用于監(jiān)聽特定數(shù)據(jù)變化并執(zhí)行副作用(如異步請求、操作DOM),支持深度監(jiān)聽(`deep:true`)和立即執(zhí)行(`immediate:true`),適用于需要響應數(shù)據(jù)變化的復雜邏輯。四、性能優(yōu)化與工程化11.前端首屏加載優(yōu)化的具體策略有哪些?如何量化優(yōu)化效果?答案:策略包括:-資源壓縮:JS/CSS樹搖(TreeShaking)、圖片WebP/AVIF格式、gzip/brotli壓縮;-按需加載:路由懶加載(`import()`)、組件懶加載(`React.lazy`/`Suspense`);-緩存策略:HTTP緩存(強緩存`Cache-Control`、協(xié)商緩存`ETag`)、ServiceWorker離線緩存;-減少關(guān)鍵資源:內(nèi)聯(lián)首屏CSS(CriticalCSS)、延遲加載非首屏JS(`defer`/`async`);-CDN加速:靜態(tài)資源托管至CDN,縮短請求距離。量化工具:Lighthouse的FCP(首次內(nèi)容渲染)、LCP(最大內(nèi)容渲染)、TTI(可交互時間)指標;ChromeDevTools的Performance面板分析關(guān)鍵路徑。12.Webpack5相比Webpack4的核心改進,Vite的構(gòu)建原理及優(yōu)勢。答案:Webpack5改進:-模塊聯(lián)邦(ModuleFederation):支持跨應用共享模塊(微前端關(guān)鍵);-持久化緩存(PersistentCaching):緩存編譯結(jié)果到磁盤,提升二次構(gòu)建速度;-內(nèi)置模塊聯(lián)邦、更優(yōu)的樹搖支持、移除Node.jspolyfill(需手動引入)。Vite基于ES模塊(ESM),開發(fā)時使用原生`import`加載模塊,無需打包(通過`esbuild`預構(gòu)建依賴);生產(chǎn)環(huán)境使用`rollup`打包,利用瀏覽器原生支持減少開發(fā)時構(gòu)建耗時,適合現(xiàn)代瀏覽器項目。五、算法與數(shù)據(jù)結(jié)構(gòu)13.實現(xiàn)一個通用的深拷貝函數(shù),要求處理循環(huán)引用、Date/RegExp等特殊對象。答案:```javascriptfunctiondeepClone(obj,hash=newWeakMap()){if(obj===null||typeofobj!=='object')returnobj;if(objinstanceofDate)returnnewDate(obj);if(objinstanceofRegExp)returnnewRegExp(obj);if(hash.has(obj))returnhash.get(obj);//處理循環(huán)引用constclone=Array.isArray(obj)?[]:{};hash.set(obj,clone);for(constkeyinobj){if(obj.hasOwnProperty(key)){clone[key]=deepClone(obj[key],hash);}}returnclone;}```14.用JavaScript實現(xiàn)快速排序,并說明其時間復雜度。答案:```javascriptfunctionquickSort(arr){if(arr.length<=1)returnarr;constpivot=arr[Math.floor(arr.length/2)];constleft=[],right=[];for(constnumofarr){if(num<pivot)left.push(num);elseif(num>pivot)right.push(num);}return[...quickSort(left),pivot,...quickSort(right)];}```平均時間復雜度O(nlogn),最壞情況(已排序數(shù)組)O(n2)(可通過隨機選擇pivot優(yōu)化)。六、新技術(shù)與趨勢15.WebAssembly在前端中的應用場景,與JavaScript的協(xié)作方式。答案:應用場景:高性能計算(如3D渲染、音視頻處理)、跨平臺邏輯復用(C/C++代碼編譯為Wasm)、替代部分JS密集計算(如物理引擎)。協(xié)作方式:JS通過`WebAssembly.instantiate`加載Wasm模塊,暴露函數(shù)供JS調(diào)用;Wasm通過內(nèi)存視圖(如`Uint8Array`)與JS共享數(shù)據(jù),支持數(shù)值類型(number、boolean)傳遞,復雜對象需手動序列化。16.簡述ReactServerComponents(RSC)的優(yōu)勢及適用場景。答案:RSC在服務端渲染組件,不發(fā)送到客戶端,優(yōu)勢:減少客戶端JS體積(如數(shù)據(jù)獲取、重計算邏輯在服務端)、提升首屏加載速度、支持直接訪問后端資源(如數(shù)據(jù)庫、文件系統(tǒng))。適用場景:需要大量數(shù)據(jù)加載的頁面(如儀表盤)、無需交互的純展示組件(如博客文章)、需要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會計師事務所培訓講師面試指南與答案
- 信息技術(shù)部副經(jīng)理面試題集
- 長虹集團戰(zhàn)略規(guī)劃部經(jīng)理崗位資格考試題集含答案
- 通信行業(yè)網(wǎng)絡規(guī)劃師的職責與面試題
- 2025年新型環(huán)保材料開發(fā)可行性研究報告
- 2025年生物制藥科技孵化器項目可行性研究報告
- 2025年新能源智能電網(wǎng)建設可行性研究報告
- 2025年個性化訂制家具項目可行性研究報告
- 2025年家庭智能監(jiān)控系統(tǒng)項目可行性研究報告
- 2026年華東政法大學單招職業(yè)適應性考試題庫及答案詳解1套
- 《電力市場概論》 課件 第七章 發(fā)電投資分析
- 2024年新蘇教版四年級上冊科學全冊知識點(復習資料)
- 題庫二附有答案
- 市場拓展與銷售渠道拓展方案
- 工地大門施工協(xié)議書
- 文史哲與藝術(shù)中的數(shù)學智慧樹知到期末考試答案章節(jié)答案2024年吉林師范大學
- 鐵血將軍、建軍元勛-葉挺 (1)講解
- 2023年西門子PLC知識考試題(附含答案)
- 鼻鼽(變應性鼻炎)診療方案
- 消防應急疏散和滅火演習技能培訓
- 流產(chǎn)診斷證明書
評論
0/150
提交評論