面試題相關

2021-10-08 18:22:12 字數 3709 閱讀 4251

一些位址

osi七層功能及協議

資料鏈路層是如何定址的?

傳送方(已知接收方ip)->arp -> 接收方mac位址 -> 交換機尋找該mac位址所在埠,把幀往這個埠** -> mac通過rarp轉為ip位址。

可靠通訊是靠哪一層來完成的?

網路層 tcp協議

100base-t:100mbps,baseband,雙絞線對。簡而言之,100base-t是一種以100mbps速率工作的區域網(lan)標準,它通常被稱為快速乙太網,並使用utp(非遮蔽雙絞線)銅質電纜。

dom就是文件物件模型(document object model),用於展示文件檢視結構的一種模型。(節點樹)

理解:描述文件中節點元素關係。

節點型別:元素節點(head title a span),屬性節點(href src class),內容節點(元素內文字、等)。

節點操作:

document.

getelementbyid

('car');

document.

getelementsbyclassname

('box');

document.

getelementsbytagname

('li');

document.

queryselector

('#foo');

//匹配第乙個

document.

queryselectorall

('.bar');

//匹配所有

document.

getelementbyid

('car').

getattribute

('title');

//獲取屬性

document.

getelementbyid

('car').

setattribute

('title'

,'nice day!');

//設定屬性 兩個引數(屬性名,值)

document.

getelementsbytagname

("body")[

0].childnodes;

//獲取body下所有子元素

document.

getelementbyid

('child'

).parentnode;

//根據id獲取父元素結點,不能用getelementsbyclassname

document.

getelementbyid

('box'

).firstelementchild;

//獲取第乙個子元素

document.

getelementbyid

('box'

).firstchild;

document.

getelementbyid

('box'

).lastelementchild;

//獲取最後乙個子元素

document.

getelementbyid

('box'

).lastchild;

內容動態插入及建立

createelement

createtextnode

parentelement.

insertbefore

(newelement, targetelement)

;//前插,沒有後插insertafter

瀏覽器向伺服器發起http請求,tcp三次握手)

伺服器傳送資料(**,檔案)給瀏覽器

瀏覽器解析**,三大步驟:(dom構造,布局,繪製頁面)

dom構造 將收到的html**html解析器解析構建為dom樹 css**通過css解析器構建出樣式表

布局 元素巢狀並擺放,未視覺化

繪製頁面 頁面渲染顯示

http發展

0.9:只有一種請求:get。

1.0:三種請求:get 、post、head。

1.1:八種請求:get、post、head、put、options、delete、treace、connect 。

快取機制 資源部分請求206 。

持久連線:在請求首部欄位中設定connection:keep-alive。

2.0:基於spdy協議,多路復用 首部壓縮 請求優先順序 伺服器推送

get和post是什麼?http協議中的兩種傳送請求的方法。

http的底層是tcp/ip。所以get和post的底層也是tcp/ip,也就是說,get/post都是tcp連線。

get

post

get和post還有乙個重大區別。

http與https

無狀態,無連線,基於請求和響應,明文傳輸不安全,80埠

加密,身份驗證(ca證書),保護資料完整性,443埠

https = http + ssl/tsl=http + 加密(非對稱加密,對稱加密,hash演算法) + ca證書 + 完整性保護

優點 加密傳輸,身份確認

缺點 握手階段耗時較長 快取效率不如http ssl證書花錢 ssl繫結ip

tcp連線建立與斷開

三次握手

syn -> syn + ack -> ack (她向你招手 -> 你向她招手並點頭 -> 她向你點頭)

四次揮手

fin->ack->fin->ack

tcp和udp

tcp

udp

跨域伺服器設定access-control-allow-origin

csrf

csrf跨站點請求偽造(cross—site request forgery),django中通過csrf token防止。

xss跨站指令碼攻擊 cross site scripting,是一種**注入攻擊。

防範:

雙向資料繫結

vuev-model本質上是v-bind和v-on的結合體

js 則使用 es5 提供的 object.defineproperty() 方法,監控對資料的操作,從而可以自動觸發資料同步。

在這裡插入**片
瀏覽器儲存

看這

cookie、localstorage、sessionstorage之間的區別

他們都是儲存在瀏覽器端的儲存方式,他們之間的區別:

防抖與節流

防抖與節流

回流與重繪

event loop是乙個程式結構,用於等待和傳送訊息和事件。閉包

前端面試題 css相關面試題

css 選擇器中,元素選擇器和類選擇器的區別是什麼?元素選擇器是最常見的 css 選擇器,即,文件的元素就是最基本的選擇器。選擇器通常是某個 html 元素,比如 等,甚至可以是 元素本身。類選擇器用於將樣式規則與附帶 class 屬性的元素匹配,其中該 class 屬性的值為類選擇器中指定的值。使...

Handler相關面試題

1.handler的作用 a 在非ui執行緒更新ui b 傳送延遲訊息 2.為什麼android設計只能ui執行緒更新ui?a 解決多執行緒併發問題 b 提高介面更新的效能問題 c 架構設計的簡單 3.handler相關的異常 a 只有主線程才能更新ui 解決辦法 向主線程傳送訊息,在主線程的han...

javaweb相關面試題

tomcat apache jboss的區別 apache是http伺服器,tomcat是web伺服器,jboss是應用伺服器 apache解析靜態的html檔案,tomcat可解析jsp動態頁面,也可充當servlet容器 forward 和重定向 redirect 的區別 是伺服器端控制頁面轉向...