軟件測(cè)試面經(jīng)精選(鏈接點(diǎn)擊左鍵打不開(kāi)的話(huà),就右鍵打開(kāi))

1. 深淺 copy 的區(qū)別

Python之深淺拷貝

深copy:copy內(nèi)部全部?jī)?nèi)容乖菱,形成一個(gè)新的對(duì)象坡锡,雖然與之前的值和內(nèi)容一樣,但是他們完全是兩個(gè)對(duì)象窒所。

淺copy:copy第一層內(nèi)容鹉勒,不copy內(nèi)部子對(duì)象。


2. python 中的生成器和迭代器

python 生成器和迭代器有這篇就夠了 - 戰(zhàn)爭(zhēng)熱誠(chéng) - 博客園

生成器:在Python中吵取,這種一邊循環(huán)一邊計(jì)算的機(jī)制禽额,稱(chēng)為生成器。python中生成器是迭代器的一種皮官,使用yield返回值函數(shù)脯倒,每次使用yield會(huì)暫停∞嗲猓可以使用next()函數(shù)和send()函數(shù)恢復(fù)藻丢。

斐波那契數(shù)列

迭代器:迭代器包含有next方法的實(shí)現(xiàn),在正確的范圍內(nèi)返回期待的數(shù)據(jù)以及超出范圍后能夠拋出StopIteration的錯(cuò)誤停止迭代摄乒。生成器都是Iterator對(duì)象悠反,但list、dict馍佑、str雖然是 Iterable(可迭代對(duì)象)斋否,卻不是Iterator(迭代器)

a = [x*x for x in range(3)]? 是迭代過(guò)程,a =(x*x for x in range(3))能夠生成生成器拭荤。


3. python 內(nèi)存管理

? Python的內(nèi)存管理機(jī)制:引入計(jì)數(shù)茵臭、垃圾回收內(nèi)存池機(jī)制

python中萬(wàn)物皆對(duì)象舅世,python的存儲(chǔ)問(wèn)題是對(duì)象的存儲(chǔ)問(wèn)題笼恰,并且對(duì)于每個(gè)對(duì)象,python會(huì)分配一塊內(nèi)存空間去存儲(chǔ)它

1歇终、Python緩存了整數(shù)和短字符串,因此每個(gè)對(duì)象在內(nèi)存中只存有一份逼龟,引用所指對(duì)象就是相同的评凝,即使使用賦值語(yǔ)句,也只是創(chuàng)造新的引用腺律,而不是對(duì)象本身奕短;

2宜肉、Python沒(méi)有緩存長(zhǎng)字符串、列表及其他對(duì)象翎碑,可以由多個(gè)相同的對(duì)象谬返,可以使用賦值語(yǔ)句創(chuàng)建出新的對(duì)象。

?3日杈、python中對(duì)大于256的整數(shù)遣铝,會(huì)重新分配對(duì)象空間地址保存對(duì)象;對(duì)于字符串來(lái)說(shuō)莉擒,如果不包含空格的字符串酿炸,則不會(huì)重新分配對(duì)象空間,對(duì)于包含空格的字符串

引入計(jì)數(shù):在Python中,每個(gè)對(duì)象都有指向該對(duì)象的引用總數(shù)---引用計(jì)數(shù),查看對(duì)象的引用計(jì)數(shù) sys.getrefcount()

