前端面試題總結(jié)

1.一些開放性題目

1.自我介紹:除了基本個(gè)人信息以外圈匆,面試官更想聽的是你與眾不同的地方和你的優(yōu)勢(shì)。

2.項(xiàng)目介紹

3.如何看待前端開發(fā)?

4.平時(shí)是如何學(xué)習(xí)前端開發(fā)的柳沙?

5.未來(lái)三到五年的規(guī)劃是怎樣的?

position的值拌倍, relative和absolute分別是相對(duì)于誰(shuí)進(jìn)行定位的赂鲤?

absolute :生成絕對(duì)定位的元素噪径, 相對(duì)于最近一級(jí)的 定位不是 static 的父元素來(lái)進(jìn)行定位。

fixed (老IE不支持)生成絕對(duì)定位的元素数初,通常相對(duì)于瀏覽器窗口或 frame 進(jìn)行定位找爱。

relative 生成相對(duì)定位的元素,相對(duì)于其在普通流中的位置進(jìn)行定位泡孩。

static 默認(rèn)值车摄。沒有定位,元素出現(xiàn)在正常的流中

sticky 生成粘性定位的元素仑鸥,容器的位置根據(jù)正常文檔流計(jì)算得出

如何解決跨域問題

JSONP:

原理是:動(dòng)態(tài)插入script標(biāo)簽吮播,通過(guò)script標(biāo)簽引入一個(gè)js文件,這個(gè)js文件載入成功后會(huì)執(zhí)行我們?cè)趗rl參數(shù)中指定的函數(shù)眼俊,并且會(huì)把我們需要的json數(shù)據(jù)作為參數(shù)傳入意狠。

由于同源策略的限制,XmlHttpRequest只允許請(qǐng)求當(dāng)前源(域名疮胖、協(xié)議环戈、端口)的資源,為了實(shí)現(xiàn)跨域請(qǐng)求获列,可以通過(guò)script標(biāo)簽實(shí)現(xiàn)跨域請(qǐng)求谷市,然后在服務(wù)端輸出JSON數(shù)據(jù)并執(zhí)行回調(diào)函數(shù),從而解決了跨域的數(shù)據(jù)請(qǐng)求击孩。

優(yōu)點(diǎn)是兼容性好迫悠,簡(jiǎn)單易用,支持瀏覽器與服務(wù)器雙向通信巩梢。缺點(diǎn)是只支持GET請(qǐng)求创泄。

JSONP:json+padding(內(nèi)填充),顧名思義括蝠,就是把JSON填充到一個(gè)盒子里

<script>

? ? function createJs(sUrl){

? ? ? ? var oScript = document.createElement('script');

? ? ? ? oScript.type = 'text/javascript';

? ? ? ? oScript.src = sUrl;

? ? ? ? document.getElementsByTagName('head')[0].appendChild(oScript);

? ? }

? ? createJs('jsonp.js');

? ? box({

? ? ? 'name': 'test'

? ? });

? ? function box(json){

? ? ? ? alert(json.name);

? ? }

</script>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

CORS

服務(wù)器端對(duì)于CORS的支持鞠抑,主要就是通過(guò)設(shè)置Access-Control-Allow-Origin來(lái)進(jìn)行的。如果瀏覽器檢測(cè)到相應(yīng)的設(shè)置忌警,就可以允許Ajax進(jìn)行跨域的訪問搁拙。

通過(guò)修改document.domain來(lái)跨子域

將子域和主域的document.domain設(shè)為同一個(gè)主域.前提條件:這兩個(gè)域名必須屬于同一個(gè)基礎(chǔ)域名!而且所用的協(xié)議,端口都要一致法绵,否則無(wú)法利用document.domain進(jìn)行跨域

主域相同的使用document.domain

使用window.name來(lái)進(jìn)行跨域

window對(duì)象有個(gè)name屬性箕速,該屬性有個(gè)特征:即在一個(gè)窗口(window)的生命周期內(nèi),窗口載入的所有的頁(yè)面都是共享一個(gè)window.name的,每個(gè)頁(yè)面對(duì)window.name都有讀寫的權(quán)限朋譬,window.name是持久存在一個(gè)窗口載入過(guò)的所有頁(yè)面中的

