常見面試題整理

HTTP請求報(bào)文

一個(gè)HTTP請求報(bào)文由請求行(request line)、請求頭部(header)渤愁、請求體


堆(heap)和棧(stack)

棧(stack)會(huì)自動(dòng)分配內(nèi)存空間檐什,會(huì)自動(dòng)釋放碴卧。堆(heap)動(dòng)態(tài)分配的內(nèi)存,大小不定也不會(huì)自動(dòng)釋放乃正。

基本類型和引用類型

基本類型:簡單的數(shù)據(jù)段住册,存放在棧內(nèi)存中,占據(jù)固定大小的空間瓮具。

引用類型:指那些可能由多個(gè)值構(gòu)成的對象荧飞,保存在堆內(nèi)存中,包含引用類型的變量實(shí)際上保存的不是變量本身,而是指向該對象的指針名党。

基本數(shù)據(jù)類型包括Undefined,String,Boolean,Null,Number

傳值和傳址

從一個(gè)向另一個(gè)變量復(fù)制引用類型的值叹阔,復(fù)制的其實(shí)是指針,因此兩個(gè)變量最終指向同一個(gè)對象传睹。即復(fù)制的是棧中的地址而不是堆中的對象耳幢。

從一個(gè)變量復(fù)向另一個(gè)變量復(fù)制基本類型的值,會(huì)創(chuàng)建這個(gè)值的副本欧啤。


什么是閉包睛藻?

閉包是指有權(quán)訪問另一個(gè)函數(shù)作用域中變量得函數(shù)启上。

怎么創(chuàng)建閉包?

在函數(shù)內(nèi)部嵌套使用函數(shù)

為什么使用閉包修档?

好處:

因?yàn)樵陂]包內(nèi)部保持了對外部活動(dòng)對象得訪問碧绞,但外部的變量無法直接訪問內(nèi)部,避免了全局污染

可以當(dāng)坐私有成員吱窝,彌補(bǔ)了因js語法帶來的面向?qū)ο缶幊痰牟蛔?/p>

可以長久的在內(nèi)存中保存一個(gè)想要的變量

優(yōu)點(diǎn):

1讥邻、希望一個(gè)變量長期駐扎在內(nèi)存當(dāng)中(不被垃圾回收機(jī)制回收)

2、避免全局變量的污染

3院峡、私有成員的存在

4兴使、安全性提高

缺點(diǎn):

可能導(dǎo)致內(nèi)存占用過多,因?yàn)殚]包攜帶了自身的作用域

閉包只能取得外部包含函數(shù)中的最后一個(gè)值


一行代碼實(shí)現(xiàn)數(shù)組去重照激?


[...new Set([1,2,3,1,'a',1,'a'])]


怎樣實(shí)現(xiàn)水平垂直居中发魄?

第一種

#container{
    position:relative;
}
#center{
    width:100px;
    height:100px;
    poastion:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
 }

第二種

#container{
    position:relative;
 }
#center{
    width:100px;
    height:100px;
    position:absolute;
    top:50%;
    left:50%;
    margin:-50px 0 0 -50px;
}

第三種

#container{
    position:relative;
}
#center{
    position:absoluter;
    margin:auto;
    top:0;
    left:0;
    right:0;
    bottom;
}

第四種 flex

#container{
    display:flex;
    justify-content:center;
    align-items:center;
}


事件循環(huán)機(jī)制

執(zhí)行上下文(Execution context)
函數(shù)調(diào)用棧(call stack)
隊(duì)列數(shù)據(jù)結(jié)構(gòu)(queue)
Promise


事件委托是什么?

通過事件冒泡的原理俩垃,讓自己所觸發(fā)的事件励幼,由父元素代替執(zhí)行

dom 事件委托的原理,有什么優(yōu)缺點(diǎn)

事件委托原理:事件冒泡機(jī)制

優(yōu)點(diǎn):

1.可以大量節(jié)約內(nèi)存占用口柳,減少事件注冊苹粟。
2.可以實(shí)現(xiàn)當(dāng)新增子對象時(shí),無需再對其進(jìn)行事件綁定

缺點(diǎn):

事件代理的常用應(yīng)用應(yīng)該僅限于上述需求跃闹,如果把所有事件都用事件代理嵌削,可能會(huì)出現(xiàn)事件誤判。(本不該被觸發(fā)的事件被綁定上了事件)


AJAX的工作原理

創(chuàng)建 ajax 對象
判斷數(shù)據(jù)傳輸方式(GET / POST)
打開鏈接 open()
發(fā)送 send()
當(dāng) ajax 對象完成第四步(onreadystatechange)數(shù)據(jù)接受完成望艺,判斷 http 響應(yīng)狀態(tài)(status)200-300之間或者 304(緩存)執(zhí)行回調(diào)函數(shù)


如何優(yōu)化自己的代碼苛秕?

代碼復(fù)用
避免全局變量(命名空間,封閉空間找默,模塊化mvc[數(shù)據(jù)層艇劫,表現(xiàn)層,控制層].....)
拆分函數(shù)避免函數(shù)過于臃腫
添加相關(guān)注釋惩激,使代碼更加清晰明了

降低頁面加載事件的方法

1店煞、壓縮 css,js 文件
2咧欣、合并 css浅缸,js 文件轨帜,減少 http 請求
3魄咕、外部 css,js 文件放在最底部
4蚌父、減少 dom 操作哮兰,盡可能用變量代替不必要的 dom 操作


節(jié)點(diǎn)的種類有幾種毛萌,分別是什么?