? ? ? ? 引用計(jì)數(shù)增加的情況有:對(duì)象被創(chuàng)建(n=123 # 123為對(duì)象)涨冀;利用copy引用創(chuàng)建(m = n)填硕;作為容器 對(duì)象的一個(gè)元素(a = [1,2,123]);作為參數(shù)傳給函數(shù)(fun(n))【出現(xiàn)以上情況對(duì)象引用計(jì)數(shù)加1】

? ? ? ? 引用計(jì)數(shù)減少的情況有:對(duì)象的別名被銷(xiāo)毀(del m); 對(duì)象的一個(gè)別名被復(fù)制給其他對(duì)象(n = 456); 對(duì)象從一個(gè)容器對(duì)象里刪除鹿鳖,或者容器對(duì)象被銷(xiāo)毀(a.remove(123) 或者 del a )扁眯;【出現(xiàn)以上情況對(duì)象引用計(jì)數(shù)減1】

垃圾回收:當(dāng)Python的某個(gè)對(duì)象的引用計(jì)數(shù)降為0時(shí),說(shuō)明沒(méi)有任何引用指向該對(duì)象翅帜,該對(duì)象就成為要被回收的垃圾姻檀。

(1)、垃圾回收時(shí)藕甩,Python不能進(jìn)行其它的任務(wù)施敢,頻繁的垃圾回收將大大降低Python的工作效率;

(2)狭莱、Python只會(huì)在特定條件下僵娃,自動(dòng)啟動(dòng)垃圾回收(垃圾對(duì)象少就沒(méi)必要回收)

(3)、當(dāng)Python運(yùn)行時(shí)腋妙,會(huì)記錄其中分配對(duì)象(object allocation)和取消分配對(duì)象(object deallocation)的次數(shù)默怨。當(dāng)兩者的差值高于某個(gè)閾值時(shí),垃圾回收才會(huì)啟動(dòng)骤素。(閾值為700)

(4)匙睹、當(dāng)然也可以自己手動(dòng)垃圾回收(使用 gc.collect())

內(nèi)存池機(jī)制:(看不懂...就先不總結(jié)了)

Python 中有分為大內(nèi)存和小內(nèi)存:(256K為界限分大小內(nèi)存)

? 1、大內(nèi)存使用malloc進(jìn)行分配

? 2济竹、小內(nèi)存使用內(nèi)存池進(jìn)行分配

? 3痕檬、Python的內(nèi)存池(金字塔)

。送浊。梦谜。


4. http 和 https 區(qū)別

1、http是超文本傳輸協(xié)議,信息是明文傳輸唁桩,https則是具有安全性的ssl加密傳輸協(xié)議闭树。

2、http和https使用的是完全不同的連接方式荒澡,用的端口也不一樣报辱,前者是80,后者是443单山。

3碍现、http的連接很簡(jiǎn)單,是無(wú)狀態(tài)的饥侵;https協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸鸵赫、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全躏升。


5. 數(shù)據(jù)庫(kù)索引的實(shí)現(xiàn)方式和分類(lèi)

數(shù)據(jù)庫(kù)索引分類(lèi) - 一直都是瑾涼 - 博客園

索引分類(lèi)主要有:普通索引辩棒、唯一索引、主鍵索引膨疏,聯(lián)合索引等

1一睁、普通索引的創(chuàng)建:create unique index 索引名 on 表名(列名);(對(duì)某一列創(chuàng)建索引)

2、唯一索引的創(chuàng)建:create unique index 索引名 on 表名(列名); (對(duì)某一列創(chuàng)建唯一索引)

3佃却、主鍵索引的創(chuàng)建:一般創(chuàng)建表格的時(shí)候就順便創(chuàng)建了主鍵者吁。主鍵是一種特殊的唯一索引,不允許有空值饲帅。

4复凳、聯(lián)合索引相當(dāng)于多個(gè)索引一起谬墙,符合最左匹配原則

索引實(shí)現(xiàn)方式主要有:B+樹(shù)灸蟆、散列(HASH)索引夷野、位列索引

B+樹(shù)最常用俺附,適用于范圍查詢(xún)和單值查詢(xún),特別是范圍查詢(xún)只能用B+樹(shù)來(lái)做

散列(HASH)索引只能做單值查詢(xún)雌隅,查詢(xún)速度比B+樹(shù)要快喧锦。

位列索引很局限辈挂,只能用于性別惶洲、等級(jí)之類(lèi)的查詢(xún)按声,思想主要就是01思想。


6. 進(jìn)程恬吕、線(xiàn)程和協(xié)程

進(jìn)程是系統(tǒng)分配資源的基本單位签则,進(jìn)程是線(xiàn)程的容器,線(xiàn)程是進(jìn)程的一部分铐料,每個(gè)進(jìn)程至少有一個(gè)線(xiàn)程怀愧。

進(jìn)程都有自己的內(nèi)存空間侨颈,而線(xiàn)程是利用進(jìn)程的資源和內(nèi)存空間。一個(gè)進(jìn)程結(jié)束那么它的線(xiàn)程也會(huì)跟著結(jié)束芯义。

一個(gè)進(jìn)程可以和其他進(jìn)程并發(fā)運(yùn)行,一個(gè)線(xiàn)程不僅可以和同一個(gè)進(jìn)程里的線(xiàn)程并發(fā)運(yùn)行妻柒,還可以和其他進(jìn)程里的線(xiàn)程并發(fā)運(yùn)行扛拨。

進(jìn)程與進(jìn)程之間切換、線(xiàn)程和線(xiàn)程之間的切換都是有系統(tǒng)控制的举塔,但是進(jìn)程的開(kāi)銷(xiāo)要比線(xiàn)程的要大绑警。


7. linux 中 grep 和 find 的區(qū)別

grep 是用來(lái)查詢(xún)文件的內(nèi)部文本的內(nèi)容的

find 是用來(lái)搜索文件的路徑的


8. is 和 == 的區(qū)別

is 是比較兩個(gè)對(duì)象的地址是否相同

== 是比較兩個(gè)對(duì)象的值是否相同

ps :如果兩個(gè)變量對(duì)象為字符串或者數(shù),那么如果他們值相同央渣,他們的地址也是相同的计盒,is 和 == 的結(jié)果相同;

通過(guò)is進(jìn)行引用所指判斷芽丹,is是用來(lái)判斷兩個(gè)引用所指的對(duì)象是否相同北启。例如(a = 256, b = 256 , a is b == true;a = 300, b= 300, a is b == false;? x = "abc ef", y="abc ef", x is y == false)

但是對(duì)于數(shù)組拔第、元組咕村、字典、集合的值相同蚊俺,地址也不相同懈涛,is 和 == 的結(jié)果不同。


9. DNS 的作用

域名是為了方便記憶而專(zhuān)門(mén)建立的一套地址轉(zhuǎn)換系統(tǒng)泳猬,要訪(fǎng)問(wèn)一臺(tái)互聯(lián)網(wǎng)上的服務(wù)器批钠,最終還必須通過(guò)IP地址來(lái)實(shí)現(xiàn),域名解析就是將域名重新利用DNS服務(wù)器解析為IP地址的過(guò)程得封。


10. TCP 和 UDP 的區(qū)別埋心?TCP 三次握手、四次揮手

主要區(qū)別

TCP 是面向連接的呛每,UDP 是面向無(wú)連接的

TCP 是面向字節(jié)流的踩窖,UDP 是基于數(shù)據(jù)報(bào)的

TCP 保證數(shù)據(jù)正確性,UDP 可能丟包

TCP 保證數(shù)據(jù)順序晨横,UDP 不保證

TCP 需要一對(duì)一洋腮,UDP可以一對(duì)多,也可以多對(duì)一手形。

UDP 的主要應(yīng)用場(chǎng)景:

直播:直播對(duì)實(shí)時(shí)性的要求比較高啥供,寧可丟包,也不要卡頓的

實(shí)時(shí)游戲:游戲的特點(diǎn)也是實(shí)時(shí)性比較高库糠,在這種情況下伙狐,采用自定義的可靠的 UDP 協(xié)議涮毫,自定義重傳策略,能夠把產(chǎn)生的延遲降到最低

TCP的應(yīng)用就比較多了贷屎,網(wǎng)站基本都是TCP/IP協(xié)議罢防。

TCP的三次握手和四次揮手

三次握手

1、A 告訴 B唉侄,我發(fā)起的包的序號(hào)是從哪個(gè)號(hào)開(kāi)始的咒吐;

2、B 同樣也告訴 A属划,B 發(fā)起的包的序號(hào)是從哪個(gè)號(hào)開(kāi)始的恬叹;

3、A告訴B同眯,好的绽昼,收到,就從這里開(kāi)始傳輸吧须蜗。

雙方建立連接之后需要共同維護(hù)一個(gè)狀態(tài)機(jī)硅确,在建立連接的過(guò)程中,雙方的狀態(tài)變化時(shí)序圖如下所示


TCP 三次握手

第一次握手:建立連接時(shí)唠粥,客戶(hù)端發(fā)送連接請(qǐng)求到服務(wù)器疏魏,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn)晤愧;

第二次握手:服務(wù)器收到客戶(hù)端連接請(qǐng)求大莫,向客戶(hù)端發(fā)送允許連接應(yīng)答,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài)官份;

第三次握手:客戶(hù)端收到服務(wù)器的允許連接應(yīng)答只厘,向服務(wù)器發(fā)送確認(rèn),客戶(hù)端和服務(wù)器進(jìn)入通信狀態(tài)舅巷,完成三次握手羔味。

(SYN 是發(fā)起一個(gè)鏈接,ACK 是回復(fù)钠右,RST 是重新連接赋元,F(xiàn)IN 是結(jié)束連接)

為何兩次握手即可建立鏈接,還需要第三次握手飒房?

為了防止失效的連接請(qǐng)求報(bào)文段被服務(wù)端接收搁凸,從而產(chǎn)生錯(cuò)誤

四次揮手

1、A告訴B狠毯,我傳完了护糖,我要結(jié)束了;

2嚼松、B回復(fù)A嫡良,好的锰扶,我知道了;

3寝受、過(guò)了一會(huì)坷牛,B也告訴A,好了很澄,我也傳完了漓帅,我要結(jié)束這個(gè)傳輸了啊痴怨;

4、然后B就回復(fù)說(shuō)器予,好的浪藻,收到。

TCP四次揮手

第一次揮手

若客戶(hù)端 A 認(rèn)為數(shù)據(jù)發(fā)送完成乾翔,則它需要向服務(wù)端 B 發(fā)送連接釋放請(qǐng)求爱葵。

第二次揮手

B 收到連接釋放請(qǐng)求后,會(huì)告訴應(yīng)用層要釋放 TCP 鏈接反浓。然后會(huì)發(fā)送 ACK 包萌丈,并進(jìn)入 CLOSE_WAIT 狀態(tài),表示 A 到 B 的連接已經(jīng)釋放雷则,不接收 A 發(fā)的數(shù)據(jù)了辆雾。但是因?yàn)?TCP 連接時(shí)雙向的,所以 B 仍舊可以發(fā)送數(shù)據(jù)給 A月劈。

