舒適提示:如下系列的面試題是經過整合網上各位大牛的文章而成,站在巨人的肩膀上,可以讓咱們更進一步。javascript
流程:解析html以構建DOM樹 -> 構建render樹 -> 佈局render樹 -> 繪製render樹css
主要分爲兩部分:渲染引擎和JS引擎html
渲染引擎:負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入CSS等)、以及計算網頁的顯示方式,而後會輸出至顯示器或打印機。java
瀏覽器的內核的不一樣對於網頁的語法解釋會有不一樣,因此渲染的效果也不相同。全部網頁瀏覽器、電子郵件客戶端以及其它須要編輯、顯示網絡內容的應用程序都須要內核面試
JS引擎:解析和執行javascript來實現網頁的動態效果後端
最開始渲染引擎和JS引擎並無區分的很明確,後來JS引擎愈來愈獨立,內核就傾向於只指渲染引擎跨域
cookie是網站爲了標示用戶身份而存儲在用戶本地終端(Client Side)上的數據(一般通過加密),數據會在瀏覽器和服務器間來回傳遞。瀏覽器
sessionStorage和localStorage不會自動把數據發送給服務器,僅在本地保存。安全
存儲數據大小:性能優化
cookie:數據大小不能超過4k。
sessionStorage和localStorage:雖然也有存儲大小的限制,但比cookie大得多,能夠達到5M或更大。
存儲有效時間:
localStorage::存儲持久數據,瀏覽器關閉後數據不丟失除非主動刪除數據;
sessionStorage: 數據在當前瀏覽器窗口關閉後自動刪除。
cookie: 設置的cookie過時時間以前一直有效,即便窗口或瀏覽器關閉
跨域問題,設置了HttpOnly
調用localStorage、cookies等本地存儲方式
經過visibilityState的值檢測頁面當前是否可見,以及打開網頁的時間等;
在頁面被切換到其餘後臺進程的時候,自動暫停音樂或視頻的播放
含義:區分用戶是計算機仍是人的公共全自動程序。
安全問題:防止惡意破解密碼、刷票、論壇灌水;有效防止黑客對某一個特定註冊用戶用特定程序暴力破解方式進行不斷的登陸嘗試。