成人黄色在线网站 I 国产aa免费 I 中文字幕免费高清 I 国产三级影院 I 日韩欧美三级在线观看 I 久久久国产精品麻豆a片 I 欧美与黑人午夜性猛交久久久 I 91国产精品视频在线 I 国产美女狂喷水潮在线播放 I 黄页免费网站在线观看 I 欧美日韩激情视频 I 午夜理论无码片在线观看免费 I 深夜爽爽动态图无遮无挡 I 国精产品一区一区三区有限公司杨 I 天天操天天舔天天爽 I 免费看日本黄色片 I 成人va在线 I 日韩中文字幕在线观看 I 婷婷综合网 I 97视频免费观察看 I 色月丁香 I 日韩视频一二三 I 男女黄色毛片 I 美女疯狂连续喷潮视频 I 亚洲日本va一区二区sa I 欧美日韩视频区 I 毛片网在线 I 欧美一本在线 I 少妇一级淫片免费放香蕉 I avav在线看 I 久久精品亚洲中文字幕无码网站 I 天堂av在线中文在线新版 I 电影一区 电影二区 I 色av吧 中文字幕 I 国产精品伊人色

歡迎來(lái)到培訓(xùn)無(wú)憂網(wǎng)!

全國(guó)切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無(wú)憂網(wǎng) > 新聞資訊 > 電腦/IT > web前端 >  前端工程師面試時(shí)常見(jiàn)問(wèn)題及答案匯總2

前端工程師面試時(shí)常見(jiàn)問(wèn)題及答案匯總2

來(lái)源:培訓(xùn)無(wú)憂網(wǎng) 發(fā)布人:木木