第三次揮手

B 如果此時(shí)還有沒(méi)發(fā)完的數(shù)據(jù)會(huì)繼續(xù)發(fā)送度迂,完畢后會(huì)向 A 發(fā)送連接釋放請(qǐng)求,然后 B 便進(jìn)入 LAST-ACK 狀態(tài)猜揪。

第四次揮手

A 收到釋放請(qǐng)求后惭墓,向 B 發(fā)送確認(rèn)應(yīng)答,此時(shí) A 進(jìn)入 TIME-WAIT 狀態(tài)而姐。該狀態(tài)會(huì)持續(xù) 2MSL(最大段生存期腊凶,指報(bào)文段在網(wǎng)絡(luò)中生存的時(shí)間,超時(shí)會(huì)被拋棄) 時(shí)間拴念,若該時(shí)間段內(nèi)沒(méi)有 B 的重發(fā)請(qǐng)求的話(huà)钧萍,就進(jìn)入 CLOSED 狀態(tài)。當(dāng) B 收到確認(rèn)應(yīng)答后丈莺,也便進(jìn)入 CLOSED 狀態(tài)划煮。

為什么 A 要進(jìn)入 TIME-WAIT 狀態(tài),等待 2MSL 時(shí)間后才進(jìn)入 CLOSED 狀態(tài)缔俄?

為了保證 B 能收到 A 的確認(rèn)應(yīng)答弛秋。若 A 發(fā)完確認(rèn)應(yīng)答后直接進(jìn)入 CLOSED 狀態(tài)器躏,如果確認(rèn)應(yīng)答因?yàn)榫W(wǎng)絡(luò)問(wèn)題一直沒(méi)有到達(dá),那么會(huì)造成 B 不能正常關(guān)閉蟹略。

11. http 的請(qǐng)求方式

http 的請(qǐng)求方式

常見(jiàn)的請(qǐng)求方式有GET登失、POST、HEAD


12. post 和 get 的區(qū)別

1挖炬、post 重點(diǎn)是向服務(wù)器發(fā)送數(shù)據(jù)揽浙;而get重點(diǎn)是從服務(wù)器上獲取數(shù)據(jù)。

2意敛、post 傳輸數(shù)據(jù)是通過(guò)http的post機(jī)制馅巷,將字段和對(duì)應(yīng)值封存在請(qǐng)求實(shí)體中發(fā)送給服務(wù)器,這個(gè)過(guò)程用戶(hù)是不可見(jiàn)的草姻;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? get 傳輸數(shù)據(jù)是通過(guò)url請(qǐng)求钓猬,以field(字段)和valued的形式,置于url之后撩独,并用敞曹?連接,多個(gè)請(qǐng)求數(shù)據(jù)用&連接综膀。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 例如:http://127.0.0.1/Test/login.action?name=admin&password=admin,這個(gè)過(guò)程用戶(hù)是可見(jiàn)的澳迫。

3、post 可以上傳大量數(shù)據(jù)剧劝,所以一般傳文件都是用post橄登;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? get 只能傳輸少量數(shù)據(jù),因?yàn)槭躸rl長(zhǎng)度限制担平,但效率較高示绊。

4、post 安全性較高暂论,因?yàn)閭鬏斶^(guò)程用戶(hù)不可見(jiàn)面褐;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? get 安全性較低,因?yàn)閡rl是可見(jiàn)的取胎,可能泄露私密信息展哭。

5、post支持標(biāo)準(zhǔn)字符集闻蛀,可以正確傳輸中文字符匪傍;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? get 只能支持ASCLL碼,傳輸中文字符可能會(huì)亂碼觉痛。

13. 軟件測(cè)試方法有哪些

軟件測(cè)試方法匯總 https://www.cnblogs.com/peng-lan/p/9605269.html

如果按是否關(guān)心內(nèi)部結(jié)構(gòu)來(lái)劃分的話(huà)役衡,可以分成黑盒測(cè)試、白盒測(cè)試還有灰盒測(cè)試薪棒。

黑盒測(cè)試

又叫數(shù)據(jù)驅(qū)動(dòng)測(cè)試手蝎,把測(cè)試對(duì)象當(dāng)做看不見(jiàn)的黑盒榕莺,在完全不考慮程序內(nèi)部結(jié)構(gòu)和處理過(guò)程的情況下,測(cè)試者僅依據(jù)產(chǎn)品的需求文檔來(lái)判斷測(cè)試結(jié)果的正確性棵介。它是站在使用軟件或程序的角度钉鸯,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行的測(cè)試。

黑盒測(cè)試主要測(cè)試的內(nèi)容

1. 是否有不正確或遺漏的功能邮辽?

2. 在接口上唠雕,輸入是否能正確的接收?能否輸出正確的結(jié)果吨述?

3. 是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息訪(fǎng)問(wèn)錯(cuò)誤岩睁?

4. 性能上是否能夠滿(mǎn)足要求?

黑盒測(cè)試的主要設(shè)計(jì)方法

等價(jià)類(lèi)劃分法揣云、邊界值分析法笙僚、錯(cuò)誤推測(cè)法、因果圖法灵再、正交試驗(yàn)分析法、狀態(tài)遷移圖法亿笤、流程分析法

白盒測(cè)試

設(shè)計(jì)者可以看到軟件系統(tǒng)的內(nèi)部結(jié)構(gòu)翎迁,并且使用軟件的內(nèi)部知識(shí)(比如程序的內(nèi)部邏輯,設(shè)計(jì)原理)來(lái)指導(dǎo)測(cè)試數(shù)據(jù)及方法的選擇净薛。

灰盒測(cè)試

灰盒測(cè)試汪榔,介于黑盒和白盒之間,既關(guān)注測(cè)試內(nèi)部的邏輯肃拜,也關(guān)注程序運(yùn)行的外部表現(xiàn)痴腌,算是一種綜合性測(cè)試。


從測(cè)試方式上分燃领,可以分成手動(dòng)測(cè)試和自動(dòng)化測(cè)試士聪。

手動(dòng)測(cè)試

顧名思義,就是參照產(chǎn)品需求文檔猛蔽,對(duì)產(chǎn)品通過(guò)鼠標(biāo)點(diǎn)擊之類(lèi)的操作測(cè)試GUI(圖形用戶(hù)界面)剥悟。

自動(dòng)化測(cè)試

通過(guò)編寫(xiě)程序?qū)﹂_(kāi)發(fā)的程序進(jìn)行測(cè)試主要是進(jìn)行API(應(yīng)用程序編程接口)測(cè)試。


從測(cè)試階段來(lái)分曼库,可以分成單元測(cè)試区岗、集成測(cè)試、系統(tǒng)測(cè)試毁枯、驗(yàn)收測(cè)試

單元測(cè)試

單元測(cè)試是對(duì)軟件組成單元進(jìn)行測(cè)試慈缔。其目的是檢驗(yàn)軟件基本組成單位的正確性。