使用HTML5中新引進(jìn)的window.postMessage方法來(lái)跨域傳送數(shù)據(jù)

還有flash盐茎、在服務(wù)器上設(shè)置代理頁(yè)面等跨域方式。個(gè)人認(rèn)為window.name的方法既不復(fù)雜徙赢,也能兼容到幾乎所有瀏覽器字柠,這真是極好的一種跨域方法探越。

XML和JSON的區(qū)別?

(1).數(shù)據(jù)體積方面窑业。

JSON相對(duì)于XML來(lái)講钦幔,數(shù)據(jù)的體積小,傳遞的速度更快些数冬。

(2).數(shù)據(jù)交互方面节槐。

JSON與JavaScript的交互更加方便,更容易解析處理拐纱,更好的數(shù)據(jù)交互铜异。

(3).數(shù)據(jù)描述方面。

JSON對(duì)數(shù)據(jù)的描述性比XML較差秸架。

(4).傳輸速度方面揍庄。

JSON的速度要遠(yuǎn)遠(yuǎn)快于XML。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

談?wù)勀銓?duì)webpack的看法

WebPack 是一個(gè)模塊打包工具东抹,你可以使用WebPack管理你的模塊依賴蚂子,并編繹輸出模塊們所需的靜態(tài)文件。它能夠很好地管理缭黔、打包Web開發(fā)中所用到的HTML食茎、JavaScript、CSS以及各種靜態(tài)文件(圖片馏谨、字體等)别渔,讓開發(fā)過(guò)程更加高效。對(duì)于不同類型的資源惧互,webpack有對(duì)應(yīng)的模塊加載器哎媚。webpack模塊打包器會(huì)分析模塊間的依賴關(guān)系,最后 生成了優(yōu)化且合并后的靜態(tài)資源喊儡。

webpack的兩大特色:

1.code splitting(可以自動(dòng)完成)

2.loader 可以處理各種類型的靜態(tài)文件拨与,并且支持串聯(lián)操作

webpack 是以commonJS的形式來(lái)書寫腳本滴,但對(duì) AMD/CMD 的支持也很全面艾猜,方便舊項(xiàng)目進(jìn)行代碼遷移买喧。

webpack具有requireJs和browserify的功能,但仍有很多自己的新特性:

1. 對(duì) CommonJS 匆赃、 AMD 淤毛、ES6的語(yǔ)法做了兼容

2. 對(duì)js、css炸庞、圖片等資源文件都支持打包

3. 串聯(lián)式模塊加載器以及插件機(jī)制钱床,讓其具有更好的靈活性和擴(kuò)展性荚斯,例如提供對(duì)CoffeeScript埠居、ES6的支持

4. 有獨(dú)立的配置文件webpack.config.js

5. 可以將代碼切割成不同的chunk查牌,實(shí)現(xiàn)按需加載,降低了初始化時(shí)間

6. 支持 SourceUrls 和 SourceMaps滥壕,易于調(diào)試

7. 具有強(qiáng)大的Plugin接口纸颜,大多是內(nèi)部插件,使用起來(lái)比較靈活

8.webpack 使用異步 IO 并具有多級(jí)緩存绎橘。這使得 webpack 很快且在增量編譯上更加快

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

說(shuō)說(shuō)TCP傳輸?shù)娜挝帐炙拇螕]手策略

為了準(zhǔn)確無(wú)誤地把數(shù)據(jù)送達(dá)目標(biāo)處胁孙,TCP協(xié)議采用了三次握手策略。用TCP協(xié)議把數(shù)據(jù)包送出去后称鳞,TCP不會(huì)對(duì)傳送 后的情況置之不理涮较,它一定會(huì)向?qū)Ψ酱_認(rèn)是否成功送達(dá)。握手過(guò)程中使用了TCP的標(biāo)志:SYN和ACK冈止。

發(fā)送端首先發(fā)送一個(gè)帶SYN標(biāo)志的數(shù)據(jù)包給對(duì)方狂票。接收端收到后,回傳一個(gè)帶有SYN/ACK標(biāo)志的數(shù)據(jù)包以示傳達(dá)確認(rèn)信息熙暴。

最后闺属,發(fā)送端再回傳一個(gè)帶ACK標(biāo)志的數(shù)據(jù)包,代表“握手”結(jié)束周霉。