2021-10-31 13:59:13|已瀏覽:232次

      1.HTTP 狀態(tài)碼 400、401、403 的含義
      (1)400狀態(tài)碼:請(qǐng)求無(wú)效
      產(chǎn)生原因:
      前端提交數(shù)據(jù)的字段名稱和字段類型與后臺(tái)的實(shí)體沒(méi)有保持一致
      前端提交到后臺(tái)的數(shù)據(jù)應(yīng)該是json字符串類型,但是前端沒(méi)有將對(duì)象JSON.stringify轉(zhuǎn)化成字符串。
      解決方法:
      對(duì)照字段的名稱,保持一致性
      將obj對(duì)象通過(guò)JSON.stringify實(shí)現(xiàn)序列化
      (2)401狀態(tài)碼:當(dāng)前請(qǐng)求需要用戶驗(yàn)證
      (3)403狀態(tài)碼:伺服器已經(jīng)得到請(qǐng)求,但是拒絕執(zhí)行
      2.什么是 CSRF 攻擊,如何避免

      CSRF:Cross-Site Request Forgery(中文:跨站請(qǐng)求偽造),可以理解為攻擊者盜用了你的身份,以你的名義發(fā)送惡意請(qǐng)求,比如:以你名義發(fā)送郵件、發(fā)消息、購(gòu)買商品,虛擬貨幣轉(zhuǎn)賬等。

       防御手段:驗(yàn)證請(qǐng)求來(lái)源地址; 關(guān)鍵操作添加驗(yàn)證碼; 在請(qǐng)求地址添加 token 并驗(yàn)證。

      3.請(qǐng)你解釋一下TCP為什么可靠一些
      三次握手,超時(shí)重傳,滑動(dòng)窗口,擁塞控制。
      4.forward 和 redirect 的區(qū)別
      forward 是轉(zhuǎn)發(fā) 和 redirect 是重定向:
      地址欄 url 顯示:foward url 不會(huì)發(fā)生改變,redirect url 會(huì)發(fā)生改變;
      數(shù)據(jù)共享:forward 可以共享 request 里的數(shù)據(jù),redirect 不能共享;
      效率:forward 比 redirect 效率高。
      5.WebSocket的實(shí)現(xiàn)和應(yīng)用
      (1)什么是WebSocket
      WebSocket是HTML5中的協(xié)議,支持持久連續(xù),http協(xié)議不支持持久性連接。Http1.0和HTTP1.1都不支持持久性的鏈接,HTTP1.1中的keep-alive,將多個(gè)http請(qǐng)求合并為1個(gè)
      (2)WebSocket是什么樣的協(xié)議,具體有什么優(yōu)點(diǎn)
      HTTP的生命周期通過(guò)Request來(lái)界定,也就是Request一個(gè)Response,那么在Http1.0協(xié)議中,這次Http請(qǐng)求就結(jié)束了。在Http1.1中進(jìn)行了改進(jìn),是的有一個(gè)connection:Keep-alive,也就是說(shuō),在一個(gè)Http連接中,可以發(fā)送多個(gè)Request,接收多個(gè)Response。但是必須記住,在Http中一個(gè)Request只能對(duì)應(yīng)有一個(gè)Response,而且這個(gè)Response是被動(dòng)的,不能主動(dòng)發(fā)起。
      WebSocket是基于Http協(xié)議的,或者說(shuō)借用了Http協(xié)議來(lái)完成一部分握手,在握手階段與Http是相同的。我們來(lái)看一個(gè)websocket握手協(xié)議的實(shí)現(xiàn),基本是2個(gè)屬性,upgrade,connection。
      6.請(qǐng)你說(shuō)一下http協(xié)議會(huì)話結(jié)束標(biāo)志怎么截出來(lái)
      看tcp連接是否有斷開(kāi)的四部揮手階段。
      7.HTTP具體有哪些請(qǐng)求頭是跟緩存相關(guān)的
      緩存分為兩種:強(qiáng)緩存和協(xié)商緩存,根據(jù)響應(yīng)的header內(nèi)容來(lái)決定。
      強(qiáng)緩存相關(guān)字段有expires,cache-control。如果cache-control與expires同時(shí)存在的話,cache-control的優(yōu)先級(jí)高于expires。
      協(xié)商緩存相關(guān)字段有Last-Modified/If-Modified-Since,Etag/If-None-Match
      8.請(qǐng)你講講http1.1和1.0的區(qū)別
      主要區(qū)別主要體現(xiàn)在:
      緩存處理,在HTTP1.0中主要使用header里的If-Modified-Since,Expires來(lái)做為緩存判斷的標(biāo)準(zhǔn),HTTP1.1則引入了更多的緩存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供選擇的緩存頭來(lái)控制緩存策略。
      帶寬優(yōu)化及網(wǎng)絡(luò)連接的使用,HTTP1.0中,存在一些浪費(fèi)帶寬的現(xiàn)象,例如客戶端只是需要某個(gè)對(duì)象的一部分,而伺服器卻將整個(gè)對(duì)象送過(guò)來(lái)了,并且不支持?jǐn)帱c(diǎn)續(xù)傳功能,HTTP1.1則在請(qǐng)求頭引入了range頭域,它允許只請(qǐng)求資源的某個(gè)部分,即返回碼是206(Partial Content),這樣就方便了開(kāi)發(fā)者自由的選擇以便于充分利用帶寬和連接。
      錯(cuò)誤通知的管理,在HTTP1.1中新增了24個(gè)錯(cuò)誤狀態(tài)響應(yīng)碼,如409(Conflict)表示請(qǐng)求的資源與資源的當(dāng)前狀態(tài)發(fā)生沖突;410(Gone)表示伺服器上的某個(gè)資源被永久性的刪除。
      Host頭處理,在HTTP1.0中認(rèn)為每臺(tái)伺服器都綁定一個(gè)唯一的IP地址,因此,請(qǐng)求消息中的URL并沒(méi)有傳遞主機(jī)名(hostname)。但隨著虛擬主機(jī)技術(shù)的發(fā)展,在一臺(tái)物理伺服器上可以存在多個(gè)虛擬主機(jī)(Multi-homed Web Servers),并且它們共享一個(gè)IP地址。HTTP1.1的請(qǐng)求消息和響應(yīng)消息都應(yīng)支持Host頭域,且請(qǐng)求消息中如果沒(méi)有Host頭域會(huì)報(bào)告一個(gè)錯(cuò)誤(400 Bad Request)。
      長(zhǎng)連接,HTTP 1.1支持長(zhǎng)連接(PersistentConnection)和請(qǐng)求的流水線(Pipelining)處理,在一個(gè)TCP連接上可以傳送多個(gè)HTTP請(qǐng)求和響應(yīng),減少了建立和關(guān)閉連接的消耗和延遲,在HTTP1.1中默認(rèn)開(kāi)啟Connection: keep-alive,一定程度上彌補(bǔ)了HTTP1.0每次請(qǐng)求都要?jiǎng)?chuàng)建連接的缺點(diǎn)。
      9.請(qǐng)簡(jiǎn)單解釋一下,arp協(xié)議和arp攻擊。
      地址解析協(xié)議。ARP攻擊的第一步就是ARP欺騙。由上述“ARP協(xié)議的工作過(guò)程”我們知道,ARP協(xié)議基本沒(méi)有對(duì)網(wǎng)絡(luò)的安全性做任何思考,當(dāng)時(shí)人們考慮的重點(diǎn)是如何保證網(wǎng)絡(luò)通信能夠正確和快速的完成——ARP協(xié)議工作的前提是默認(rèn)了其所在的網(wǎng)絡(luò)是一個(gè)善良的網(wǎng)絡(luò),每臺(tái)主機(jī)在向網(wǎng)絡(luò)中發(fā)送應(yīng)答信號(hào)時(shí)都是使用的真實(shí)身份。不過(guò)后來(lái),人們發(fā)現(xiàn)ARP應(yīng)答中的IP地址和MAC地址中的信息是可以偽造的,并不一定是自己的真實(shí)IP地址和MAC地址,由此,ARP欺騙就產(chǎn)生了。
      10.HTTP HEAD請(qǐng)求的含義
      head:類似于get請(qǐng)求,只不過(guò)返回的響應(yīng)中沒(méi)有具體的內(nèi)容,用戶獲取報(bào)頭
      options:允許客戶端查看伺服器的性能,比如說(shuō)伺服器支持的請(qǐng)求方式等等。
      11.請(qǐng)回答一下HTTP和HTTPS的區(qū)別,以及HTTPS有什么缺點(diǎn)
      HTTP協(xié)議和HTTPS協(xié)議區(qū)別如下:
      (1)HTTP協(xié)議是以明文的方式在網(wǎng)絡(luò)中傳輸數(shù)據(jù),而HTTPS協(xié)議傳輸?shù)臄?shù)據(jù)則是經(jīng)過(guò)TLS加密后的,HTTPS具有更高的安全性
      (2)HTTPS在TCP三次握手階段之后,還需要進(jìn)行SSL 的handshake,協(xié)商加密使用的對(duì)稱加密密鑰
      (3)HTTPS協(xié)議需要服務(wù)端申請(qǐng)證書(shū),瀏覽器端安裝對(duì)應(yīng)的根證書(shū)
      (4)HTTP協(xié)議端口是80,HTTPS協(xié)議端口是443
      HTTPS優(yōu)點(diǎn):
      HTTPS傳輸數(shù)據(jù)過(guò)程中使用密鑰進(jìn)行加密,所以安全性更高
      HTTPS協(xié)議可以認(rèn)證用戶和伺服器,確保數(shù)據(jù)發(fā)送到正確的用戶和伺服器
      HTTPS缺點(diǎn):
      HTTPS握手階段延時(shí)較高:由于在進(jìn)行HTTP會(huì)話之前還需要進(jìn)行SSL握手,因此HTTPS協(xié)議握手階段延時(shí)增加
      HTTPS部署成本高:一方面HTTPS協(xié)議需要使用證書(shū)來(lái)驗(yàn)證自身的安全性,所以需要購(gòu)買CA證書(shū);另一方面由于采用HTTPS協(xié)議需要進(jìn)行加解密的計(jì)算,占用CPU資源較多,需要的伺服器配置或數(shù)目高
      12.請(qǐng)問(wèn)你有沒(méi)有基于做過(guò)socket的開(kāi)發(fā)具體網(wǎng)絡(luò)層的操作該怎么做(其實(shí)也是問(wèn)網(wǎng)絡(luò)編程的基本步驟)
      服務(wù)端:socket-bind-listen-accept
      客戶端:socket-connect
      13.ip報(bào)文經(jīng)過(guò)一個(gè)路由器改變哪些字段
      源和目的的IP地址,源和目的的MAC地址以及TTL值。
      14.HTTP2.0 有哪些特性
      (1)內(nèi)容安全,應(yīng)為http2.0是基于https的,天然具有安全特性,通過(guò)http2.0的特性可以避免單純使用https的性能下降
      (2)二進(jìn)制格式,http1.X的解析是基于文本的,http2.0將所有的傳輸信息分割為更小的消息和幀,并對(duì)他們采用二進(jìn)制格式編碼,基于二進(jìn)制可以讓協(xié)議有更多的擴(kuò)展性,比如引入了幀來(lái)傳輸數(shù)據(jù)和指令
      (3)多路復(fù)用,這個(gè)功能相當(dāng)于是長(zhǎng)連接的增強(qiáng),每個(gè)request請(qǐng)求可以隨機(jī)的混雜在一起,接收方可以根據(jù)request的id將request再歸屬到各自不同的服務(wù)端請(qǐng)求里面,另外多路復(fù)用中也支持了流的優(yōu)先級(jí),允許客戶端告訴伺服器那些內(nèi)容是更優(yōu)先級(jí)的資源,可以優(yōu)先傳輸。
      15.HTTP狀態(tài)碼 304 的含義什么時(shí)候用304
      304:如果客戶端發(fā)送了一個(gè)帶條件的GET 請(qǐng)求且該請(qǐng)求已被允許,而文檔的內(nèi)容(自上次訪問(wèn)以來(lái)或者根據(jù)請(qǐng)求的條件)并沒(méi)有改變,則伺服器應(yīng)當(dāng)返回這個(gè)304狀態(tài)碼。
      16.請(qǐng)說(shuō)明一下http和https的區(qū)別
      https協(xié)議要申請(qǐng)證書(shū)到ca,需要一定經(jīng)濟(jì)成本;2) http是明文傳輸,https是加密的安全傳輸;3) 連接的端口不一樣,http是80,https是443;4)http連接很簡(jiǎn)單,沒(méi)有狀態(tài);https是ssl加密的傳輸,身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,相對(duì)http傳輸比較安全。
      17.你知道TCP協(xié)議、IP協(xié)議、HTTP協(xié)議分別在哪一層嗎
      考察點(diǎn):網(wǎng)絡(luò)七層模型
      運(yùn)輸層,網(wǎng)絡(luò)層,應(yīng)用層。
      七層結(jié)構(gòu):物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層
      tcp屬于傳輸層;http屬于應(yīng)用層。
      18.HTTP常見(jiàn)的請(qǐng)求方法
      get、post,這兩個(gè)用的是最多的,還有很多比如patch、delete、put、options等等
      19.請(qǐng)你說(shuō)一下阻塞,非阻塞,同步,異步
      阻塞和非阻塞:調(diào)用者在事件沒(méi)有發(fā)生的時(shí)候,一直在等待事件發(fā)生,不能去處理別的任務(wù)這是阻塞。調(diào)用者在事件沒(méi)有發(fā)生的時(shí)候,可以去處理別的任務(wù)這是非阻塞。
      同步和異步:調(diào)用者必須循環(huán)自去查看事件有沒(méi)有發(fā)生,這種情況是同步。調(diào)用者不用自己去查看事件有沒(méi)有發(fā)生,而是等待著注冊(cè)在事件上的回調(diào)函數(shù)通知自己,這種情況是異步
      20.搜索baidu,會(huì)用到計(jì)算機(jī)網(wǎng)絡(luò)中的什么層每層是干什么的
      瀏覽器中輸入U(xiǎn)RL
      瀏覽器要將URL解析為IP地址,解析域名就要用到DNS協(xié)議,首先主機(jī)會(huì)查詢DNS的緩存,如果沒(méi)有就給本地DNS發(fā)送查詢請(qǐng)求。DNS查詢分為兩種方式,一種是遞歸查詢,一種是迭代查詢。如果是迭代查詢,本地的DNS伺服器,向根域名伺服器發(fā)送查詢請(qǐng)求,根域名伺服器告知該域名的一級(jí)域名伺服器,然后本地伺服器給該一級(jí)域名伺服器發(fā)送查詢請(qǐng)求,然后依次類推直到查詢到該域名的IP地址。DNS伺服器是基于UDP的,因此會(huì)用到UDP協(xié)議。
      得到IP地址后,瀏覽器就要與伺服器建立一個(gè)http連接。因此要用到http協(xié)議,http協(xié)議報(bào)文格式上面已經(jīng)提到。http生成一個(gè)get請(qǐng)求報(bào)文,將該報(bào)文傳給TCP層處理,所以還會(huì)用到TCP協(xié)議。如果采用https還會(huì)使用https協(xié)議先對(duì)http數(shù)據(jù)進(jìn)行加密。TCP層如果有需要先將HTTP數(shù)據(jù)包分片,分片依據(jù)路徑MTU和MSS。TCP的數(shù)據(jù)包然后會(huì)發(fā)送給IP層,用到IP協(xié)議。IP層通過(guò)路由選路,一跳一跳發(fā)送到目的地址。當(dāng)然在一個(gè)網(wǎng)段內(nèi)的尋址是通過(guò)以太網(wǎng)協(xié)議實(shí)現(xiàn)(也可以是其他物理層協(xié)議,比如PPP,SLIP),以太網(wǎng)協(xié)議需要直到目的IP地址的物理地址,有需要ARP協(xié)議。
      其中:
      (1)DNS協(xié)議,http協(xié)議,https協(xié)議屬于應(yīng)用層
      應(yīng)用層是體系結(jié)構(gòu)中的最高層。應(yīng)用層確定進(jìn)程之間通信的性質(zhì)以滿足用戶的需要。這里的進(jìn)程就是指正在運(yùn)行的程序。應(yīng)用層不僅要提供應(yīng)用進(jìn)程所需要的信息交換和遠(yuǎn)地操作,而且還要作為互相作用的應(yīng)用進(jìn)程的用戶代理,來(lái)完成一些為進(jìn)行語(yǔ)義上有意義的信息交換所必須的功能。應(yīng)用層直接為用戶的應(yīng)用進(jìn)程提供服務(wù)。
      (2)TCP/UDP屬于傳輸層
      傳輸層的任務(wù)就是負(fù)責(zé)主機(jī)中兩個(gè)進(jìn)程之間的通信。因特網(wǎng)的傳輸層可使用兩種不同協(xié)議:即面向連接的傳輸控制協(xié)議TCP,和無(wú)連接的用戶數(shù)據(jù)報(bào)協(xié)議UDP。面向連接的服務(wù)能夠提供可靠的交付,但無(wú)連接服務(wù)則不保證提供可靠的交付,它只是“盡最大努力交付”。這兩種服務(wù)方式都很有用,備有其優(yōu)缺點(diǎn)。在分組交換網(wǎng)內(nèi)的各個(gè)交換結(jié)點(diǎn)機(jī)都沒(méi)有傳輸層。
      (3)IP協(xié)議,ARP協(xié)議屬于網(wǎng)絡(luò)層
      網(wǎng)絡(luò)層負(fù)責(zé)為分組交換網(wǎng)上的不同主機(jī)提供通信。在發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)層將運(yùn)輸層產(chǎn)生的報(bào)文段或用戶數(shù)據(jù)報(bào)封裝成分組或包進(jìn)行傳送。在TCP/IP體系中,分組也叫作IP數(shù)據(jù)報(bào),或簡(jiǎn)稱為數(shù)據(jù)報(bào)。網(wǎng)絡(luò)層的另一個(gè)任務(wù)就是要選擇合適的路由,使源主機(jī)運(yùn)輸層所傳下來(lái)的分組能夠交付到目的主機(jī)。
      (4)數(shù)據(jù)鏈路層
      當(dāng)發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)鏈路層的任務(wù)是將在網(wǎng)絡(luò)層交下來(lái)的IP數(shù)據(jù)報(bào)組裝成幀,在兩個(gè)相鄰結(jié)點(diǎn)間的鏈路上傳送以幀為單位的數(shù)據(jù)。每一幀包括數(shù)據(jù)和必要的控制信息(如同步信息、地址信息、差錯(cuò)控制、以及流量控制信息等)。控制信息使接收端能夠知道—個(gè)幀從哪個(gè)比特開(kāi)始和到哪個(gè)比特結(jié)束。控制信息還使接收端能夠檢測(cè)到所收到的幀中有無(wú)差錯(cuò)。
      (5)物理層
      物理層的任務(wù)就是透明地傳送比特流。在物理層上所傳數(shù)據(jù)的單位是比特。傳遞信息所利用的一些物理媒體,如雙絞線、同軸電纜、光纜等,并不在物理層之內(nèi)而是在物理層的下面。因此也有人把物理媒體當(dāng)做第0層。

      

      本文由培訓(xùn)無(wú)憂網(wǎng)千鋒IT培訓(xùn)專屬課程顧問(wèn)老師整理發(fā)布,更多相關(guān)課程請(qǐng)關(guān)注培訓(xùn)無(wú)憂網(wǎng)web前端培訓(xùn)或添加老師微信:15033336050

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://www.hebeijilong.cn/news-id-2829.html 違者必究!部分文章來(lái)源于網(wǎng)絡(luò)由培訓(xùn)無(wú)憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注web前端頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問(wèn)老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無(wú)憂網(wǎng)
免 費(fèi) 申 請(qǐng) 試 聽(tīng)
提交申請(qǐng),《培訓(xùn)無(wú)憂網(wǎng)》課程顧問(wèn)老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專業(yè)課程!