測(cè)試階段:編碼后

測(cè)試對(duì)象:最小模塊

測(cè)試人員:白盒測(cè)試工程師或開(kāi)發(fā)工程師

測(cè)試依據(jù):代碼和注釋+詳細(xì)設(shè)計(jì)文檔

測(cè)試方法:白盒測(cè)試

測(cè)試內(nèi)容:模塊接口測(cè)試种玛、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試藐鹤、路徑測(cè)試瓤檐、錯(cuò)誤處理測(cè)試、邊界測(cè)試

集成測(cè)試

集成測(cè)試也稱(chēng)聯(lián)合測(cè)試教藻、組裝測(cè)試距帅,將程序模塊采用適當(dāng)?shù)募刹呗越M裝起來(lái),對(duì)系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢測(cè)的測(cè)試工作括堤。主要目的是檢查軟件單位之間的接口是否正確碌秸。

測(cè)試階段:一般單元測(cè)試之后進(jìn)行

測(cè)試對(duì)象:模塊間的接口

測(cè)試人員:白盒測(cè)試工程師或開(kāi)發(fā)工程師

測(cè)試依據(jù):?jiǎn)卧獪y(cè)試的模塊+概要設(shè)計(jì)文檔

測(cè)試方法:黑盒測(cè)試與白盒測(cè)試相結(jié)合

測(cè)試內(nèi)容:模塊之間數(shù)據(jù)傳輸、模塊之間功能沖突悄窃、模塊組裝功能正確性讥电、全局?jǐn)?shù)據(jù)結(jié)構(gòu)、單模塊缺陷對(duì)系統(tǒng)的影響

系統(tǒng)測(cè)試

將軟件系統(tǒng)看成是一個(gè)系統(tǒng)的測(cè)試轧抗。包括對(duì)功能恩敌、性能以及軟件所運(yùn)行的軟硬件環(huán)境進(jìn)行測(cè)試。時(shí)間大部分在系統(tǒng)測(cè)試執(zhí)行階段

測(cè)試階段:集成測(cè)試通過(guò)之后

測(cè)試對(duì)象:整個(gè)系統(tǒng)(軟横媚、硬件)

測(cè)試人員:黑盒測(cè)試工程師

測(cè)試依據(jù):需求規(guī)格說(shuō)明文檔

測(cè)試方法:黑盒測(cè)試

測(cè)試內(nèi)容:功能纠炮、界面、可靠性灯蝴、易用性恢口、性能、兼容性穷躁、安全性等

驗(yàn)收測(cè)試

驗(yàn)收測(cè)試是部署軟件之前的最后一個(gè)測(cè)試操作耕肩。它是技術(shù)測(cè)試的最后一個(gè)階段,也稱(chēng)為交付測(cè)試问潭。驗(yàn)收測(cè)試的目的是確保軟件準(zhǔn)備就緒猿诸,按照項(xiàng)目合同、任務(wù)書(shū)狡忙、雙方約定的驗(yàn)收依據(jù)文檔梳虽,向軟件購(gòu)買(mǎi)都展示該軟件系統(tǒng)滿(mǎn)足原始需求。

測(cè)試階段:系統(tǒng)測(cè)試通過(guò)之后

測(cè)試對(duì)象:整個(gè)系統(tǒng)(包括軟硬件)灾茁。

測(cè)試人員:主要是最終用戶(hù)或者需求方怖辆。

測(cè)試依據(jù):用戶(hù)需求、驗(yàn)收標(biāo)準(zhǔn)

測(cè)試方法:黑盒測(cè)試

測(cè)試內(nèi)容:同系統(tǒng)測(cè)試(功能...各類(lèi)文檔等)


14. α測(cè)試和β測(cè)試的區(qū)別

α測(cè)試是由一個(gè)用戶(hù)開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試删顶,也可以是公司內(nèi)部的用戶(hù)在模擬實(shí)際操作環(huán)境下進(jìn)行的測(cè)試竖螃。在正式發(fā)布前,通常需要執(zhí)行α和β測(cè)試逗余。α測(cè)試不能由程序員或測(cè)試員完成特咆。

β測(cè)試是一種驗(yàn)收測(cè)試。β測(cè)試由軟件的最終用戶(hù)們在一個(gè)或多個(gè)用戶(hù)場(chǎng)所進(jìn)行。(類(lèi)似于公測(cè))

α測(cè)試與β測(cè)試的區(qū)別

測(cè)試的場(chǎng)所不同:α測(cè)試是指把用戶(hù)請(qǐng)到開(kāi)發(fā)方的場(chǎng)所來(lái)測(cè)試腻格,β測(cè)試是指在一個(gè)或多個(gè)用戶(hù)的場(chǎng)所進(jìn)行的測(cè)試画拾。

α測(cè)試的環(huán)境是受開(kāi)發(fā)方控制的,用戶(hù)的數(shù)量相對(duì)比較少,時(shí)間比較集中。β測(cè)試的環(huán)境是不受開(kāi)發(fā)方控制的,用戶(hù)數(shù)量相對(duì)比較多,時(shí)間不集中菜职。

α測(cè)試先于β測(cè)試執(zhí)行青抛。通用的軟件產(chǎn)品需要較大規(guī)模的β測(cè)試,測(cè)試周期比較長(zhǎng)。


15. 數(shù)據(jù)庫(kù)三范式

1酬核、第一范式(1NF):一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng)蜜另。

2、第二范式(2NF):滿(mǎn)足第一范式嫡意,要求實(shí)體的屬性完全依賴(lài)于主關(guān)鍵字举瑰,消除部分依賴(lài)。

3蔬螟、第三范式(3NF):滿(mǎn)足第二范式此迅,任何非主屬性不得傳遞依賴(lài)于主屬性,消除傳遞依賴(lài)旧巾。

為什么一般數(shù)據(jù)庫(kù)達(dá)到第三范式就可以了耸序?

規(guī)范數(shù)據(jù)庫(kù)主要目的就是盡量消除冗余,節(jié)省存儲(chǔ)空問(wèn)鲁猩,避免數(shù)據(jù)不一致性佑吝,提高對(duì)關(guān)系的操作效率,同時(shí)滿(mǎn)足應(yīng)用需求绳匀。實(shí)際上,并不一定要求全部模式都達(dá)到第五范式不可炸客。有時(shí)故意保留部分冗余可能更方便數(shù)據(jù)查詢(xún)疾棵。尤其對(duì)于那些更新頻度不高,查詢(xún)頻度極高的數(shù)據(jù)庫(kù)系統(tǒng)更是如此痹仙。


16. 常見(jiàn)的http狀態(tài)碼

常見(jiàn)的HTTP狀態(tài)碼 - xflonga - 博客園

狀態(tài)代碼有三位數(shù)字組成是尔,第一個(gè)數(shù)字定義了響應(yīng)的類(lèi)別,共分五種類(lèi)別:

1xx:指示信息--表示請(qǐng)求已接收开仰,繼續(xù)處理

2xx:成功--表示請(qǐng)求已被成功接收拟枚、理解、接受

3xx:重定向--要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作