若在握手過(guò)程中某個(gè)階段莫名中斷掂器,TCP協(xié)議會(huì)再次以相同的順序發(fā)送相同的數(shù)據(jù)包。

斷開一個(gè)TCP連接則需要“四次握手”:

第一次揮手:主動(dòng)關(guān)閉方發(fā)送一個(gè)FIN俱箱,用來(lái)關(guān)閉主動(dòng)方到被動(dòng)關(guān)閉方的數(shù)據(jù)傳送国瓮,也就是主動(dòng)關(guān)閉方告訴被動(dòng)關(guān)閉方:我已經(jīng)不 會(huì)再給你發(fā)數(shù)據(jù)了(當(dāng)然,在fin包之前發(fā)送出去的數(shù)據(jù)匠楚,如果沒有收到對(duì)應(yīng)的ack確認(rèn)報(bào)文巍膘,主動(dòng)關(guān)閉方依然會(huì)重發(fā)這些數(shù)據(jù)),但是芋簿,此時(shí)主動(dòng)關(guān)閉方還可 以接受數(shù)據(jù)峡懈。

第二次揮手:被動(dòng)關(guān)閉方收到FIN包后,發(fā)送一個(gè)ACK給對(duì)方与斤,確認(rèn)序號(hào)為收到序號(hào)+1(與SYN相同肪康,一個(gè)FIN占用一個(gè)序號(hào))。

第三次揮手:被動(dòng)關(guān)閉方發(fā)送一個(gè)FIN撩穿,用來(lái)關(guān)閉被動(dòng)關(guān)閉方到主動(dòng)關(guān)閉方的數(shù)據(jù)傳送磷支,也就是告訴主動(dòng)關(guān)閉方,我的數(shù)據(jù)也發(fā)送完了食寡,不會(huì)再給你發(fā)數(shù)據(jù)了雾狈。

第四次揮手:主動(dòng)關(guān)閉方收到FIN后,發(fā)送一個(gè)ACK給被動(dòng)關(guān)閉方抵皱,確認(rèn)序號(hào)為收到序號(hào)+1善榛,至此辩蛋,完成四次揮手。

TCP和UDP的區(qū)別

TCP(Transmission Control Protocol移盆,傳輸控制協(xié)議)是基于連接的協(xié)議悼院,也就是說(shuō),在正式收發(fā)數(shù)據(jù)前咒循,必須和對(duì)方建立可靠的連接据途。一個(gè)TCP連接必須要經(jīng)過(guò)三次“對(duì)話”才能建立起來(lái)

