前端面試題及答案

  1. http 請求

http協(xié)議使用tcp協(xié)議進行傳送蓖租,首先是tcp 三次握手满败,完成之后凉蜂,客戶端會向服務(wù)器發(fā)出請求

  1. http 請求方式

Get (get提交方式會在url上面看到,get有限制或链,get不安全)

Post(post提交數(shù)據(jù)會放到header內(nèi)提交档押,post沒有限制令宿,post安全,表單提交和上傳都用post)

表單中g(shù)et 和post 的區(qū)別

A、Get是從服務(wù)器上獲取數(shù)據(jù)筛婉,post是向服務(wù)器傳送數(shù)據(jù)

B癞松、所以盡量避免get方式提交表單响蓉,因為可能為導(dǎo)致安全問題,利于登錄中使用get方式首尼,用戶輸入用戶名和密碼就會在地址欄中暴露無疑言秸,但是在分頁程序中,用get方式就比post 好举畸。

Options

  1. 最常用的http狀態(tài)碼

200:找到資源抄沮,一切正常

304:該資源在上次請求之后沒有改動,這通常用于瀏覽器的緩存機制

401:客戶端無權(quán)限訪問該資源砂代,通常會使得瀏覽器要求用戶輸入用戶名和密碼率挣,來登錄到服務(wù)器椒功。

403: 客戶端未能獲得授權(quán)丁屎,這個是在401之后輸入了不正確的用戶名和密碼

404:在指定的位置不準存在所申請的資源

  1. http 和 https 的概念

http 是網(wǎng)上應(yīng)用最為廣泛的一種協(xié)議旱眯,是一個客戶端和服務(wù)端請求和應(yīng)答的標準,用于www服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議础爬,他可以是瀏覽器更加的高效吼鳞,使網(wǎng)絡(luò)傳輸減少。

https 是以安全為目標的http通道供炎,簡單講就是http的安全版音诫,即http下加入ssl層雪位,https 的安全基礎(chǔ)是ssl,因此加密的詳細內(nèi)容需要ssl竭钝。

https協(xié)議的主要作用可以分為兩種:一種是建立一個安全的信息通道香罐,來保證數(shù)據(jù)的安全,另一種就是確認網(wǎng)站的真實性港粱。

  1. http和https的區(qū)別旦签?

Http 協(xié)議都是未加密的宁炫,http傳輸隱私消息非常的不安全

https就是由ssl+http協(xié)議構(gòu)建進行加密傳送的要比http協(xié)議安全

https需要申請證書,會需要一定的費用

http未加密遥昧,https 是加密的

http端口是80朵纷,https 是443

Css

  1. Flex 布局

Js

  1. Es6 let袍辞、const、class威创、箭頭函數(shù)肚豺、 promise界拦、ansync await享甸、module模塊化

Var 命令和function命令聲明的全局變量是頂層對象的屬性

Let 、const蛉威、class、聲明的全局變量丙躏,不屬于頂層對象的屬性束凑,也就是說,從es6開始剪菱,全局變量將逐步與頂層對象的屬性脫離

var a = 1;

// 如果在Node的REPL環(huán)境孝常,可以寫成global.a

// 或者采用通用方法,寫成this.a

window.a // 1

let b = 1;

window.b // undefined

//const 生命的變量是不可變得變量

const c = 1;

c=2 //會報錯

Es6對象和數(shù)組的復(fù)制

數(shù)組:

let arrA = [1,2,3];

let arrB = [...arrA];

對象

let objA = {a:1,b:2,c:3}

let objB = {...objA};

//有了 async await 之后; 當執(zhí)行到await的時候就會等待timeOut(1);返回值之后再往下執(zhí)行;

function timeOut(num) {

return new Promise((resolve, reject) => {

    setTimeout(() => {

        resolve(2 * num)

    }, 2000);

} )

}

async function name() {

let a = await timeOut(1);

let b = await timeOut(2);

console.log(a + b);

}

name();

Let 和 var的區(qū)別