4xx:客戶(hù)端錯(cuò)誤--請(qǐng)求有語(yǔ)法錯(cuò)誤或請(qǐng)求無(wú)法實(shí)現(xiàn)

5xx:服務(wù)器端錯(cuò)誤--服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求

常見(jiàn)的狀態(tài)碼

常見(jiàn)的狀態(tài)碼

17. 常見(jiàn)的linux操作

linux常用命令大全(linux基礎(chǔ)命令入門(mén)到精通+實(shí)例講解+持續(xù)更新+命令備忘錄+面試復(fù)習(xí)) - 羅藍(lán)國(guó)度 - 博客園

cat /proc/version :查看linux版本信息

shutdown -h now :立刻關(guān)機(jī)

yum install -y "kernel-devel-uname-r == $(uname -r)":安裝和Linux內(nèi)核版本匹配的kernel-devel

clear :清空命令行

ifconfig :顯示或設(shè)置網(wǎng)卡(查ip等)(類(lèi)似windows中ipconfig)

cat /proc/cpuinfo :顯示CPU的信息

top :動(dòng)態(tài)實(shí)時(shí)顯示cpu众弓、內(nèi)存恩溅、進(jìn)程等使用情況(類(lèi)似windows下的任務(wù)管理器)

kill -9 進(jìn)程號(hào) :強(qiáng)制殺死進(jìn)程

find? 查找文件

cat [-n] 文件名 :顯示文件內(nèi)容,連行號(hào)一起顯示

vim 文件:編輯查看文件(同vi)

ps 用于顯示當(dāng)前進(jìn)程 (process) 的狀態(tài)谓娃。

free 用于顯示內(nèi)存狀態(tài)

sudo 以系統(tǒng)管理者的身份執(zhí)行指令脚乡,也就是說(shuō),經(jīng)由 sudo 所執(zhí)行的指令就好像是 root 親自執(zhí)行滨达。

w 命令用于顯示目前登入系統(tǒng)的用戶(hù)信息

screen 用于多重視窗管理程序奶稠。

procinfo 用于顯示系統(tǒng)狀態(tài)俯艰。

tload 用于顯示系統(tǒng)負(fù)載狀況

gitps 用于報(bào)告程序狀況。

su 用于變更為其他使用者的身份锌订,除 root 外竹握,需要鍵入該使用者的密碼。


18. 訪(fǎng)問(wèn)一個(gè)網(wǎng)站需要用到哪些協(xié)議

應(yīng)用層:肯定要用到http協(xié)議或者https協(xié)議辆飘,還要用到DNS域名解析服務(wù)協(xié)議

傳輸層:需要TCP協(xié)議來(lái)提供可靠的數(shù)據(jù)傳輸啦辐;需要UDP協(xié)議,因?yàn)镈NS需要使用UDP協(xié)議傳輸

網(wǎng)絡(luò)層:需要用到IP協(xié)議劈猪,用來(lái)IP包的傳輸和路由的選擇昧甘;ICMP協(xié)議:提供網(wǎng)絡(luò)傳輸中的差錯(cuò)檢測(cè);ARP協(xié)議战得,將目標(biāo)IP地址廣播到局域網(wǎng)獲取MAC地址


19. 應(yīng)用層常見(jiàn)協(xié)議

應(yīng)用層常見(jiàn)協(xié)議(HTTP/FTP/SMTP)

應(yīng)用層協(xié)議(DHCP/DNS/TELNET/SSH/TFTP)

一充边、HTTP協(xié)議(超文本傳輸協(xié)議(Hypertext transfer protocol))

概念:它是一種詳細(xì)規(guī)定了瀏覽器和萬(wàn)維網(wǎng)(WWW = World Wide Web)服務(wù)器之間互相通信的規(guī)則,通過(guò)因特網(wǎng)傳送萬(wàn)維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議常侦。

端口:HTTP默認(rèn)的端口號(hào)為 TCP + 80浇冰,HTTPS的端口號(hào)為 TCP + 443。

應(yīng)用:瀏覽網(wǎng)頁(yè)是HTTP的主要應(yīng)用聋亡,但是這并不代表HTTP就只能應(yīng)用于網(wǎng)頁(yè)的瀏覽肘习。HTTP是一種協(xié)議,只要通信的雙方都遵守這個(gè)協(xié)議坡倔,HTTP就能有用武之地漂佩。比如常用的QQ,迅雷這些軟件罪塔,都會(huì)使用HTTP協(xié)議(還包括其他的協(xié)議)投蝉。

關(guān)于HTTP協(xié)議,詳情看上面鏈接征堪,很詳細(xì)瘩缆。講的蠻好的。

二佃蚜、FTP協(xié)議( 文件傳輸協(xié)議(File Transfer Protocol))

概念:它是因特網(wǎng)中使用最廣泛的文件傳輸協(xié)議庸娱。FTP使用交互式的訪(fǎng)問(wèn),允許客戶(hù)指定文件的類(lèi)型和格式(如指明是否使用ASCII碼)谐算,并允許文件具有存取權(quán)限(如訪(fǎng)問(wèn)文件的用戶(hù)必須經(jīng)過(guò)授權(quán)熟尉,并輸入有效的口令)。文件傳輸協(xié)議有基于TCP的FTP和基于UDP的簡(jiǎn)單文件傳輸協(xié)議TFTP洲脂,它們都是文件共享協(xié)議中的一大類(lèi)臣樱,即復(fù)制整個(gè)文件,其特點(diǎn)是:若要存取一個(gè)文件,就必須先獲得一個(gè)本地的文件副本雇毫。如果要修改文件玄捕,只能對(duì)文件的副本進(jìn)行修改,然后再將修改后的文件傳回到原節(jié)點(diǎn)棚放。

端口:FTP默認(rèn)的端口號(hào)為 TCP + 21

FTP工作模式:兩種工作模式:主動(dòng)模式和被動(dòng)模式;

主動(dòng)模式:服務(wù)器主動(dòng)連接客戶(hù)端枚粘;

被動(dòng)模式:客戶(hù)端主動(dòng)連接服務(wù)器

如何知道FTP傳送一個(gè)文件結(jié)束?

服務(wù)器總是執(zhí)行數(shù)據(jù)連接的主動(dòng)打開(kāi)飘蚯。通常服務(wù)器也執(zhí)行數(shù)據(jù)連接的主動(dòng)關(guān)閉馍迄,除非當(dāng)客戶(hù)向服務(wù)器發(fā)送流形式的文件時(shí),需要客戶(hù)來(lái)關(guān)閉連接局骤。

三攀圈、 SMTP協(xié)議(簡(jiǎn)單郵件傳輸協(xié)議(Simple Mail Transfer Protocol))

概念:它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來(lái)控制信件的中轉(zhuǎn)方式峦甩。SMTP協(xié)議屬于TCP/IP協(xié)議簇赘来,它幫助每臺(tái)計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。通過(guò)SMTP協(xié)議所指定的服務(wù)器,就可以把E-mail寄到收信人的服務(wù)器上了凯傲,整個(gè)過(guò)程只要幾分鐘犬辰。SMTP服務(wù)器則是遵循SMTP協(xié)議的發(fā)送郵件服務(wù)器,用來(lái)發(fā)送或中轉(zhuǎn)發(fā)出的電子郵件冰单。SMTP 是一種TCP協(xié)議支持的提供可靠且有效電子郵件傳輸?shù)膽?yīng)用層協(xié)議幌缝。