UDP(User Data Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對(duì)應(yīng)的協(xié)議叙甸。它是面向非連接的協(xié)議颖医,它不與對(duì)方建立連接,而是直接就把數(shù)據(jù)包發(fā)送過(guò)去裆蒸!

UDP適用于一次只傳送少量數(shù)據(jù)便脊、對(duì)可靠性要求不高的應(yīng)用環(huán)境。

說(shuō)說(shuō)你對(duì)作用域鏈的理解

作用域鏈的作用是保證執(zhí)行環(huán)境里有權(quán)訪問的變量和函數(shù)是有序的光戈,作用域鏈的變量只能向上訪問哪痰,變量訪問到window對(duì)象即被終止,作用域鏈向下訪問變量是不被允許的久妆。

創(chuàng)建ajax過(guò)程

(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)局部刷新.

1

2

3

4

5

6

7

8

9

10

11

漸進(jìn)增強(qiáng)和優(yōu)雅降級(jí)

漸進(jìn)增強(qiáng) :針對(duì)低版本瀏覽器進(jìn)行構(gòu)建頁(yè)面,保證最基本的功能筷弦,然后再針對(duì)高級(jí)瀏覽器進(jìn)行效果肋演、交互等改進(jìn)和追加功能達(dá)到更好的用戶體驗(yàn)。

優(yōu)雅降級(jí) :一開始就構(gòu)建完整的功能烂琴,然后再針對(duì)低版本瀏覽器進(jìn)行兼容爹殊。

常見web安全及防護(hù)原理

sql注入原理

就是通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令奸绷。

總的來(lái)說(shuō)有以下幾點(diǎn):

? ? 1.永遠(yuǎn)不要信任用戶的輸入梗夸,要對(duì)用戶的輸入進(jìn)行校驗(yàn),可以通過(guò)正則表達(dá)式号醉,或限制長(zhǎng)度反症,對(duì)單引號(hào)和雙"-"進(jìn)行轉(zhuǎn)換等。

? ? 2.永遠(yuǎn)不要使用動(dòng)態(tài)拼裝SQL畔派,可以使用參數(shù)化的SQL或者直接使用存儲(chǔ)過(guò)程進(jìn)行數(shù)據(jù)查詢存取铅碍。

? ? 3.永遠(yuǎn)不要使用管理員權(quán)限的1.一些開放性題目

1.自我介紹:除了基本個(gè)人信息以外,面試官更想聽的是你與眾不同的地方和你的優(yōu)勢(shì)线椰。

2.項(xiàng)目介紹

3.如何看待前端開發(fā)绣夺?

4.平時(shí)是如何學(xué)習(xí)前端開發(fā)的螟左?

5.未來(lái)三到五年的規(guī)劃是怎樣的统舀?

position的值, relative和absolute分別是相對(duì)于誰(shuí)進(jìn)行定位的悔叽?

absolute :生成絕對(duì)定位的元素, 相對(duì)于最近一級(jí)的 定位不是 static 的父元素來(lái)進(jìn)行定位爵嗅。

fixed (老IE不支持)生成絕對(duì)定位的元素,通常相對(duì)于瀏覽器窗口或 frame 進(jìn)行定位笨蚁。

relative 生成相對(duì)定位的元素睹晒,相對(duì)于其在普通流中的位置進(jìn)行定位。

static 默認(rèn)值括细。沒有定位伪很,元素出現(xiàn)在正常的流中

sticky 生成粘性定位的元素,容器的位置根據(jù)正常文檔流計(jì)算得出

如何解決跨域問題

JSONP:

原理是:動(dòng)態(tài)插入script標(biāo)簽奋单,通過(guò)script標(biāo)簽引入一個(gè)js文件锉试,這個(gè)js文件載入成功后會(huì)執(zhí)行我們?cè)趗rl參數(shù)中指定的函數(shù),并且會(huì)把我們需要的json數(shù)據(jù)作為參數(shù)傳入览濒。

由于同源策略的限制呆盖,XmlHttpRequest只允許請(qǐng)求當(dāng)前源(域名、協(xié)議贷笛、端口)的資源应又,為了實(shí)現(xiàn)跨域請(qǐng)求,可以通過(guò)script標(biāo)簽實(shí)現(xiàn)跨域請(qǐng)求乏苦,然后在服務(wù)端輸出JSON數(shù)據(jù)并執(zhí)行回調(diào)函數(shù)株扛,從而解決了跨域的數(shù)據(jù)請(qǐng)求。

優(yōu)點(diǎn)是兼容性好汇荐,簡(jiǎn)單易用洞就,支持瀏覽器與服務(wù)器雙向通信。缺點(diǎn)是只支持GET請(qǐng)求掀淘。

JSONP:json+padding(內(nèi)填充)旬蟋,顧名思義,就是把JSON填充到一個(gè)盒子里

<script>

? ? function createJs(sUrl){

? ? ? ? var oScript = document.createElement('script');

? ? ? ? oScript.type = 'text/javascript';

? ? ? ? oScript.src = sUrl;

? ? ? ? document.getElementsByTagName('head')[0].appendChild(oScript);

? ? }

? ? createJs('jsonp.js');

? ? box({

? ? ? 'name': 'test'

? ? });

? ? function box(json){

? ? ? ? alert(json.name);

? ? }

</script>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

CORS

服務(wù)器端對(duì)于CORS的支持革娄,主要就是通過(guò)設(shè)置Access-Control-Allow-Origin來(lái)進(jìn)行的咖为。如果瀏覽器檢測(cè)到相應(yīng)的設(shè)置,就可以允許Ajax進(jìn)行跨域的訪問稠腊。

通過(guò)修改document.domain來(lái)跨子域

將子域和主域的document.domain設(shè)為同一個(gè)主域.前提條件:這兩個(gè)域名必須屬于同一個(gè)基礎(chǔ)域名!而且所用的協(xié)議躁染,端口都要一致,否則無(wú)法利用document.domain進(jìn)行跨域

