小猿圈WEB前端面試題之AJAX面試題

金三銀四已經(jīng)過(guò)去了,你升值加薪了嗎?你重新找工作了嗎?你跳槽了嗎?你面試的時(shí)候緊張了嗎???你注意過(guò)面試管問(wèn)你的問(wèn)題了嗎?小猿圈web前端講師分享WEB前端面試題之AJAX面試題,希望對(duì)小伙伴們有所幫助。

1,Ajax是什么? 如何創(chuàng)建一個(gè)Ajax?

ajax是一種創(chuàng)建交互式網(wǎng)頁(yè)的計(jì)算,ajax的全稱(chēng):Asynchronous Javascript And XML。異步傳輸+js+xml。

所謂異步,在這里簡(jiǎn)單地解釋就是:向服務(wù)器發(fā)送請(qǐng)求的時(shí)候,我們不必等待結(jié)果,而是可以同時(shí)做其他的事情,等到有了結(jié)果它自己會(huì)根據(jù)設(shè)定進(jìn)行后續(xù)操作,與此同時(shí),頁(yè)面是不會(huì)發(fā)生整頁(yè)刷新的,提高了用戶(hù)體驗(yàn)

(1)創(chuàng)建XMLHttpRequest對(duì)象,也就是創(chuàng)建一個(gè)異步調(diào)用對(duì)象

(2)創(chuàng)建一個(gè)新的HTTP請(qǐng)求,并指定該HTTP請(qǐng)求的方法、URL及驗(yàn)證信息

(3)設(shè)置響應(yīng)HTTP請(qǐng)求狀態(tài)變化的函數(shù)

(4)發(fā)送HTTP請(qǐng)求

(5)獲取異步調(diào)用返回的數(shù)據(jù)

(6)使用JavaScript和DOM實(shí)現(xiàn)局部刷新

2,同步和異步的區(qū)別?

同步的概念應(yīng)該是來(lái)自于OS中關(guān)于同步的概念:不同進(jìn)程為協(xié)同完成某項(xiàng)工作而在先后次序上調(diào)整(通過(guò)阻塞,喚醒等方式).同步強(qiáng)調(diào)的是順序性.誰(shuí)先誰(shuí)后.異步則不存在這種順序性。

同步:瀏覽器訪問(wèn)服務(wù)器請(qǐng)求,用戶(hù)看得到頁(yè)面刷新,重新發(fā)請(qǐng)求,等請(qǐng)求完,頁(yè)面刷新,新內(nèi)容出現(xiàn),用戶(hù)看到新內(nèi)容,進(jìn)行下一步操作。

異步:瀏覽器訪問(wèn)服務(wù)器請(qǐng)求,用戶(hù)正常操作,瀏覽器后端進(jìn)行請(qǐng)求。等請(qǐng)求完,頁(yè)面不刷新,新內(nèi)容也會(huì)出現(xiàn),用戶(hù)看到新內(nèi)容。

3,如何解決跨域問(wèn)題?

jsonp、 iframe、window.name、window.postMessage、服務(wù)器上設(shè)置代理頁(yè)面

4,http狀態(tài)碼有那些?分別代表是什么意思?

100? Continue? 繼續(xù),一般在發(fā)送post請(qǐng)求時(shí),已發(fā)送了http header之后服務(wù)端將返回此信息,表示確認(rèn),之后發(fā)送具體參數(shù)信息

200? OK? ? ? ? 正常返回信息

201? Created? ? 請(qǐng)求成功并且服務(wù)器創(chuàng)建了新的資源

202? Accepted? 服務(wù)器已接受請(qǐng)求,但尚未處理

301? Moved Permanently? 請(qǐng)求的網(wǎng)頁(yè)已永久移動(dòng)到新位置。

302 Found? ? ? 臨時(shí)性重定向。

303 See Other? 臨時(shí)性重定向,且總是使用 GET 請(qǐng)求新的 URI。

304? Not Modified 自從上次請(qǐng)求后,請(qǐng)求的網(wǎng)頁(yè)未修改過(guò)。

400 Bad Request? 服務(wù)器無(wú)法理解請(qǐng)求的格式,客戶(hù)端不應(yīng)當(dāng)嘗試再次使用相同的內(nèi)容發(fā)起請(qǐng)求。

401 Unauthorized 請(qǐng)求未授權(quán)。

403 Forbidden? 禁止訪問(wèn)。

404 Not Found? 找不到如何與 URI 相匹配的資源。

500 Internal Server Error? 最常見(jiàn)的服務(wù)器端錯(cuò)誤。

503 Service Unavailable 服務(wù)器端暫時(shí)無(wú)法處理請(qǐng)求(可能是過(guò)載或維護(hù))

5,一個(gè)頁(yè)面從輸入 URL 到頁(yè)面加載顯示完成,這個(gè)過(guò)程中都發(fā)生了什么?(流程說(shuō)的越詳細(xì)越好)

