React面试题总结,一文说清!
前言
JavaScript是面向 Web 的編程語言,獲得了所有網(wǎng)頁瀏覽器的支持,是目前使用最廣泛的腳本編程語言之一,也是網(wǎng)頁設(shè)計(jì)和 Web 應(yīng)用必須掌握的基本工具。
JavaScript主要用途
- 嵌入動(dòng)態(tài)文本與HTML頁面
- 對(duì)瀏覽器時(shí)間做出相應(yīng)
- 讀寫HTML元素
- 在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)
- 檢測(cè)訪客的瀏覽器信息
- 控制cookies,包括創(chuàng)建和修改等。
- 基于node.js技術(shù)進(jìn)行服務(wù)器端編程。
二.技術(shù)基礎(chǔ)知識(shí)
基礎(chǔ)知識(shí)一直都是重點(diǎn)考察的內(nèi)容,包含有HTML(5)、CSS(3)、JavaScript到Vue,React等等所有可能考察的知識(shí)。
基礎(chǔ)知識(shí)不僅僅要知道是什么,更要明白怎么用,為什么這么用。死記硬背能應(yīng)付一時(shí),如果你遇到了想深入聊聊的面試官,死記硬背就沒用了。所以每個(gè)知識(shí)點(diǎn)都要理解透徹,講的清楚。
每次面試都要提前做好準(zhǔn)備,下面是一些??嫉拿嬖囍R(shí)點(diǎn),大家可以提前準(zhǔn)備
HTML(5):
1)H5的新特性有哪些?
2)Label的作用是什么?是怎么用的?
3)HTML5的form如何關(guān)閉自動(dòng)完成功能
4)實(shí)現(xiàn)不使用 border 畫出1px高的線,在不同瀏覽器的標(biāo)準(zhǔn)模式與怪異模式下都能保持一致的效果
5)title與h1的區(qū)別、b與strong的區(qū)別、i與em的區(qū)別?
6)每個(gè)HTML文件里開頭都有個(gè)很重要的東西,Doctype,知道這是干什么的嗎?
7)img的alt與title有何異同? strong與em的異同?
8)簡述一下src與href的區(qū)別?
9)知道的網(wǎng)頁制作會(huì)用到的圖片格式有哪些?
10)你如何理解HTML結(jié)構(gòu)的語義化?
11)html5有哪些新特性、移除了那些元素?
12)如何處理HTML5新標(biāo)簽的瀏覽器兼容問題
13)…
CSS:
1)css盒模型
(1)css盒模型基本概念?
(2)標(biāo)準(zhǔn)模型和IE模型的區(qū)別:計(jì)算高度和寬度的不同,怎么不同,高度寬度是怎么計(jì)算的?
(3)js如何設(shè)置獲取盒模型對(duì)應(yīng)的寬和高?
(4)…
2)BFC(邊距重疊解決方案)
(1)BFC的基本概念?
(2)BFC原理/ BFC渲染規(guī)則?
(3)如何創(chuàng)建BFC?
(4)BFC的使用場(chǎng)景?
3)css浮動(dòng)
(1)css浮動(dòng)原理?
(2)浮動(dòng)元素引起的問題?
(3)css清除浮動(dòng)的方法?
4)css經(jīng)典布局
(1)三欄布局:左右各300px,中間自適應(yīng)?
(2)圣杯布局
(3)雙飛翼布局
(4)css水平、垂直居中的寫法,請(qǐng)至少寫出4種?
5)css兼容
(1)經(jīng)常遇到的css兼容性的問題在哪些?如何解決的?
6)css hack
(1)什么是CSS hack?
(2)CSS hack的原理?
(3)CSS hack分類?
(4)CSS hack書寫順序?
7)…
因?yàn)槠邢?#xff0c;面試題沒有全部列出,所有的面試題包括HTML面試題總結(jié),CSS面試題總結(jié),JavaScript面試題總結(jié),Vue面試題總結(jié),React面試題總結(jié)等等面試題都有整理成PDF文檔,有需要的伙伴可以看文末,免費(fèi)領(lǐng)取!
JavaScript:
1)原型鏈
(1)創(chuàng)建對(duì)象有幾種方法?
(2)instanceof的原理?
2)類
(1)類的聲明?
(2),生成實(shí)例?聲明一個(gè)類,怎么生成類的實(shí)例?
3)繼承
(1)call、apply的共同點(diǎn)與區(qū)別?
(2)用javascript實(shí)現(xiàn)對(duì)象的繼承/ 繼承的幾種方式,這幾種方式的優(yōu)缺點(diǎn)?
4)作用域
(1)說說你對(duì)作用域鏈的理解?
(2)this?
(3)…
5)閉包
(1)閉包的特征?
(2)閉包應(yīng)用場(chǎng)景?
(3)實(shí)際開發(fā)中閉包的應(yīng)用?
(4)…
6)運(yùn)行機(jī)制/ 單線程/ 異步
(1)如何理解js的單線程?
(2)js為什么是單線程的?
(3)同步和異步的區(qū)別是什么?分別舉一個(gè)同步和異步的例子?
(4)何時(shí)需要異步?
(5)什么是任務(wù)隊(duì)列?
(6)棧和隊(duì)列的區(qū)別?
(7)棧和堆的區(qū)別?
7)數(shù)據(jù)類型
(1)js使用typeof能得到的哪些類型?
(2)如何準(zhǔn)確判斷一個(gè)變量是數(shù)組類型?
(3)js變量按照存儲(chǔ)方式區(qū)分為哪些類型,并描述其特點(diǎn)?
(4)null和undefined的區(qū)別?
(5)undefined的典型用法?
(6)null的典型用法?
(7)…
8)內(nèi)置函數(shù)/內(nèi)置對(duì)象
(1)js中有哪些內(nèi)置函數(shù)/ 數(shù)據(jù)封裝類對(duì)象?
(2)js中有哪些內(nèi)置對(duì)象?
(3)js變量按照存儲(chǔ)方式區(qū)分為哪些類型,并描述其特點(diǎn)?
(4)字符串方法/ String對(duì)象方法?
(5)數(shù)組方法/ Array對(duì)象方法?
9)數(shù)組去重
(1)數(shù)組怎么去重?(方法)
(2)對(duì)上述數(shù)組去重方法速度比較?(性能)
(3)一句話數(shù)組去重?
(4)保留數(shù)組中非重復(fù)元素?
10)邏輯判斷
11)內(nèi)存泄漏
(1)哪些操作會(huì)造成內(nèi)存泄漏?
(2)js內(nèi)存泄漏的解決方式
12)dom
(1)dom是哪種基本的數(shù)據(jù)結(jié)構(gòu)?
(2)dom操作的常用api有哪些?
(3)dom節(jié)點(diǎn)的attribute和property有何區(qū)別?
(4)dom結(jié)構(gòu)操作/ 怎樣添加、移除、移動(dòng)、復(fù)制、創(chuàng)建和查找節(jié)點(diǎn)/ dom操作的
(5)常用api?
(6)dom事件的級(jí)別?
(7)dom事件模型?
(8)dom事件流?
(9)…
13)通信
(1)什么是同源策略及限制?
(2)前后端如何通信?
(3)跨域通信的幾種方式?
14)ajax
(1)ajax請(qǐng)求的原理,手寫一個(gè)ajax請(qǐng)求?
(2)readyState?
(3)ajax異步與同步的區(qū)別?
Vue:
1)vue-cli工程
(1)構(gòu)建的 vue-cli 工程都到了哪些技術(shù),它們的作用分別是什么?
(2)vue-cli 工程常用的 npm 命令有哪些?
(3)請(qǐng)說出vue-cli工程中每個(gè)文件夾和文件的用處
(4)config文件夾 下 index.js 的對(duì)于工程 開發(fā)環(huán)境 和 生產(chǎn)環(huán)境 的配置
(5)請(qǐng)你詳細(xì)介紹一些 package.json 里面的配置
2)vue核心知識(shí)點(diǎn)
(1)對(duì)于Vue是一套漸進(jìn)式框架的理解
(2)vue.js的兩個(gè)核心是什么?
(3)請(qǐng)問 v-if 和 v-show 有什么區(qū)別
(4)vue常用的修飾符
(5)v-on可以監(jiān)聽多個(gè)方法嗎?
(6)vue中 key 值的作用
(7)vue事件中如何使用event對(duì)象?
(8)$nextTick的使用
(9)Vue 組件中 data 為什么必須是函數(shù)
(10)v-for 與 v-if 的優(yōu)先級(jí)
(11)vue中子組件調(diào)用父組件的方法
(12)vue中 keep-alive 組件的作用
(13)什么是vue生命周期?
(14)vue生命周期鉤子函數(shù)有哪些?
(15)vue如何監(jiān)聽鍵盤事件中的按鍵?
(16)vue更新數(shù)組時(shí)觸發(fā)視圖更新的方法
(17)解決非工程化項(xiàng)目初始化頁面閃動(dòng)問題
(18)v-model語法糖的組件中的使用
(19)…
3)vue-router
(1)vue-router如何響應(yīng) 路由參數(shù) 的變化?
(2)完整的 vue-router 導(dǎo)航解析流程
(3)vue-router有哪幾種導(dǎo)航鉤子( 導(dǎo)航守衛(wèi) )?
(4)vue-router傳遞參數(shù)的幾種方式
(5)…
4)vuex
(1)什么是vuex?
(2)使用vuex的核心概念
(3)vuex在vue-cli中的使用
(4)在vue中使用vuex,修改state的值
5)http請(qǐng)求
(1)Promise對(duì)象是什么?
(2)axios、fetch與ajax有什么區(qū)別?
(3)…
6)UI樣式
(1) .vue組件的scoped屬性 的作用
(2)如何讓CSS只在當(dāng)前組件中起作用?
(3)vue中常用的UI組件庫
(4)如何適配移動(dòng)端?【 經(jīng)典 】
(5)…
7)MVVM設(shè)計(jì)模式
(1)MVC、MVP與MVVM模式
(2)MVP
(3)MVVM的實(shí)現(xiàn)原理
(4)Object.defineProperty()方法
React
1)基本知識(shí)
(1)什么是React?
(2)React有什么特點(diǎn)?
(3)列出React的一些主要優(yōu)點(diǎn)。
(4)React有哪些限制?
(5)什么是JSX?
(6)…
2)React 組件
(1)你理解“在React中,一切都是組件”這句話。
(2)解釋 React 中 render() 的目的。
(3)如何將兩個(gè)或多個(gè)組件嵌入到一個(gè)組件中?
(4) React中的狀態(tài)是什么?它是如何使用的?
(5)區(qū)分狀態(tài)和 props
(6)如何更新組件的狀態(tài)?
(7)React 中的箭頭函數(shù)是什么?怎么用?
(8)區(qū)分有狀態(tài)和無狀態(tài)組件。
(9)React組件生命周期的階段是什么?
(10)詳細(xì)解釋 React 組件的生命周期方法。
(11)React中的事件是什么?
(12)如何在React中創(chuàng)建一個(gè)事件?
(13)React中的合成事件是什么?
(14)你對(duì) React 的 refs 有什么了解?
(15)…
3)React Redux
(1)MVC框架的主要問題是什么?
(2) 解釋一下 Flux
(3)什么是Redux?
(4)Redux遵循的三個(gè)原則是什么?
(5)列出 Redux 的組件
(6)…
4)React 路由
(1)什么是React 路由?
(2)為什么React Router v4中使用 switch 關(guān)鍵字 ?
(3)為什么需要 React 中的路由?
因?yàn)槠邢?#xff0c;面試題沒有全部列出,所有的面試題包括HTML面試題總結(jié),CSS面試題總結(jié),JavaScript面試題總結(jié),Vue面試題總結(jié),React面試題總結(jié)等等面試題都有整理成PDF文檔,有需要的伙伴可以看文末,免費(fèi)領(lǐng)取!!!
最后
技術(shù)是沒有終點(diǎn)的,也是學(xué)不完的,最重要的是活著、不禿。零基礎(chǔ)入門的時(shí)候看書還是看視頻,我覺得成年人,何必做選擇題呢,兩個(gè)都要。喜歡看書就看書,喜歡看視頻就看視頻。最重要的是在自學(xué)的過程中,一定不要眼高手低,要實(shí)戰(zhàn),把學(xué)到的技術(shù)投入到項(xiàng)目當(dāng)中,解決問題,之后進(jìn)一步錘煉自己的技術(shù)。
技術(shù)學(xué)到手后,就要開始準(zhǔn)備面試了,找工作的時(shí)候一定要好好準(zhǔn)備簡歷,畢竟簡歷是找工作的敲門磚,還有就是要多做面試題,復(fù)習(xí)鞏固。有需要面試題資料的朋友點(diǎn)擊這里可以免費(fèi)領(lǐng)取。
就看書,喜歡看視頻就看視頻。最重要的是在自學(xué)的過程中,一定不要眼高手低,要實(shí)戰(zhàn),把學(xué)到的技術(shù)投入到項(xiàng)目當(dāng)中,解決問題,之后進(jìn)一步錘煉自己的技術(shù)。
技術(shù)學(xué)到手后,就要開始準(zhǔn)備面試了,找工作的時(shí)候一定要好好準(zhǔn)備簡歷,畢竟簡歷是找工作的敲門磚,還有就是要多做面試題,復(fù)習(xí)鞏固。有需要面試題資料的朋友點(diǎn)擊這里可以免費(fèi)領(lǐng)取。
[外鏈圖片轉(zhuǎn)存中…(img-UFkqswsF-1622807318894)]
總結(jié)
以上是生活随笔為你收集整理的React面试题总结,一文说清!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电视是电视远扬语音好或是遥控器语音好?
- 下一篇: React面试题总结,含爱奇艺,小米,腾