主域相同的使用document.domain

使用window.name來(lái)進(jìn)行跨域

window對(duì)象有個(gè)name屬性架忌,該屬性有個(gè)特征:即在一個(gè)窗口(window)的生命周期內(nèi),窗口載入的所有的頁(yè)面都是共享一個(gè)window.name的吞彤,每個(gè)頁(yè)面對(duì)window.name都有讀寫的權(quán)限,window.name是持久存在一個(gè)窗口載入過(guò)的所有頁(yè)面中的

使用HTML5中新引進(jìn)的window.postMessage方法來(lái)跨域傳送數(shù)據(jù)

還有flash、在服務(wù)器上設(shè)置代理頁(yè)面等跨域方式饰恕。個(gè)人認(rèn)為window.name的方法既不復(fù)雜挠羔,也能兼容到幾乎所有瀏覽器,這真是極好的一種跨域方法埋嵌。

XML和JSON的區(qū)別破加?

(1).數(shù)據(jù)體積方面。

JSON相對(duì)于XML來(lái)講雹嗦,數(shù)據(jù)的體積小范舀,傳遞的速度更快些。

(2).數(shù)據(jù)交互方面了罪。

JSON與JavaScript的交互更加方便锭环,更容易解析處理,更好的數(shù)據(jù)交互泊藕。

(3).數(shù)據(jù)描述方面辅辩。

JSON對(duì)數(shù)據(jù)的描述性比XML較差。

(4).傳輸速度方面娃圆。

JSON的速度要遠(yuǎn)遠(yuǎn)快于XML玫锋。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

談?wù)勀銓?duì)webpack的看法

WebPack 是一個(gè)模塊打包工具,你可以使用WebPack管理你的模塊依賴讼呢,并編繹輸出模塊們所需的靜態(tài)文件景醇。它能夠很好地管理、打包Web開發(fā)中所用到的HTML吝岭、JavaScript三痰、CSS以及各種靜態(tài)文件(圖片、字體等)窜管,讓開發(fā)過(guò)程更加高效散劫。對(duì)于不同類型的資源,webpack有對(duì)應(yīng)的模塊加載器幕帆。webpack模塊打包器會(huì)分析模塊間的依賴關(guān)系获搏,最后 生成了優(yōu)化且合并后的靜態(tài)資源。

webpack的兩大特色:

1.code splitting(可以自動(dòng)完成)

2.loader 可以處理各種類型的靜態(tài)文件失乾,并且支持串聯(lián)操作

webpack 是以commonJS的形式來(lái)書寫腳本滴常熙,但對(duì) AMD/CMD 的支持也很全面,方便舊項(xiàng)目進(jìn)行代碼遷移碱茁。

webpack具有requireJs和browserify的功能裸卫,但仍有很多自己的新特性:

1. 對(duì) CommonJS 、 AMD 纽竣、ES6的語(yǔ)法做了兼容

2. 對(duì)js墓贿、css茧泪、圖片等資源文件都支持打包

3. 串聯(lián)式模塊加載器以及插件機(jī)制,讓其具有更好的靈活性和擴(kuò)展性聋袋,例如提供對(duì)CoffeeScript队伟、ES6的支持

4. 有獨(dú)立的配置文件webpack.config.js

5. 可以將代碼切割成不同的chunk,實(shí)現(xiàn)按需加載幽勒,降低了初始化時(shí)間

6. 支持 SourceUrls 和 SourceMaps嗜侮,易于調(diào)試

7. 具有強(qiáng)大的Plugin接口,大多是內(nèi)部插件啥容,使用起來(lái)比較靈活

8.webpack 使用異步 IO 并具有多級(jí)緩存锈颗。這使得 webpack 很快且在增量編譯上更加快

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

說(shuō)說(shuō)TCP傳輸?shù)娜挝帐炙拇螕]手策略

為了準(zhǔn)確無(wú)誤地把數(shù)據(jù)送達(dá)目標(biāo)處,TCP協(xié)議采用了三次握手策略干毅。用TCP協(xié)議把數(shù)據(jù)包送出去后,TCP不會(huì)對(duì)傳送 后的情況置之不理泼返,它一定會(huì)向?qū)Ψ酱_認(rèn)是否成功送達(dá)硝逢。握手過(guò)程中使用了TCP的標(biāo)志:SYN和ACK。