注:這題勝在區(qū)分度高,知識(shí)點(diǎn)覆蓋廣,再不懂的人,也能答出幾句,而高手可以根據(jù)自己擅長(zhǎng)的領(lǐng)域自由發(fā)揮,從URL規(guī)范、HTTP協(xié)議、DNS、CDN、數(shù)據(jù)庫(kù)查詢(xún)、到瀏覽器流式解析、CSS規(guī)則構(gòu)建、layout、paint、onload/domready、JS執(zhí)行、JS API綁定等等;

詳細(xì)版:

? ? 1、瀏覽器會(huì)開(kāi)啟一個(gè)線程來(lái)處理這個(gè)請(qǐng)求,對(duì) URL 分析判斷如果是 http 協(xié)議就按照 Web 方式來(lái)處理;

? ? 2、調(diào)用瀏覽器內(nèi)核中的對(duì)應(yīng)方法,比如 WebView 中的 loadUrl 方法;

? ? 3、通過(guò)DNS解析獲取網(wǎng)址的IP地址,設(shè)置 UA 等信息發(fā)出第二個(gè)GET請(qǐng)求;

? ? 4、進(jìn)行HTTP協(xié)議會(huì)話,客戶(hù)端發(fā)送報(bào)頭(請(qǐng)求報(bào)頭);

? ? 5、進(jìn)入到web服務(wù)器上的 Web Server,如 Apache、Tomcat、Node.JS 等服務(wù)器;

? ? 6、進(jìn)入部署好的后端應(yīng)用,如 PHP、Java、JavaScript、Python 等,找到對(duì)應(yīng)的請(qǐng)求處理;

? ? 7、處理結(jié)束回饋報(bào)頭,此處如果瀏覽器訪問(wèn)過(guò),緩存上有對(duì)應(yīng)資源,會(huì)與服務(wù)器最后修改時(shí)間對(duì)比,一致則返回304;

? ? 8、瀏覽器開(kāi)始下載html文檔(響應(yīng)報(bào)頭,狀態(tài)碼200),同時(shí)使用緩存;

? ? 9、文檔樹(shù)建立,根據(jù)標(biāo)記請(qǐng)求所需指定MIME類(lèi)型的文件(比如css、js),同時(shí)設(shè)置了cookie;

? ? 10、頁(yè)面開(kāi)始渲染DOM,JS根據(jù)DOM API操作DOM,執(zhí)行事件綁定等,頁(yè)面顯示完成。

簡(jiǎn)潔版:

? ? 瀏覽器根據(jù)請(qǐng)求的URL交給DNS域名解析,找到真實(shí)IP,向服務(wù)器發(fā)起請(qǐng)求;

? ? 服務(wù)器交給后臺(tái)處理完成后返回?cái)?shù)據(jù),瀏覽器接收文件(HTML、JS、CSS、圖象等);

? ? 瀏覽器對(duì)加載到的資源(HTML、JS、CSS等)進(jìn)行語(yǔ)法解析,建立相應(yīng)的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如HTML的DOM);

? ? 載入解析到的資源文件,渲染頁(yè)面,完成。

以上就是小猿圈web前端講師給大家分享的WEB前端面試題之AJAX面試題,希望對(duì)小伙伴們有所幫助,想要了解更多內(nèi)容的小伙伴可以到小猿圈去看視頻,里面有最新最全面的技術(shù),希望對(duì)你剛剛開(kāi)始學(xué)習(xí)web前端、Java、python的你有所幫助。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,804評(píng)論 1 45
  • 前端開(kāi)發(fā)面試題 面試題目: 根據(jù)你的等級(jí)和職位的變化,入門(mén)級(jí)到專(zhuān)家級(jí),廣度和深度都會(huì)有所增加。 題目類(lèi)型: 理論知...
    怡寶丶閱讀 2,682評(píng)論 0 7
  • 1.幾種基本數(shù)據(jù)類(lèi)型?復(fù)雜數(shù)據(jù)類(lèi)型?值類(lèi)型和引用數(shù)據(jù)類(lèi)型?堆棧數(shù)據(jù)結(jié)構(gòu)? 基本數(shù)據(jù)類(lèi)型:Undefined、Nul...
    極樂(lè)君閱讀 5,878評(píng)論 0 106
  • 【轉(zhuǎn)載】CSDN - 張林blog http://blog.csdn.net/XIAOZHUXMEN/articl...
    竿牘閱讀 3,589評(píng)論 1 14
  • 這是個(gè)老生常談的話題,管理有三個(gè)層次: 提出問(wèn)題,分析問(wèn)題和解決問(wèn)題。 絕大多數(shù)情況下,甚至一般人連基本的提出問(wèn)題...
    someday閱讀 1,309評(píng)論 0 0

友情鏈接更多精彩內(nèi)容