端口:SMTP默認(rèn)的端口號(hào)為 TCP + 25

STMP的命令和應(yīng)答:


STMP的命令和應(yīng)答

四、TELNET協(xié)議(Internet遠(yuǎn)程登錄服務(wù)協(xié)議)

概念:Telnet協(xié)議是TCP/IP協(xié)議族中的一員诫欠,是Internet遠(yuǎn)程登錄服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式涵卵。它為用戶(hù)提供了在本地計(jì)算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力。在終端使用者的電腦上使用telnet程序荒叼,用它連接到服務(wù)器轿偎。終端使用者可以在telnet程序中輸入命令,這些命令會(huì)在服務(wù)器上運(yùn)行甩挫,就像直接在服務(wù)器的控制臺(tái)上輸入一樣〈幻浚可以在本地就能控制服務(wù)器伊者。要開(kāi)始一個(gè)telnet會(huì)話(huà),必須輸入用戶(hù)名和密碼來(lái)登錄服務(wù)器间护。

端口:TELNET默認(rèn)的端口號(hào)為 TCP + 23

五亦渗、 DHCP協(xié)議(動(dòng)態(tài)主機(jī)配置協(xié)議(Dynamic Host Configuration Protocol))

概念:DHCP協(xié)議使用UDP協(xié)議工作。當(dāng)我們將客戶(hù)主機(jī)ip地址設(shè)置為動(dòng)態(tài)獲取方式時(shí)汁尺,DHCP服務(wù)器就會(huì)根據(jù)DHCP協(xié)議給客戶(hù)端分配IP法精,使得客戶(hù)機(jī)能夠利用這個(gè)IP上網(wǎng)。

端口:DHCP默認(rèn)的端口號(hào)為 UDP + 67

操作流程:

1.尋找DHCP Server

當(dāng)DHCP客戶(hù)機(jī)第一次登錄網(wǎng)絡(luò)的時(shí)候(也就是客戶(hù)機(jī)上沒(méi)有任何IP地址數(shù)據(jù)時(shí)),它會(huì)通過(guò)UDP 67端口向網(wǎng)絡(luò)上發(fā)出一個(gè)DHCPDISCOVER數(shù)據(jù)包(包中包含客戶(hù)機(jī)的MAC地址和計(jì)算機(jī)名等信息)搂蜓。因?yàn)榭蛻?hù)機(jī)還不知道自己屬于哪一個(gè)網(wǎng)絡(luò)狼荞,所以封包的源地址為0.0.0.0,目標(biāo)地址為255.255.255.255帮碰,然后再附上DHCP discover的信息相味,向網(wǎng)絡(luò)進(jìn)行廣播。

2. 提供IP地址租用

當(dāng)DHCP Server監(jiān)聽(tīng)到客戶(hù)機(jī)發(fā)出的DHCP discover廣播后殉挽,它會(huì)從那些還沒(méi)有租出去的地址中丰涉,選擇最前面的空置IP,連同其它TCP/IP設(shè)定斯碌,通過(guò)UDP 68端口響應(yīng)給客戶(hù)機(jī)一個(gè)DHCP OFFER數(shù)據(jù)包(包中包含IP地址一死、子網(wǎng)掩碼、地址租期等信息)傻唾。此時(shí)還是使用廣播進(jìn)行通訊投慈,源IP地址為DHCP Server的IP地址,目標(biāo)地址為255.255.255.255策吠。同時(shí)逛裤,DHCP Server為此客戶(hù)保留它提供的IP地址,從而不會(huì)為其他DHCP客戶(hù)分配此IP地址猴抹。

3. 接受IP租約

如果客戶(hù)機(jī)收到網(wǎng)絡(luò)上多臺(tái)DHCP服務(wù)器的響應(yīng)带族,只會(huì)挑選其中一個(gè)DHCP OFFER(一般是最先到達(dá)的那個(gè)),并且會(huì)向網(wǎng)絡(luò)發(fā)送一個(gè)DHCPREQUEST廣播數(shù)據(jù)包(包中包含客戶(hù)端的MAC地址蟀给、接受的租約中的IP地址蝙砌、提供此租約的DHCP服務(wù)器地址等),告訴所有DHCP Server它將接受哪一臺(tái)服務(wù)器提供的IP地址跋理,所有其他的DHCP服務(wù)器撤銷(xiāo)它們的提供以便將IP地址提供給下一次IP租用請(qǐng)求择克。此時(shí),由于還沒(méi)有得到DHCP Server的最后確認(rèn)前普,客戶(hù)端仍然使用0.0.0.0為源IP地址肚邢,255.255.255.255為目標(biāo)地址進(jìn)行廣播。

4. 租約確認(rèn)

當(dāng)DHCP Server接收到客戶(hù)機(jī)的DHCP REQUEST之后拭卿,會(huì)廣播返回給客戶(hù)機(jī)一個(gè)DHCP ACK消息包骡湖,表明已經(jīng)接受客戶(hù)機(jī)的選擇,并將這一IP地址的合法租用以及其他的配置信息都放入該廣播包發(fā)給客戶(hù)機(jī)峻厚。

客戶(hù)機(jī)在接收到DHCP ACK廣播后响蕴,會(huì)向網(wǎng)絡(luò)發(fā)送三個(gè)針對(duì)此IP地址的ARP解析請(qǐng)求以執(zhí)行沖突檢測(cè),查詢(xún)網(wǎng)絡(luò)上有沒(méi)有其它機(jī)器使用該IP地址惠桃;如果發(fā)現(xiàn)該IP地址已經(jīng)被使用浦夷,客戶(hù)機(jī)會(huì)發(fā)出一個(gè)DHCP DECLINE數(shù)據(jù)包給DHCP Server辖试,拒絕此IP地址租約,并重新發(fā)送DHCP discover信息劈狐。此時(shí)罐孝,在DHCP服務(wù)器管理控制臺(tái)中,會(huì)顯示此IP地址為BAD_ADDRESS懈息。

如果網(wǎng)絡(luò)上沒(méi)有其它主機(jī)使用此IP地址肾档,則客戶(hù)機(jī)的TCP/IP使用租約中提供的IP地址完成初始化,從而可以和其他網(wǎng)絡(luò)中的主機(jī)進(jìn)行通訊

六辫继、 DNS協(xié)議(域名解析協(xié)議(Domain Name System))

概念: 萬(wàn)維網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù)怒见,能夠使用戶(hù)更方便的訪(fǎng)問(wèn)互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串姑宽。通過(guò)域名遣耍,最終得到該域名對(duì)應(yīng)的IP地址的過(guò)程叫做域名解析(或主機(jī)名解析)

端口: DNS默認(rèn)的端口號(hào)為 UDP + 53


域名分類(lèi)

DNS域名解析分類(lèi):遞歸解析和迭代解析(具體可以看上面鏈接)


20. 死鎖的四個(gè)必要條件

死鎖大全

1. 互斥條件:

進(jìn)程要求對(duì)所分配的資源(如打印機(jī))進(jìn)行排他性控制,即在一段時(shí)間內(nèi)某資源僅為一個(gè)進(jìn)程所占有炮车。此時(shí)若有其他進(jìn)程請(qǐng)求該資源舵变,則請(qǐng)求進(jìn)程只能等待。

2. 不可剝奪條件:

進(jìn)程所獲得的資源在未使用完畢之前瘦穆,不能被其他進(jìn)程強(qiáng)行奪走纪隙,即只能由獲得該資源的進(jìn)程自己來(lái)釋放(只能是主動(dòng)釋放)。

3. 請(qǐng)求與保持條件:

進(jìn)程已經(jīng)保持了至少一個(gè)資源扛或,但又提出了新的資源請(qǐng)求绵咱,而該資源已被其他進(jìn)程占有,此時(shí)請(qǐng)求進(jìn)程被阻塞熙兔,但對(duì)自己已獲得的資源保持不放悲伶。

4. 循環(huán)與等待條件:

存在一種進(jìn)程資源的循環(huán)等待鏈,鏈中每一個(gè)進(jìn)程已獲得的資源同時(shí)被鏈中下一個(gè)進(jìn)程所請(qǐng)求住涉。即存在一個(gè)處于等待狀態(tài)的進(jìn)程集合{Pl, P2, …, pn}麸锉,其中Pi等待的資源被P(i+1)占有(i=0, 1, …, n-1),Pn等待的資源被P0占有舆声,如圖2-15所示花沉。直觀(guān)上看,循環(huán)等待條件似乎和死鎖的定義一樣媳握,其實(shí)不然碱屁。按死鎖定義構(gòu)成等待環(huán)所 要求的條件更嚴(yán),它要求Pi等待的資源必須由P(i+1)來(lái)滿(mǎn)足毙芜,而循環(huán)等待條件則無(wú)此限制忽媒。 例如争拐,系統(tǒng)中有兩臺(tái)輸出設(shè)備腋粥,P0占有一臺(tái)晦雨,PK占有另一臺(tái),且K不屬于集合{0, 1, …, n}隘冲。Pn等待一臺(tái)輸出設(shè)備闹瞧,它可以從P0獲得,也可能從PK獲得展辞。因此奥邮,雖然Pn、P0和其他 一些進(jìn)程形成了循環(huán)等待圈罗珍,但PK不在圈內(nèi)洽腺,若PK釋放了輸出設(shè)備,則可打破循環(huán)等待, 如圖2-16所示覆旱。因此循環(huán)等待只是死鎖的必要條件蘸朋。

循環(huán)等待圖示

21. 事務(wù)的四大特性(ACID)

(1)原子性(Atomicity)

一個(gè)事務(wù)是一個(gè)不可分割的整體,為了保證事務(wù)的總體目標(biāo)扣唱,事務(wù)必須具有原子性藕坯,即當(dāng)數(shù)據(jù)修改時(shí),要么全都執(zhí)行噪沙,要么全都不執(zhí)行炼彪。即,不允許事務(wù)部分地完成正歼,避免了只執(zhí)行這些操作的一部分而帶來(lái)的錯(cuò)誤辐马。

(2)一致性(Consistency)

一個(gè)事務(wù)在執(zhí)行之前和執(zhí)行之后,數(shù)據(jù)庫(kù)數(shù)據(jù)必須保持一致性朋腋。數(shù)據(jù)庫(kù)的一致性狀態(tài)應(yīng)該滿(mǎn)足模式鎖指定的約束條件齐疙,那么在完整執(zhí)行該事務(wù)后,數(shù)據(jù)庫(kù)仍然處于一致性狀態(tài)旭咽。

例如:銀行轉(zhuǎn)賬贞奋,轉(zhuǎn)賬前后兩個(gè)賬戶(hù)金額之和應(yīng)保持不變贸街。

(3)隔離性(Isolation)

由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離糖荒。事務(wù)查看數(shù)據(jù)庫(kù)時(shí)數(shù)據(jù)所處的狀態(tài),要么是另一并發(fā)事務(wù)修改它之前的狀態(tài)蛾坯,要么是另一事務(wù)修改它之后的狀態(tài)仲墨,事務(wù)不會(huì)查看中間狀態(tài)的數(shù)據(jù)勾缭。

例如:對(duì)任何一對(duì)事務(wù)T1和T2,對(duì)T1而言目养,T2要么在T1開(kāi)始之前已經(jīng)結(jié)束俩由,要么在T1完成之后再開(kāi)始執(zhí)行。

(4)持久性(Durability)

也被稱(chēng)為永久性癌蚁,事務(wù)完成以后幻梯,DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))保證它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的修改是永久性的兜畸,當(dāng)系統(tǒng)或介質(zhì)發(fā)生故障時(shí),該修改也永久保持碘梢。持久性一般通過(guò)數(shù)據(jù)庫(kù)備份與恢復(fù)來(lái)保證咬摇。


22. 數(shù)據(jù)庫(kù)的隔離級(jí)別

讀未提交(Read Uncommitted):只處理更新丟失。如果一個(gè)事務(wù)已經(jīng)開(kāi)始寫(xiě)數(shù)據(jù)煞躬,則不允許其他事務(wù)同時(shí)進(jìn)行寫(xiě)操作肛鹏,但允許其他事務(wù)讀此行數(shù)據(jù)《髋妫可通過(guò)“排他寫(xiě)鎖”實(shí)現(xiàn)在扰。

讀提交(Read Committed):處理更新丟失、臟讀雷客。讀取數(shù)據(jù)的事務(wù)允許其他事務(wù)繼續(xù)訪(fǎng)問(wèn)改行數(shù)據(jù)健田,但是未提交的寫(xiě)事務(wù)將會(huì)禁止其他事務(wù)訪(fǎng)問(wèn)改行》鹑遥可通過(guò)“瞬間共享讀鎖”和“排他寫(xiě)鎖”實(shí)現(xiàn)妓局。

可重復(fù)讀取(Repeatable Read):處理更新丟失呈宇、臟讀和不可重復(fù)讀取好爬。讀取數(shù)據(jù)的事務(wù)將會(huì)禁止寫(xiě)事務(wù),但允許讀事務(wù)甥啄,寫(xiě)事務(wù)則禁止任何其他事務(wù)存炮。可通過(guò)“共享讀鎖”和“排他寫(xiě)鎖”實(shí)現(xiàn)蜈漓。

序列化(Serializable):提供嚴(yán)格的事務(wù)隔離穆桂。要求失去序列化執(zhí)行,事務(wù)只能一個(gè)接一個(gè)地執(zhí)行融虽,不能并發(fā)執(zhí)行享完。僅僅通過(guò)“行級(jí)鎖”是無(wú)法實(shí)現(xiàn)事務(wù)序列化的,必須通過(guò)其他機(jī)制保證新插入的數(shù)據(jù)不會(huì)被剛執(zhí)行查詢(xún)操作的事務(wù)訪(fǎng)問(wèn)到有额。