發(fā)送端首先發(fā)送一個(gè)帶SYN標(biāo)志的數(shù)據(jù)包給對(duì)方绅喉。接收端收到后渠鸽,回傳一個(gè)帶有SYN/ACK標(biāo)志的數(shù)據(jù)包以示傳達(dá)確認(rèn)信息。

最后柴罐,發(fā)送端再回傳一個(gè)帶ACK標(biāo)志的數(shù)據(jù)包徽缚,代表“握手”結(jié)束。

若在握手過(guò)程中某個(gè)階段莫名中斷革屠,TCP協(xié)議會(huì)再次以相同的順序發(fā)送相同的數(shù)據(jù)包凿试。

斷開一個(gè)TCP連接則需要“四次握手”:

第一次揮手:主動(dòng)關(guān)閉方發(fā)送一個(gè)FIN,用來(lái)關(guān)閉主動(dòng)方到被動(dòng)關(guān)閉方的數(shù)據(jù)傳送似芝,也就是主動(dòng)關(guān)閉方告訴被動(dòng)關(guān)閉方:我已經(jīng)不 會(huì)再給你發(fā)數(shù)據(jù)了(當(dāng)然那婉,在fin包之前發(fā)送出去的數(shù)據(jù),如果沒有收到對(duì)應(yīng)的ack確認(rèn)報(bào)文党瓮,主動(dòng)關(guān)閉方依然會(huì)重發(fā)這些數(shù)據(jù))详炬,但是,此時(shí)主動(dòng)關(guān)閉方還可 以接受數(shù)據(jù)寞奸。

第二次揮手:被動(dòng)關(guān)閉方收到FIN包后呛谜,發(fā)送一個(gè)ACK給對(duì)方,確認(rèn)序號(hào)為收到序號(hào)+1(與SYN相同枪萄,一個(gè)FIN占用一個(gè)序號(hào))隐岛。

第三次揮手:被動(dòng)關(guān)閉方發(fā)送一個(gè)FIN,用來(lái)關(guān)閉被動(dòng)關(guān)閉方到主動(dòng)關(guān)閉方的數(shù)據(jù)傳送瓷翻,也就是告訴主動(dòng)關(guān)閉方礼仗,我的數(shù)據(jù)也發(fā)送完了,不會(huì)再給你發(fā)數(shù)據(jù)了。

第四次揮手:主動(dòng)關(guān)閉方收到FIN后元践,發(fā)送一個(gè)ACK給被動(dòng)關(guān)閉方韭脊,確認(rèn)序號(hào)為收到序號(hào)+1,至此单旁,完成四次揮手沪羔。

TCP和UDP的區(qū)別

TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議象浑,也就是說(shuō)蔫饰,在正式收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接愉豺。一個(gè)TCP連接必須要經(jīng)過(guò)三次“對(duì)話”才能建立起來(lái)

UDP(User Data Protocol篓吁,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對(duì)應(yīng)的協(xié)議。它是面向非連接的協(xié)議蚪拦,它不與對(duì)方建立連接杖剪,而是直接就把數(shù)據(jù)包發(fā)送過(guò)去!

UDP適用于一次只傳送少量數(shù)據(jù)驰贷、對(duì)可靠性要求不高的應(yīng)用環(huán)境盛嘿。

說(shuō)說(shuō)你對(duì)作用域鏈的理解

作用域鏈的作用是保證執(zhí)行環(huán)境里有權(quán)訪問的變量和函數(shù)是有序的,作用域鏈的變量只能向上訪問括袒,變量訪問到window對(duì)象即被終止次兆,作用域鏈向下訪問變量是不被允許的。

創(chuàng)建ajax過(guò)程

(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)局部刷新.

1

2

3

4

5

6

7

8

9

10

11

漸進(jìn)增強(qiáng)和優(yōu)雅降級(jí)

漸進(jìn)增強(qiáng) :針對(duì)低版本瀏覽器進(jìn)行構(gòu)建頁(yè)面芥炭,保證最基本的功能,然后再針對(duì)高級(jí)瀏覽器進(jìn)行效果恃慧、交互等改進(jìn)和追加功能達(dá)到更好的用戶體驗(yàn)蚤认。

優(yōu)雅降級(jí) :一開始就構(gòu)建完整的功能,然后再針對(duì)低版本瀏覽器進(jìn)行兼容糕伐。

常見web安全及防護(hù)原理

sql注入原理

就是通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)面請(qǐng)求的查詢字符串砰琢,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。