相同點:都是定義變量關(guān)鍵字构灸。

區(qū)別:

  1. 作用域只限制與當前代碼模塊---var的作用域則是函數(shù)體function(){}

  2. 使用let聲明變量的作用域不會提示-------var 會自動提升

  3. 在相同的作用域下不能有相同的變量上渴,否則會報錯 -------var 中則可以出現(xiàn)相同變量名,不會報錯

Let和const 區(qū)別

相同:都是es6新特性

  1. 定義變量關(guān)鍵字

  2. 作用域一樣

  3. 都是不能重復(fù)聲明相同的變量

區(qū)別點:

  1. Let是聲明普通變量的喜颁,const是聲明常量的

  2. Let初始化可以不用賦值稠氮,const初始化必須賦值

  3. Let聲明的變量值是可以被修改的 const聲明的變量不能修改值,否則報錯

Se6 中的class 其實就是構(gòu)造函數(shù)的另一種寫法


2.什么是閉包半开?

閉包就是定義就是:定義在一個函數(shù)內(nèi)部的函數(shù)隔披。

function fn1 () {

var a = 2 var

b = 'abc'

function fn2 () {

console.log(a)

}

}

fn1()

閉包的特點: 1. 作為一個函數(shù)變量的一個引用,當函數(shù)返回時寂拆,其處于激活狀態(tài)奢米。 2. 一個閉包就是當一個函數(shù)返回時,一個沒有釋放資源的棧區(qū)纠永。

閉包的用途:

讀取函數(shù)內(nèi)部的變量和就是讓這些變量的值始終保存在內(nèi)存中鬓长,不會再fn1調(diào)用后被自動清除。

閉包缺點:

內(nèi)存消耗很大尝江,所以不能濫用閉包涉波,否則會造成網(wǎng)頁的性能問題,在ie中可能導(dǎo)致內(nèi)存泄漏炭序,解決辦法是怠蹂,在退出函數(shù)之前,將不使用的局部變量全部刪除少态。

  1. mvc與mvvm的區(qū)別

Mvvm(angular)真正的意義是將頁面和數(shù)據(jù)邏輯分離的模式城侧,把數(shù)據(jù)綁定工作放到一個js里面去實現(xiàn),而這個js的主要目的就是完成數(shù)據(jù)的綁定彼妻。更重要的是雙向綁定嫌佑,更方便的維護頁面豆茫,而不用手動更新他們。

在mvc中model不依賴view,但是view依賴model屋摇,因為業(yè)務(wù)邏輯代碼在view里面實現(xiàn)揩魂,導(dǎo)致view更改也是比較困難的,最后業(yè)務(wù)邏輯是無法重用的炮温。

Mvvm的優(yōu)點:

  1. 低耦合

  2. 可重用性

  3. 獨立開發(fā)

  4. 可測試性

  5. Js 數(shù)組有哪些方法火脉?

Join()

Push() pop()

Shift()unshit()

Splice()slice()

Concat()

Map() forEach()

IndexOf()

Ervery() sort()

6. js 判斷一個對象是否屬于某一類

1.) typeof


image.png

2.) Instanceof


image.png

3.) constructor 屬性 Js 種每個對象屬性都有一個constructor屬性,

image.png

4.) Object.prototype.toString.call()


image.png
  1. 什么是跨域柒啤?說出幾種解決跨域的辦法倦挂?

跨域是:指瀏覽器不能執(zhí)行其他網(wǎng)站的腳本,它是由瀏覽器的同源策略造成的担巩,瀏覽器對js實施的安全限制方援。

同源是指:域名、協(xié)議涛癌、端口均為相同犯戏。

解決跨域的辦法

Jsonp 跨域 只能夠?qū)崿F(xiàn)get請求

PostMessage 跨域

  1. 什么是函數(shù)防抖和節(jié)流?

節(jié)流:是指一定時間內(nèi)js方法只跑一次拳话。例如人的眨眼睛先匪,就是一定時間內(nèi)眨一次。