1喝滞、元素節(jié)點(diǎn):nodeType ===1;

2阁将、文本節(jié)點(diǎn):nodeType ===3;

3、屬性節(jié)點(diǎn):nodeType ===2;


null 和 undefined 的區(qū)別右遭?

null 是表示“無”的對象做盅,轉(zhuǎn)為數(shù)值時(shí)為0;undefined 是一個(gè)表示“無”的原始值窘哈,轉(zhuǎn)為數(shù)值時(shí)為NaN吹榴。

當(dāng)聲明的變量還未被初始化時(shí),變量的默認(rèn)值為undefined滚婉。null用來表示尚未存在的對象图筹。

undefined 表示“缺少值”,就是此處應(yīng)該有一個(gè)值让腹,但是還沒有定義远剩。
1、變量被聲明了骇窍,但是沒有賦值瓜晤,就等于undefined。
2像鸡、調(diào)用函數(shù)時(shí)活鹰,應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于undefined
3只估、對象沒有賦值的屬性志群,該屬性的值為undefined。
4蛔钙、函數(shù)沒有返回值時(shí)锌云,默認(rèn)返回undefined。

null表示“沒有對象”吁脱,即該處不應(yīng)該有值桑涎。
1、作為函數(shù)的參數(shù)兼贡,表示函數(shù)的參數(shù)不是對象
2攻冷、作為對象原型鏈的終點(diǎn)。


VUE

react 和 vue 比較來說有什么區(qū)別遍希?

  1. 數(shù)據(jù)綁定(vue雙向等曼,react單向)
    2.計(jì)算屬性 vue 有,提供方便;而 react 沒有
    3.vue 可以 watch 一個(gè)數(shù)據(jù)項(xiàng)禁谦; 而 react 不行
    4.vue 喲與提供的direct 特別是預(yù)置的 directive 因?yàn)閳鼍伴_發(fā)更容易胁黑;react 沒有
    5.生命周期函數(shù)名太長 directive


vue 雙向數(shù)據(jù)綁定的原理是什么?

首先創(chuàng)數(shù)對象的雙向數(shù)據(jù)綁定 Object.defineProperty(target,key,decription),在 decription
中設(shè)置 get 和 set 屬性(此時(shí)應(yīng)該注意 description 中 get 和 set 不能與面熟屬性共存)
數(shù)的實(shí)現(xiàn)與對象不同
同時(shí)運(yùn)用觀察者模式實(shí)現(xiàn) wather州泊,用戶數(shù)據(jù)和 view 使徒的更新


什么時(shí)vue的生命周期丧蘸?

vue實(shí)例從創(chuàng)建到銷毀的過程,就是生命周期遥皂。從開始創(chuàng)建力喷,初始化數(shù)據(jù),編譯模板演训,掛載Dom→渲染冗懦,更新→渲染,銷毀等一系列過剩仇祭,稱為Vue的生命周期披蕉。

vue生命周期的共幾個(gè)階段?

它可以共分為8個(gè)階段:創(chuàng)建前/后乌奇,載入前/后没讲,更新前/后,銷毀前/后

vue生命周期的作用是什么礁苗?

它的生命周期有多個(gè)事件鉤子爬凑,讓我們在控制整個(gè)Vue實(shí)例的過程中更容易形成好的邏輯。

第一個(gè)頁面加載會(huì)觸發(fā)哪幾個(gè)鉤子试伙?

會(huì)觸發(fā) beforeCreate嘁信,created,beforeMount疏叨,mounted

DOM渲染在那個(gè)周期中就已經(jīng)完成了潘靖?

DOM渲染在mounted中就已經(jīng)完成了


Vue router 跳轉(zhuǎn)和 location.href 跳轉(zhuǎn)游什么區(qū)別?

router 是 hash 改變
location.href 是頁面跳轉(zhuǎn)蚤蔓,刷新頁面


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卦溢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子秀又,更是在濱河造成了極大的恐慌单寂,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吐辙,死亡現(xiàn)場離奇詭異宣决,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)昏苏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門尊沸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昵时,“玉大人,你說我怎么就攤上這事椒丧。” “怎么了救巷?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵壶熏,是天一觀的道長。 經(jīng)常有香客問我浦译,道長棒假,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任精盅,我火速辦了婚禮帽哑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叹俏。我一直安慰自己妻枕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布粘驰。 她就那樣靜靜地躺著屡谐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蝌数。 梳的紋絲不亂的頭發(fā)上愕掏,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機(jī)與錄音顶伞,去河邊找鬼饵撑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛唆貌,可吹牛的內(nèi)容都是我干的滑潘。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼锨咙,長吁一口氣:“原來是場噩夢啊……” “哼众羡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蓖租,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤粱侣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蓖宦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體齐婴,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年稠茂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了柠偶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片情妖。...
    茶點(diǎn)故事閱讀 38,814評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖诱担,靈堂內(nèi)的尸體忽然破棺而出毡证,到底是詐尸還是另有隱情,我是刑警寧澤蔫仙,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布料睛,位于F島的核電站,受9級(jí)特大地震影響摇邦,放射性物質(zhì)發(fā)生泄漏恤煞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一施籍、第九天 我趴在偏房一處隱蔽的房頂上張望居扒。 院中可真熱鬧,春花似錦丑慎、人聲如沸喜喂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夜惭。三九已至,卻和暖如春铛绰,著一層夾襖步出監(jiān)牢的瞬間诈茧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工捂掰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敢会,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓这嚣,卻偏偏與公主長得像鸥昏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子姐帚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容