隔離級(jí)別越高般又,越能保證數(shù)據(jù)的完整性和統(tǒng)一性,但是對(duì)并發(fā)性能的影響也越大巍佑。對(duì)于多數(shù)應(yīng)用程序茴迁,可以?xún)?yōu)先考慮把數(shù)據(jù)庫(kù)系統(tǒng)的隔離級(jí)別設(shè)為Read Committed。它能夠避免臟讀萤衰,而且具有較好的并發(fā)性能堕义。盡管它會(huì)導(dǎo)致不可重復(fù)讀、幻讀和第二類(lèi)丟失更新這些并發(fā)問(wèn)題脆栋,在可能出現(xiàn)這類(lèi)問(wèn)題的個(gè)別場(chǎng)合倦卖,可以由應(yīng)用程序采用悲觀(guān)鎖或樂(lè)觀(guān)鎖來(lái)控制昔馋。


23. E-R圖

ER模型中包含3種相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象、數(shù)據(jù)對(duì)象的屬性數(shù)據(jù)對(duì)象彼此之間相互連接的關(guān)系糖耸。

ER圖是幫助用戶(hù)建立數(shù)據(jù)庫(kù)的工具,人們大都應(yīng)用ER圖和關(guān)系模型創(chuàng)建數(shù)據(jù)庫(kù)表丘薛。

ER圖

矩形框:表示實(shí)體嘉竟;菱形框:表示聯(lián)系;橢圓形框:表示實(shí)體或聯(lián)系的屬性


24. IP地址(A/B/C/D類(lèi))

IP地址詳解


IP地址分類(lèi)

化成十進(jìn)制就是:

A類(lèi)地址0.0.0.0127.255.255.255洋侨,第1字節(jié)為網(wǎng)絡(luò)地址舍扰,其它3個(gè)字節(jié)為主機(jī)地址

① 10.X.X.X是私有地址(所謂的私有地址就是在互聯(lián)網(wǎng)上不使用,而被用在局域網(wǎng)絡(luò)中的地址)希坚。

B類(lèi)地址128.0.0.0191.255.255.255边苹,第2字節(jié)為網(wǎng)絡(luò)地址,其它2個(gè)字節(jié)為主機(jī)地址

① 172.16.0.0---172.31.255.255是私有地址裁僧。

C類(lèi)地址192.0.0.0223.255.255.255个束,第3字節(jié)為網(wǎng)絡(luò)地址,其它1個(gè)字節(jié)為主機(jī)地址

①192.168.X.X是私有地址聊疲。(192.168.0.0---192.168.255.255)

D類(lèi)地址224.0.0.0239.255.255.255茬底, D類(lèi)地址沒(méi)有主機(jī)地址。(郴裰蓿考)

E類(lèi)地址240.0.0.0255.255.255.255阱表, E類(lèi)地址同樣沒(méi)有主機(jī)地址。


25. 根據(jù)子網(wǎng)掩碼和ip地址求網(wǎng)絡(luò)地址和廣播地址

將IP地址和子網(wǎng)掩碼換算為二進(jìn)制贡珊,子網(wǎng)掩碼連續(xù)全1的是網(wǎng)絡(luò)地址最爬,后面的是主機(jī)地址,||前為網(wǎng)絡(luò)地址门岔,||后為主機(jī)地址爱致。

IP地址和子網(wǎng)掩碼進(jìn)行與運(yùn)算,結(jié)果是網(wǎng)絡(luò)地址(即主機(jī)號(hào)全0是網(wǎng)絡(luò)地址)

將運(yùn)算結(jié)果中的網(wǎng)絡(luò)地址不變寒随,主機(jī)地址變?yōu)?蒜鸡,結(jié)果就是廣播地址

地址范圍就是含在本網(wǎng)段內(nèi)的所有主機(jī)

網(wǎng)絡(luò)地址+1即為第一個(gè)主機(jī)地址,廣播地址-1即為最后一個(gè)主機(jī)地址牢裳,

由此可以看出地址范圍是: 網(wǎng)絡(luò)地址+1 至 廣播地址-1

主機(jī)的數(shù)量=2^二進(jìn)制位數(shù)的主機(jī)-2

減2是因?yàn)橹鳈C(jī)不包括網(wǎng)絡(luò)地址和廣播地址逢防。

例如題目求10.10.72.176/28的有效ip地址

16表示子網(wǎng)掩碼有16個(gè)1,則該網(wǎng)絡(luò)ip子網(wǎng)掩碼則為11111111.11111111.11111111.11110000,即255.255.255.240蒲讯,則子網(wǎng)掩碼的前28位為網(wǎng)絡(luò)地址忘朝,后4位為主機(jī)地址。10.10.72.176化為二進(jìn)制為00001010.00001010.01001000.10110000判帮,將兩數(shù)相與可得00001010.00001010.01001000.10110000局嘁,則有效ip應(yīng)大于10.10.72.176溉箕。


26. post和put的區(qū)別

PUT和POST都有更改指定URI的語(yǔ)義.但PUT被定義為idempotent的方法,POST則不是.idempotent的方法:如果一個(gè)方法重復(fù)執(zhí)行

多次悦昵,產(chǎn)生的效果是一樣的肴茄,那就是idempotent的。也就是說(shuō):

PUT請(qǐng)求:如果兩個(gè)請(qǐng)求相同但指,后一個(gè)請(qǐng)求會(huì)把第一個(gè)請(qǐng)求覆蓋掉寡痰。(所以PUT用來(lái)改資源)

Post請(qǐng)求:后一個(gè)請(qǐng)求不會(huì)把第一個(gè)請(qǐng)求覆蓋掉。(所以Post用來(lái)增資源)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末棋凳,一起剝皮案震驚了整個(gè)濱河市拦坠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剩岳,老刑警劉巖贞滨,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異拍棕,居然都是意外死亡晓铆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)绰播,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)尤蒿,“玉大人,你說(shuō)我怎么就攤上這事幅垮⊙兀” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵忙芒,是天一觀(guān)的道長(zhǎng)示弓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)呵萨,這世上最難降的妖魔是什么奏属? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮潮峦,結(jié)果婚禮上囱皿,老公的妹妹穿的比我還像新娘。我一直安慰自己忱嘹,他們只是感情好嘱腥,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著拘悦,像睡著了一般齿兔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天分苇,我揣著相機(jī)與錄音添诉,去河邊找鬼。 笑死医寿,一個(gè)胖子當(dāng)著我的面吹牛栏赴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播靖秩,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼须眷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了盆偿?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤准浴,失蹤者是張志新(化名)和其女友劉穎事扭,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體乐横,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡求橄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了葡公。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罐农。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖催什,靈堂內(nèi)的尸體忽然破棺而出涵亏,到底是詐尸還是另有隱情,我是刑警寧澤蒲凶,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布气筋,位于F島的核電站,受9級(jí)特大地震影響旋圆,放射性物質(zhì)發(fā)生泄漏宠默。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一灵巧、第九天 我趴在偏房一處隱蔽的房頂上張望搀矫。 院中可真熱鬧,春花似錦刻肄、人聲如沸瓤球。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)冰垄。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虹茶,已是汗流浹背逝薪。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝴罪,地道東北人董济。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像要门,于是被迫代替她去往敵國(guó)和親虏肾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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