總的來(lái)說(shuō)有以下幾點(diǎn):

? ? 1.永遠(yuǎn)不要信任用戶的輸入良瞧,要對(duì)用戶的輸入進(jìn)行校驗(yàn)陪汽,可以通過(guò)正則表達(dá)式,或限制長(zhǎng)度褥蚯,對(duì)單引號(hào)和雙"-"進(jìn)行轉(zhuǎn)換等挚冤。

? ? 2.永遠(yuǎn)不要使用動(dòng)態(tài)拼裝SQL,可以使用參數(shù)化的SQL或者直接使用存儲(chǔ)過(guò)程進(jìn)行數(shù)據(jù)查詢存取赞庶。

? ? 3.永遠(yuǎn)不要使用管理員權(quán)限的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末训挡,一起剝皮案震驚了整個(gè)濱河市澳骤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌澜薄,老刑警劉巖为肮,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肤京,居然都是意外死亡颊艳,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門忘分,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)棋枕,“玉大人,你說(shuō)我怎么就攤上這事妒峦≈匕撸” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵肯骇,是天一觀的道長(zhǎng)窥浪。 經(jīng)常有香客問我,道長(zhǎng)累盗,這世上最難降的妖魔是什么寒矿? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任突琳,我火速辦了婚禮若债,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拆融。我一直安慰自己蠢琳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布镜豹。 她就那樣靜靜地躺著傲须,像睡著了一般。 火紅的嫁衣襯著肌膚如雪趟脂。 梳的紋絲不亂的頭發(fā)上泰讽,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音昔期,去河邊找鬼已卸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛硼一,可吹牛的內(nèi)容都是我干的累澡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼般贼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼愧哟!你這毒婦竟也來(lái)了奥吩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蕊梧,失蹤者是張志新(化名)和其女友劉穎霞赫,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體望几,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绩脆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了橄抹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靴迫。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖楼誓,靈堂內(nèi)的尸體忽然破棺而出玉锌,到底是詐尸還是另有隱情,我是刑警寧澤疟羹,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布主守,位于F島的核電站,受9級(jí)特大地震影響榄融,放射性物質(zhì)發(fā)生泄漏参淫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一愧杯、第九天 我趴在偏房一處隱蔽的房頂上張望涎才。 院中可真熱鬧,春花似錦力九、人聲如沸耍铜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)棕兼。三九已至,卻和暖如春抵乓,著一層夾襖步出監(jiān)牢的瞬間伴挚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工灾炭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留茎芋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓咆贬,卻偏偏與公主長(zhǎng)得像败徊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掏缎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 一.簡(jiǎn)述前端構(gòu)建工具皱蹦。fis3煤杀,Gulp,Grunt沪哺,Webpack www.tuicool.com/articl...
    錢小強(qiáng)_閱讀 1,318評(píng)論 0 5
  • HTML HTML5標(biāo)簽 媒體查詢head部分寫法 Doctype作用? 嚴(yán)格模式與混雜模式如何區(qū)分沈自?它們有何意義...
    Mayo_閱讀 640評(píng)論 0 8
  • 本文旨在加深對(duì)前端知識(shí)點(diǎn)的理解,資料來(lái)源于網(wǎng)絡(luò)辜妓,由本人(博客:http://segmentfault.com/u/...
    風(fēng)起云帆閱讀 331評(píng)論 0 0
  • 聲明:這些題目是在某個(gè)前端群看到的枯途,在這分享給大家,如有侵權(quán)籍滴,請(qǐng)私信酪夷。 1.一些開放性題目 position的值,...
    一歲一枯榮_閱讀 6,519評(píng)論 0 33
  • 引用地址 HTML&CSS 1.請(qǐng)描述一下 cookies孽惰,sessionStorage 和 localStora...
    你聽cmy1994閱讀 285評(píng)論 0 2