React篇
1.react有哪幾個(gè)生命周期狞山?
constructor()
static getDerivedStateFromProps()
componentWillMount() / UNSAFE_componentWillMount()
render()
componentDidMount()
componentWillReceiveProps() / UNSAFE_componentWillReceiveProps()
static getDerivedStateFromProps()
shouldComponentUpdate()
componentWillUpdate() / UNSAFE_componentWillUpdate()
render()
getSnapshotBeforeUpdate()
componentDidUpdate()
componentWillUnmount()
componentDidCatch()
2.在哪個(gè)生命周期做優(yōu)化?
shouldComponentUpdate
3.react怎么從虛擬dom中拿出真實(shí)dom?
ref
4.react的diff算法是怎么完成的幅聘?(基礎(chǔ)原理)?
3個(gè)策略:
Web UI 中DOM節(jié)點(diǎn)跨層級(jí)的移動(dòng)操作特別少狼犯,可以忽略不計(jì)
擁有相同類的兩個(gè)組件將會(huì)生成相似的樹形結(jié)構(gòu)余寥,擁有不同類的兩個(gè)組件將會(huì)生成不同的樹形結(jié)構(gòu)领铐。
對(duì)于同一層級(jí)的一組子節(jié)點(diǎn),它們可以通過唯一id進(jìn)行區(qū)分宋舷。
5.React中的props和state的用法
==props:==一般用于父組件向子組件通信绪撵,在組件之間通信使用。
==state:==一般用于組件內(nèi)部的狀態(tài)維護(hù)祝蝠,更新組建內(nèi)部的數(shù)據(jù)音诈,狀態(tài),更新子組件的props等绎狭。
6.Redux的流程 中間件(thunks saga logger dvtools的理解细溅,用法)
7.比較redux和vuex的區(qū)別?https://blog.csdn.net/hyupeng1006/article/details/80755667
8.react router3是否用過,router4是否用過坟岔,3到4有什么改變?https://blog.csdn.net/qq_35484341/article/details/80500237
9.react是什么層面上的框架谒兄,數(shù)據(jù)流是單向流還是雙向綁定?視圖層的框架,單項(xiàng)數(shù)據(jù)流
10.webpack?基本使用
1.js的垃圾回收機(jī)制是什么原理(js)!!
標(biāo)記清除 社付、引用計(jì)數(shù)
2.經(jīng)常遇到的解決js兼容性問題列舉至少三個(gè)(js)!?https://www.cnblogs.com/yufann/p/Browser1.html
3.不設(shè)置寛高的div,用至少兩種方法邻耕,讓它相對(duì)于頁面水平垂直居中鸥咖。(css)!
flex布局,絕對(duì)定位+相對(duì)定位
4.react-redux的實(shí)現(xiàn)原理(react框架)!!
https://www.cnblogs.com/hhhyaaon/p/5863408.html
**5.git經(jīng)常用到的命令兄世,至少五個(gè)啼辣,并且要說出每個(gè)命令是干什么的。(git add .)(git commit -m “”)(git push origin?)(git clone)(git branch)(git checkout)!
6.react-router的實(shí)現(xiàn)原理 !
history
7.react的生命周期(必須知道并且知道每個(gè)的作用)!
8.數(shù)組的方法(至少說出6個(gè))(js)!?concat御滩、join鸥拧、pop、push削解、reverse富弦、shift、sort氛驮、toString腕柜、valueOf、unshift
9.閉包的原理(js)!
閉包是指有權(quán)訪另一個(gè)函數(shù)作用域中的變量的函數(shù)
10.偽數(shù)組轉(zhuǎn)成真數(shù)組的方法(至少兩種方法) (js)!!
1.使用Array.prototype.slice.call();
2.Array.from
11.rgba和opacity的區(qū)別(css)!
有opacity屬性的所有后代元素都會(huì)繼承 opacity 屬性盏缤,而RGBA后代元素不會(huì)繼承不透明屬性
12.link和inport的區(qū)別 (js)!
13.哪些操作會(huì)造成內(nèi)存泄露(至少三個(gè))(js)!!!
意外的全局變量引起的內(nèi)存泄露
閉包引起的內(nèi)存泄露
沒有清理的DOM元素引用
被遺忘的定時(shí)器或者回調(diào)
14.react虛擬DOM實(shí)現(xiàn)原理 !!
js模擬dom結(jié)構(gòu),每次重新渲染時(shí)重新生成dom樹唉铜,與老的樹進(jìn)行diff算法對(duì)比
React會(huì)在內(nèi)存中維護(hù)一個(gè)虛擬DOM樹律杠,對(duì)這個(gè)樹進(jìn)行讀或?qū)懱读鳎瑢?shí)際上是對(duì)虛擬DOM進(jìn)行柿赊。當(dāng)數(shù)據(jù)變化時(shí),React會(huì)自動(dòng)更新虛擬DOM幻枉,然后將新的虛擬DOM和舊的虛擬DOM進(jìn)行對(duì)比,找到變更的部分胰挑,得出一個(gè)diff,然后將diff放到一個(gè)隊(duì)列里椿肩,最終批量更新這些diff到DOM中瞻颂。
15.call,apply郑象,bind的區(qū)別(js)!!!
1.相同點(diǎn)
(1)都可以用來改變函數(shù)的this的指向
(2)使用時(shí)第一個(gè)參數(shù)都是this所指向的對(duì)象,并且都可以后續(xù)參數(shù)傳參
2.區(qū)別
(1)call跟apply只是參數(shù)傳參的方式不一樣厂榛,call以多個(gè)參數(shù)形式傳入,而apply則以數(shù)組的形式傳入
(2)bind傳參的方式可以跟call一樣击奶,由于bind返回的是一個(gè)函數(shù),因此我們也可以在調(diào)用的時(shí)候在進(jìn)行傳參
16.ES6有哪些新特性 !
**17.H5新特性(canvas湃望,video痰驱,webstorage证芭,語義化標(biāo)簽担映,表單控件 等) **
19.關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫的區(qū)別和好處 !!!
關(guān)系型數(shù)據(jù)庫(Mysql和Oracle)
1.表和表、表和字段另萤、數(shù)據(jù)和數(shù)據(jù)存在著關(guān)系
優(yōu)點(diǎn):
1.數(shù)據(jù)之間有關(guān)系,進(jìn)行數(shù)據(jù)的增刪改查的時(shí)候是非常方便的
2.關(guān)系型數(shù)據(jù)庫是有事務(wù)操作的泛源,保證數(shù)據(jù)的完整性和一致性忿危。
缺點(diǎn):
1.因?yàn)閿?shù)據(jù)和數(shù)據(jù)是有關(guān)系的,底層是運(yùn)行了大量的算法
大量算法會(huì)降低系統(tǒng)的效率铺厨,會(huì)降低性能
2.面對(duì)海量數(shù)據(jù)的增刪改查的時(shí)候會(huì)顯的無能為力
3.海量數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行維護(hù)變得非常的無力
適合處理一般量級(jí)的數(shù)據(jù)(銀行轉(zhuǎn)賬和錢)
非關(guān)系數(shù)據(jù)庫的(redis和MangDB)
為了處理海量數(shù)據(jù)硬纤,非關(guān)系數(shù)據(jù)庫設(shè)計(jì)之初就是為了替代關(guān)系型數(shù)據(jù)庫的關(guān)系
優(yōu)點(diǎn):
1.海量數(shù)據(jù)的增刪改查是可以的
2.海量數(shù)據(jù)的維護(hù)和處理非常輕松
缺點(diǎn):
1.數(shù)據(jù)和數(shù)據(jù)沒有關(guān)系赃磨,他們之間就是單獨(dú)存在的
2.非關(guān)系數(shù)據(jù)庫沒有關(guān)系,沒有強(qiáng)大的事務(wù)關(guān)系溪王,沒有保證數(shù)據(jù)的完整性和安全性
20.web網(wǎng)絡(luò)請(qǐng)求的過程 !!!
https://blog.csdn.net/SEU_Calvin/article/details/53304406
1.如何跨域?
1值骇、通過jsonp跨域 2、通過修改document.domain來跨子域 3道伟、使用window.name來進(jìn)行跨域 4使碾、使用HTML5中新引進(jìn)的window.postMessage方法來跨域傳送數(shù)據(jù)(但是缺點(diǎn)是IE6、IE7不支持)
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????未完待續(xù)......