(1) DNS服務器解析域名,找到對應服務器的IP地址;
(2)和服務器創建TCP三次握手鍊接;
(3)發送HTTP請求,服務器會根據HTTP請求到數據服務器取出相應的資源,並返回給瀏覽器;
(4)瀏覽器處理響應
加載:瀏覽器對一個html頁面的加載順序是從上而下的。當加載到外部css文件、圖片等資源,瀏覽器會再發起一次http請求,來獲取外部資源。
當加載到js文件,html文檔會掛起渲染(加載解析渲染同步)的線程,等待js文件加載、解析完畢才能夠恢復html文檔的渲染線程。
解析:解析DOM樹和CSSDOM樹。
渲染:構建渲染樹,將DOM樹進行可視化表示,將頁面呈現給用戶。
複製代碼
- 2: TCP UDP HTTP的區別
- 3: 實現一下函數柯理化
- 4: https的鏈接細節
- 5: vue的路由vue的雙向綁定如何實現,原理是啥
- 6: 深淺拷貝,各自原理,深拷貝有啥缺點
- 7: 節流和防抖你是如何實現的,他們兩個根本的區別在哪裏,代碼上如何體現
- 8: MySQL索引和事務、寫SQL
- 9: 狀態碼:4開頭、3開頭、2開頭
- 10: 瀏覽器緩存、強制緩存、協商緩存
- 11: content-type:From-data、json等 及其之間的區別
- 12: 描述跨域請求、解決方案:CORS,Nginx反向代理
- 13: 本地存儲緩存的方法:cookie、sessionStorage、localStorage 及其區別,是否能夠跨域獲取緩存
- 14: node和npm的區別,node指令讀文件
- 15: 原型、原型鏈的區別
- 16: Promise()
- 17: 節流和防抖你是如何實現的,他們兩個根本的區別在哪裏
- 18: vue和react的數據流
- 19: redux的原理 APPdispatch store...
- 20: 移動端原生代碼屏幕適配
- 21: 代碼:鏈表反轉、數組反轉
- 22: module.export exports export的區別
- 23: 代碼:判斷空對象爲空的方法,大約是寫出隱式轉換的底層代碼
- 24: 跨域相關的問題
- 25: webpack都用過哪些loader和plugin,說的vue-loader,又問vue-loader通過轉換成了什麼格式
- 26:TCP 握手,分手,擁塞控制,流量控制
- 27:有哪些緩存策略
- 28:簡單介紹進程與線程
- 29:介紹基本的數據結構及其應用,隊列,棧,堆。函數的執行棧和堆內存
- 30:編程題:實現一個簡單的 EventEmitter(on監聽,emit觸發發送事件)
- 31:簡單介紹一下 body-parser 的做用和原理
- 32:各種排序算法介紹,冒泡,快排,堆排,以及相應的算法複雜度
- 33:怎麼實現函數內部能夠訪問函數外部,可是函數外部不能訪問函數內部?(閉包底層如何實現。閉包原理:做用域鏈相關)
- 34:實現樹的前序遍歷,和反向鏈表
- 35:圖片懶加載,怎麼實現?代碼怎麼寫?
- 36:如何避免迴流和重繪?
- 37:https的混合加密原理,爲何要使用非對稱加密和對稱加密兩種加密方式?
[加密的兩種方式](https://www.cnblogs.com/xiohao/p/9054355.html)
所謂非對稱加密技術是指加密的密鑰e和解密的密鑰d是不一樣的(e!=d),
而且加密的密鑰e是公開的,叫作公鑰,而解密的密鑰d是保密的,叫私鑰。
非對稱加解密的過程以下:加密一方找到接收方的公鑰e(如何找到呢?大部分的公鑰查找工做實際上都是經過數字證書來實現的),
而後用公鑰e對明文p進行加密後獲得密文c,並將獲得的密文發送給接收方,接收方收到密文後,用本身保留的私鑰d進行解密,獲得明文p,
須要注意的是:用公鑰加密的密文,只有擁有私鑰的一方纔能解密,這樣就能夠解決加密的各方能夠統一使用一個公鑰便可。
複製代碼
- 38:百度搜索框同樣的時候,當你輸入內容的時候,下面顯示相應的搜索結果
- 39:基於 http 模塊,寫一個 http server,而且處理 POST 請求這裏 (req 其實是個 stream,獲取 body 的方法是基於註冊 on data 事件實現的)
- 40:介紹本身的項目,介紹了最近作的小程序還有聊天室,問小程序的開發有什麼不同,問了小程序怎麼提高開發效率
- 41:三次握手 爲何是3次,揮手爲何是4次
- 42:閉包 使用場景 舉例,有什麼缺點,爲何外面訪問不到閉包的變量
- 43:typeof instance的區別
- 44:解釋原型鏈
- 45:瀏覽器是如何展現一個頁面的,後面牽扯到了頁面的解析過程,而後問react的話,有什麼不一樣(沒get到他想問的點,跳過)
- 46:性能優化,其中提到了減小重排和重繪,http2,問如何減小重排重繪,http2的多路複用如何實現的,還詳細解釋了強制緩存,協商緩存
- 47:redux,問它的中間件,action,實現原理
- 48:虛擬dom,如何diff,爲何要使用虛擬dom,和直接操做dom相比有什麼好處,跨層級移動dom會怎麼樣
- 49:如何使一個頁面重定向
- 50:解釋服務端渲染,有什麼優點
- 51:作了一個promise async setTimeout打印結果的題
- 52:你有什麼想問的,而後問了技術棧和他們考察候選人會比較看重哪些
- 53:一個解析字符串的題,寫完後,又將題目改了下,從新給出解法,其中用到了正則,問正則有哪幾種模式
- 54:事件冒泡,事件捕獲,怎麼容許事件捕獲,事件委託怎麼實現,好處
- 55:手撕閉包的防抖,節流函數,並能解釋其原理
- 56:兩邊固定寬度,中間自適應,說下有哪些解決方案,而後讓手寫了一下flex和grid方案,問了flex-direction有哪些值