2020前端面試題

2021-10-23 21:59:32 字數 2066 閱讀 3227

以下是我自己面試時遇到的一些問題,react、vue相關的另有專題。

先列題目,答案慢慢更新~

1.什麼是跨域?如何解決跨域?

2.介紹下深拷貝和淺拷貝。

深拷貝:增加乙個指標並申請了乙個新記憶體,新記憶體中存放拷貝的物件。兩者互不影響。

順便講一下淺比較和深比較:

3.原生js中,const定義的變數能否被修改?

答:如果是物件型別,可以被修改。

const a = 

a.b = 5

console.log(a.b)

// 5

4.不同專案裡怎麼使用同乙個元件?

5.git和npm有什麼區別?

答:git是版本管理工具,npm是包管理工具。

6.node有什麼功能?你使用過哪些功能?

7.描述一下前端專案打包、編譯、構建的過程。單頁和多頁有什麼區別。

8.怎麼實現按需載入?

9.怎麼優化打包過程。

10.map和foreach的區別。

答:foreach會修改原陣列,而map則會返回乙個新陣列。

11.js如何變成多執行緒?

答:使用worker,他會向瀏覽器申請乙個新執行緒來單獨執行乙個js檔案。

var worker = new worker(js/test.js);

//postmessage(msg);

//postmessage方法把在新執行緒執行的結果傳送到瀏覽器的js引擎執行緒裡

worker.onmessage = function();

settimeout( function(),2000)

settimeout( function(),3000)

12.說說事件迴圈機制。

13.閉包有什麼好處?

14.介紹一下原型鏈。

15.ajax的原理。

16.localstorage、sessionstorage和cookies的區別。

cookies

sessionstorage

localstorage

儲存大小

4k左右

5m或更大

5m或更大

儲存位置

瀏覽器瀏覽器

瀏覽器生命週期

如果沒有設定過期時間,關閉瀏覽器則會清除;

如果設定過期時間,關閉瀏覽器cookies仍存在,直到過期時間結束 

僅在當前會話下有效,關閉瀏覽器則會清除資料

永久,除非手動刪除資料

17.h5頁面實現效能優化的方法。

答:懶載入等

18.使用過語義化標籤嗎,有什麼好處?

答:更通俗易懂。

19.實現垂直居中的方法。

20.flex-grow的作用。

function getname(firstname, lastname) 

const obj =

// 以下三種方式是等價的

getname.call(obj, 'first', 'last')

getname.bind(obj, 'first', 'last')()

22.從url輸入到頁面展示,中間經歷了哪些過程?

傳送http請求

伺服器處理請求,並返回http報文

瀏覽器解析渲染頁面:包含dom樹、css規則樹

斷開連線:tcp四次揮手

2020前端面試題

2020年 疫情影響著經濟,好多企業都裁員了,我所在的公司也不例外。所幸我不是其中之一。但是,金三銀四,即使不想換工作,也要評估一下自己在市場的價值。以下就是我 面試中遇到的一些問題 關於vue 1.vue元件的懶載入的原理?2.vue的元件通訊方式有哪些?3.你對mvvm的原理的理解 4.next...

2020前端面試題(一)

題目二 結語 在實際工作中我們也應需要保持有一顆居安思危的心,雖然有關演算法模組的技術著實很難有用武之地,但是這並不影響我們去見識並學習一些非演算法部分的面試題,從而做到知己知彼,方可心中不虛。寫乙個 mysetinterval fn,a,b 每次間隔 a,a b,a 2b,a nb 的時間,然後寫...

前端面試題

sprites是什麼和為什麼要使用他們?css 精靈 把一堆小的整合到一張大的上,減輕伺服器對的請求數量 有可能替代sprites的方法是什麼?svg圖示,字型圖示,字元編碼等等。1 在div排版的時候,假設現在是100px的寬,我在盒子左側用padding left留個10px的白,div就撐開了...