前端面試題集錦三

2021-08-05 20:28:06 字數 2982 閱讀 5939

瀏覽器怎麼匹配某個選擇器?

https的原理,加密方式?

由於http是明文傳送資料,不具備加密的功能。通訊協議中通過ssl(安全套接層)或tsl的組合使用 來加密http的通訊內容。http+加密+認證+完整性保護=https。

加密方式:對稱加密方式和非對稱加密。

對稱加密即為加密和解密共用同乙個方式。

非對稱加密使用一對非對稱的加密,傳送密文的一方使用對方的公開金鑰進行加密處理,對方收到被加密的資訊之後,再使用自己的私有金鑰進行解密。

https採用的是共享金鑰加密和公開金鑰加密共同作用的方式。在交換金鑰環節使用公開金鑰加密方式,之後的建立通訊交換報文階段則使用共享金鑰加密方式。

css動畫和js動畫的區別

css動畫:瀏覽器可以對動畫進行優化,它必要時可以建立圖層,然後在主線程之外執行。缺點是:缺乏強大的控制能力。而且很難以有意義的方式結合在一起,使得動畫變得複雜且易於出問題。

js動畫:與css預先設定好的動畫不一樣,可以在動畫過程中進行控制.並且一些動畫效果只有js能完成。缺點:js動畫在瀏覽器的主線程執行,有可能會導致執行緒出現阻塞,從而造成丟幀的現象。

tcp/udp的區別

dns解析的方法

dns是乙個有效管理主機名與ip位址之間對應關係的系統。

快取查詢: 當輸入**後,首先會進行dns解析過程,首先檢測瀏覽器快取終有沒有這個網域名稱解析的ip位址,如果有解析過程結束,若沒有,則檢視本機的hosts檔案中有沒有**對映關係,如果有這個對映關係,則返回ip對映位址。完成網域名稱解析,若沒有,則查詢本地dns解析伺服器快取,是否有這個對映關係。若沒有,則需要進行查詢。

查詢過程: 解析器為了查詢ip位址,首先會向根伺服器進行查詢處理。接收到這個查詢處理的網域名稱伺服器會在自己的資料庫中進行查詢,如果有該網域名稱對應的ip位址就返回。如果沒有,則向上一層根網域名稱伺服器進行查詢處理。從根開始對這顆樹按照順序進行遍歷,直到找到指定的網域名稱伺服器,並由這個網域名稱伺服器返回想要的資料。

函式柯里化

流式布局和響應式布局如何實現?

流式布局主要是針對於類似裝置不同解析度之間的相容問題。

響應式布局主要是解決不同裝置不同解析度之間的相容問題。

流式布局主要是靠百分比進行排版,可以在不同解析度下顯示相同的版式。

響應式布局的關鍵技術是css3中的**查詢,可以在不同解析度下對元素重新設定樣式(不只是尺寸), 在不同螢幕下可以顯示不同版式

一般來說響應式布局配合流式布局效果更好。例如bootstrap。

瀏覽器報告的錯誤型別

rangeerror (數值超過相應範圍)

referenceerror (變數不存在會丟擲範圍)

syntaxerror(解析js**,發現不符合語法規範的token會丟擲syntaxerror、typeerror(訪問不存在的方法或變數中儲存著意外的型別))

urierror(uri格式不正確時會丟擲任務)。

cookie和session的區別?

cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。

cookie的機制是通過http協議來傳送的,cookie的主要內容包括名字,值,過期時間,路徑和域。當設定了過期時間,瀏覽器會把cookie儲存在硬碟裡,且可以在不同的瀏覽器程序中共享,比如兩個ie視窗。

session實現原理:session機制是一種伺服器端的機制,伺服器使用一種類似雜湊表的結構來儲存資訊。當程式需要為某個客戶端的請求建立乙個session時,伺服器會首先檢查這個客戶端請求是否已包含了乙個session標識(sessionid),若已包含,則把sessionid對應的session資訊取出來使用,sessionid將被在本次響應返回客戶端儲存,儲存這個sessionid的形式可以採用cookie,但是當cookie被禁用後必須採用其他機制來儲存。經常被使用的一種技術叫做url重寫,就是把session id直接附加在url路徑的後面。還有一種技術叫做表單隱藏字段。

區別: cookie安全性不高,可以分析儲存在本地的cookie並進行cookie欺騙考慮到安全應使用session; session會在一定時間內儲存在伺服器上,當訪問增多,會比較占用伺服器的效能。但單個cookie儲存的資料不能超過4k,乙個瀏覽器都限制乙個站點最多儲存20個cookie.

http請求中哪些是冪等性的?

http的冪等性是指一次或者多次請求某乙個資源應該具有相同的***。

首先針對於get用於請求資源,沒有***,所以是冪等性的;put主要用於傳輸檔案,更新資源本身,會產生相同的***,而post不具備冪等性,兩次相同的請求,資源會被建立兩次,所以不具備;head與get都用於請求資源,但是head不返回報文主體,所以具備冪等性。opations也具備冪等性,主要是檢測支援的方法。

資料庫為什麼要進行讀寫分離?

當使用者到一定規模,資料庫會因為負載壓力過高而成為**的瓶頸。

目前大部分資料庫都提供主從熱備功能,通過配置兩台資料庫主從關係,可以將一台資料庫伺服器的資料更新到另一台伺服器,實現資料庫讀寫分析,改善資料庫負載壓力。應用伺服器將資料寫入主伺服器,主伺服器通過主從複製將資料更新同步到從伺服器,即應用伺服器可以從從伺服器讀取資料。

正向**和反向**的區別?

正向****客戶端來向客戶端傳送乙個請求,主要是用於使用者端部署使用,反向****伺服器,用於接收客戶端的請求。接收到客戶端請求後,將請求分配給真實的伺服器。

前端面試題集錦(三)

target和currenttarget區別於聯絡 target是指乙個觸發物件的引用,currenttarget是用來標識事件的當前目標 例如 e.target可以用來實現事件委託,原理是通過事件冒泡 或事件捕獲 給父元素新增事件監聽,e.target指向觸發元素的事件,例如在上述的例子中,e.t...

前端面試題(三)

怎麼設定靜態資源快取時間 1.設定expires屬性 2.設定cache control max age 毫秒瀏覽器今天請求了靜態檔案,如果檔案設定乙個月快取,明天再訪問,會不會發起網路請求 1.主流瀏覽器會根據最近一次訪問時間,減去last modify,再除以十,來決定對這個檔案儲存多久。也即 ...

前端面試題(三)

px畫素,相對長度單位 em相對長度單位,會繼承父元素的字型大小 rem相對長度單位,會根據節點html定義,不會受父元素的影響。盒子模型包含內容的大小,padding,border,margin css盒子模型分為ie盒子模型和標準盒子模型 ie盒子模型內容的寬高包含了padding和border...