前端面試整理

2021-10-05 01:18:00 字數 1496 閱讀 9407

專案優化策略

cdn建立非同步物件:var xmlhttp = new xmlhttprequest();

傳送請求:xmlhttp.send();

監聽狀態變化:xmlhttp.onreadystatechange = function(ev2){}

0: 請求未初始化

1: 伺服器連線已建立

2: 請求已接收

3: 請求處理中

4:請求已完成,且相應已就緒

處理返回結果

通過vue.config.js修改webpack的預設配置

為開發模式與發布模式指定不同的打包入口

// **示例

module.exports =

)// 開發模式

config.

when

(process.env.

node_env

==='development'

, config =>)}

}

module.exports =)}

) config.

when

(process.env.

node_env

==='development'

, config =>)}

}

""

>

"">

"">

"">

"">

" ">

"">

" @3.0.4/dist/vue-quill-editor.js"

>

"">

" ">

cdn做了兩件事,一是讓使用者訪問最近的節點,二是從快取或者源站獲取資源

瀏覽器檢查本地有沒有這個東東的有效快取,有則使用快取,沒有有效快取則進行對assets-cdn.github.com的dns查詢,獲得乙個 cname記錄, github.map.fastly.net,值得注意的是,多個加速網域名稱可以解析到同乙個cname,cdn回源和快取的時候考慮到了hostname;

進行對github.map.fastly.net的dns查詢,獲得乙個a/aaaa記錄,給出位址103.245.222.133(視**不同返回的不一樣,可以有多個), 這一步對cdn來說時十分重要的,它給出了離使用者最近的邊緣節點;

瀏覽器選乙個返回的位址,然後進行真正的http請求,開始向103.245.222.133握手,握手完了把http請求頭也發給了該邊緣伺服器;

邊緣伺服器檢查自己的cache裡面有沒有這個資源,有則返回給使用者,如果沒有,向cdn中心伺服器發起請求;

cdn中心伺服器檢查自己的cache裡面有沒有這個資源,有則返回給邊緣伺服器,沒有則回源;

中心伺服器發現客戶配置了github.map.fastly.net的回源位址(這個只有cdn會知道,假設是***.***.***.***),就把http請求發到源站位址上,源站返回後返回給請求方;

前端面試題整理

從瀏覽器位址列輸入url到顯示頁面的步驟 以http為例 在瀏覽器位址列輸入url 瀏覽器檢視快取,如果請求資源在快取中並且新鮮,跳轉到轉碼步驟 如果資源未快取,發起新請求 如果已快取,檢驗是否足夠新鮮,足夠新鮮直接提供給客戶端,否則與伺服器進行驗證。檢驗新鮮通常有兩個http頭進行控制expire...

前端面試題整理

1.html5的新特性。主要講講新增哪些api 地理定位,拖放,web儲存應用快取,webworkers,sse 2.css3的新特性。3 使用嚴格模式的限制有哪些。4 什麼是同源?什麼情況下就屬於跨域?怎麼解決跨域說出三種以上的方法,jsonp原理是什麼。同源 協議,網域名稱,埠相同 方法一 co...

前端面試題整理

js 1 ajax 原理 ajax的基本原理總結 2 原型和原型鏈 原型和原型鏈 3 深拷貝淺拷貝 js的深拷貝和淺拷貝 4 繼承有幾種方式 js繼承的幾種方式 5 閉包 js閉包 6 阻止事件冒泡,和預設事件 阻止事件冒泡,阻止預設事件 7 陣列去重 物件去重 8 陣列有哪些方法 9 promis...