測試開發面試題彙總之資料庫部分

2021-10-07 20:23:41 字數 813 閱讀 6509

1.資料庫有哪些鎖

mysql資料庫中的鎖有共享鎖、排他鎖、行鎖、表級鎖、行級鎖以及頁面鎖。

2.1 共享鎖(shared lock,也叫s鎖)

共享鎖(s)表示對資料進行讀操作,因此多個事物可以同時為乙個物件加鎖。這個事物釋放鎖之前,其他事物不能對該物件進行更新操作。

2.2 排他鎖(exclusive lock,也叫x鎖)

排他鎖表示對資料進行寫操作,如果乙個事物給乙個物件新增了排他鎖,其他事物就不能給他加其他鎖。

2.3 行鎖

行鎖表示對一條記錄加鎖,只影響一條記錄。通常用在dml語句中,如insert, update, delete等。

有通過索引條件檢索資料,innodb才使用行級鎖,否則,innodb將使用表鎖!

2.4 鎖的密度

根據鎖的級別或密度來劃分,mysql有三種鎖的級別:頁級、表級、行級。

表級鎖一次會將整個表鎖定,所以可以很好的避免困擾我們的死鎖問題。

行級鎖也是目前各大資料庫管理軟體所實現的鎖定顆粒度最小的。消耗大,易發生死鎖。

頁面鎖另外,頁級鎖定和行級鎖定一樣,會發生死鎖。

2.死鎖如何防範

死鎖發生的條件:

1、資源不能共享,需要只能由乙個程序或者執行緒使用

2、請求且保持,已經鎖定的資源自給保持著不釋放

3、不剝奪,自給申請到的資源不能被別人剝奪

4、迴圈等待

防範:1.盡量避免併發的執行涉及到修改資料的語句。

2.編寫應用程式,讓程序持有鎖的時間盡可能短,這樣其它程序就不必花太長的時間等待鎖被釋放。

3.資料庫的索引

4.事務的特性

測試開發面試題

4分 3 弱網測試時應該關注的情形有 4分 4 安卓系統架構分為哪幾層?4分 5 記憶體的vss是指 rss是指 pss是指 uss是指 4分 二 簡答題 6 您認為在測試人員同開發人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?維持測試人員同開發團隊中其他成員良好的人際關係的關鍵是什麼?5分...

keep測試開發面試題

1 自我介紹 2 專案的功能測試是怎麼做的 說了一堆黑盒測試的方法 3 談了談自動化測試的框架,詢問怎麼獲取乙個request,並根據header值返回response 手寫 這裡問了很多亂七八糟的,有些連聽都沒聽清楚,完全問懵了qwq 4 200 204 302 404 500 這幾個碼的含義 5...

百度測試開發面試題

學姐 學長總結的面試題 感謝學姐 針對質量部測試開發 1.幾種常見演算法看下,能夠大概描述出來演算法的過程,複雜度 排序 查詢等 2.給你設定幾種場景,讓你解答 比如給你兩部手機,讓你站在一百層樓高的地方,假設在第 n層手機摔下就會摔破,問你怎樣用著兩部手機確定這個臨界層。場景測試 3.怎樣知道乙個...