防抖:是指頻繁觸發(fā)的情況下弃衍,只有足夠的空閑時間呀非,才執(zhí)行代碼一次。

  1. Flex 布局和傳統(tǒng)布局有什么區(qū)別笨鸡?

傳統(tǒng)布局:是基于盒模型姜钳,依賴display屬性 、position屬性形耗、float屬性哥桥。

Flex 布局:可以漸變、完成激涤、響應(yīng)式的實現(xiàn)各種頁面布局拟糕,目前所有瀏覽器有支持。

  1. 舉例前端性能優(yōu)化倦踢?

A) 減少http請求書

B) 資源合并和壓縮

C) 將外部腳本置底

D) 懶加載

E) 將css放到head 中

F) 避免重復(fù)的資源請求

G) 代碼優(yōu)化

H) 圖片壓縮

  1. 原型鏈和作用域鏈

作用域鏈:作用域是針對變量的送滞,先在自己的變量范圍中查找,如果找不到辱挥,就會沿著作用域往上找犁嗅。

image.png

原型鏈:
是針對構(gòu)造函數(shù)的,先創(chuàng)建一個函數(shù)晤碘,
然后定義一個變量褂微,
new這個函數(shù)功蜓,
那么new 出來的函數(shù)就會繼承創(chuàng)建出來的那個函數(shù)屬性,然后訪問new出來的這個函數(shù)的某個屬性宠蚂,但是我并沒有在new出來的函數(shù)中定義這個變量式撼,那么它就會一直往上找。

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末求厕,一起剝皮案震驚了整個濱河市著隆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌呀癣,老刑警劉巖美浦,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異十艾,居然都是意外死亡抵代,警方通過查閱死者的電腦和手機腾节,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門忘嫉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人案腺,你說我怎么就攤上這事庆冕。” “怎么了劈榨?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵访递,是天一觀的道長。 經(jīng)常有香客問我同辣,道長拷姿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任旱函,我火速辦了婚禮响巢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棒妨。我一直安慰自己踪古,他們只是感情好,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布券腔。 她就那樣靜靜地躺著伏穆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纷纫。 梳的紋絲不亂的頭發(fā)上枕扫,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音辱魁,去河邊找鬼烟瞧。 笑死偷厦,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的燕刻。 我是一名探鬼主播只泼,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卵洗!你這毒婦竟也來了请唱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤过蹂,失蹤者是張志新(化名)和其女友劉穎十绑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酷勺,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡本橙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了脆诉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甚亭。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖击胜,靈堂內(nèi)的尸體忽然破棺而出亏狰,到底是詐尸還是另有隱情,我是刑警寧澤偶摔,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布暇唾,位于F島的核電站,受9級特大地震影響辰斋,放射性物質(zhì)發(fā)生泄漏策州。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一宫仗、第九天 我趴在偏房一處隱蔽的房頂上張望够挂。 院中可真熱鬧,春花似錦锰什、人聲如沸下硕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽梭姓。三九已至,卻和暖如春嫩码,著一層夾襖步出監(jiān)牢的瞬間誉尖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工铸题, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铡恕,地道東北人琢感。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像探熔,于是被迫代替她去往敵國和親驹针。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

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

  • 請參看我github中的wiki诀艰,不定期更新柬甥。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,127評論 2 19
  • Web前端常見面試題及答案 1、盒子模型 盒子模型包括四部分:內(nèi)容(content)其垄、填充(padding)苛蒲、邊框...
    畢安閱讀 34,210評論 4 84
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準绿满。 注意:講述HT...
    kismetajun閱讀 27,486評論 1 45
  • 作者: YeaseonBlog:https://yeaseonzhang.github.io "金三銀四臂外,金九銀十...
    Yeaseon閱讀 1,156評論 4 32
  • 我叫玉臨河,即將33歲喇颁。 我生活的圈子很小漏健,在一個百來戶的小村莊,度過了我的30幾年无牵,終于出嫁漾肮。我的哥哥玉臨風(fēng)厂抖,至...
    2寶的奴隸閱讀 283評論 0 0