黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 職業(yè)指南 工程師常見(jiàn)的Java數(shù)據(jù)庫(kù)面試題

工程師常見(jiàn)的Java數(shù)據(jù)庫(kù)面試題

更新時(shí)間:2022-12-23 14:51:03 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1295次

作為一名Java程序員,數(shù)據(jù)庫(kù)知識(shí)是必須要了解透徹的問(wèn)題,對(duì)數(shù)據(jù)庫(kù)的掌握程度一定是熟練的,這也是考察個(gè)人的功底是否扎實(shí),特別是對(duì)于初級(jí)開(kāi)發(fā)這,面試的時(shí)候肯定是會(huì)被問(wèn)到的,這里收集了一些常見(jiàn)的類(lèi)型問(wèn)題,希望可以幫助到大家:

java數(shù)據(jù)庫(kù)面試題

1.數(shù)據(jù)庫(kù)的三范式是什么?

第一范式:強(qiáng)調(diào)的是列的原子性,即數(shù)據(jù)庫(kù)表的每一列都是不可分割的原子數(shù)據(jù)項(xiàng)。

第二范式:要求實(shí)體的屬性完全依賴(lài)于主關(guān)鍵字。所謂完全依賴(lài)是指不能存在僅依賴(lài)主關(guān)鍵字一部分的屬性。

第三范式:任何非主屬性不依賴(lài)于其它非主屬性。

2.一張自增表里面總共有 7 條數(shù)據(jù),刪除了最后 2 條數(shù)據(jù),重啟 MySQL 數(shù)據(jù)庫(kù),又插入了一條數(shù)據(jù),此時(shí) id 是幾?

表類(lèi)型如果是 MyISAM ,那 id 就是 8。

表類(lèi)型如果是 InnoDB,那 id 就是 6。

InnoDB 表只會(huì)把自增主鍵的最大 id 記錄在內(nèi)存中,所以重啟之后會(huì)導(dǎo)致最大 id 丟失。

3.如何獲取當(dāng)前數(shù)據(jù)庫(kù)版本?

使用 select version() 獲取當(dāng)前 MySQL 數(shù)據(jù)庫(kù)版本。

4.說(shuō)一下 ACID 是什么?

Atomicity(原子性):一個(gè)事務(wù)(transaction)中的所有操作,或者全部完成,或者全部不完成,不會(huì)結(jié)束在中間某個(gè)環(huán)節(jié)。事務(wù)在執(zhí)行過(guò)程中發(fā)生錯(cuò)誤,會(huì)被恢復(fù)(Rollback)到事務(wù)開(kāi)始前的狀態(tài),就像這個(gè)事務(wù)從來(lái)沒(méi)有執(zhí)行過(guò)一樣。即,事務(wù)不可分割、不可約簡(jiǎn)。

Consistency(一致性):在事務(wù)開(kāi)始之前和事務(wù)結(jié)束以后,數(shù)據(jù)庫(kù)的完整性沒(méi)有被破壞。這表示寫(xiě)入的資料必須完全符合所有的預(yù)設(shè)約束、觸發(fā)器、級(jí)聯(lián)回滾等。

Isolation(隔離性):數(shù)據(jù)庫(kù)允許多個(gè)并發(fā)事務(wù)同時(shí)對(duì)其數(shù)據(jù)進(jìn)行讀寫(xiě)和修改的能力,隔離性可以防止多個(gè)事務(wù)并發(fā)執(zhí)行時(shí)由于交叉執(zhí)行而導(dǎo)致數(shù)據(jù)的不一致。事務(wù)隔離分為不同級(jí)別,包括讀未提交(Read uncommitted)、讀提交(read committed)、可重復(fù)讀(repeatable read)和串行化(Serializable)。

Durability(持久性):事務(wù)處理結(jié)束后,對(duì)數(shù)據(jù)的修改就是永久的,即便系統(tǒng)故障也不會(huì)丟失。

5.char 和 varchar 的區(qū)別是什么?

char(n) :固定長(zhǎng)度類(lèi)型,比如訂閱 char(10),當(dāng)你輸入"abc"三個(gè)字符的時(shí)候,它們占的空間還是 10 個(gè)字節(jié),其他 7 個(gè)是空字節(jié)。

chat 優(yōu)點(diǎn):效率高;缺點(diǎn):占用空間;適用場(chǎng)景:存儲(chǔ)密碼的 md5 值,固定長(zhǎng)度的,使用 char 非常合適。

varchar(n) :可變長(zhǎng)度,存儲(chǔ)的值是每個(gè)值占用的字節(jié)再加上一個(gè)用來(lái)記錄其長(zhǎng)度的字節(jié)的長(zhǎng)度。

所以,從空間上考慮 varcahr 比較合適;從效率上考慮 char 比較合適,二者使用需要權(quán)衡。

6.float 和 double 的區(qū)別是什么?

  • float 最多可以存儲(chǔ) 8 位的十進(jìn)制數(shù),并在內(nèi)存中占 4 字節(jié)。
  • double 最可可以存儲(chǔ) 16 位的十進(jìn)制數(shù),并在內(nèi)存中占 8 字節(jié)。

7.MySQL 的內(nèi)連接、左連接、右連接有什么區(qū)別?

內(nèi)連接關(guān)鍵字:inner join;左連接:left join;右連接:right join。

內(nèi)連接是把匹配的關(guān)聯(lián)數(shù)據(jù)顯示出來(lái);左連接是左邊的表全部顯示出來(lái),右邊的表顯示出符合條件的數(shù)據(jù);右連接正好相反。

8.MySQL 索引是怎么實(shí)現(xiàn)的?

索引是滿(mǎn)足某種特定查找算法的數(shù)據(jù)結(jié)構(gòu),而這些數(shù)據(jù)結(jié)構(gòu)會(huì)以某種方式指向數(shù)據(jù),從而實(shí)現(xiàn)高效查找數(shù)據(jù)。

具體來(lái)說(shuō) MySQL 中的索引,不同的數(shù)據(jù)引擎實(shí)現(xiàn)有所不同,但目前主流的數(shù)據(jù)庫(kù)引擎的索引都是 B+ 樹(shù)實(shí)現(xiàn)的,B+ 樹(shù)的搜索效率,可以到達(dá)二分法的性能,找到數(shù)據(jù)區(qū)域之后就找到了完整的數(shù)據(jù)結(jié)構(gòu)了,所有索引的性能也是更好的。

9.怎么驗(yàn)證 MySQL 的索引是否滿(mǎn)足需求?

使用 explain 查看 SQL 是如何執(zhí)行查詢(xún)語(yǔ)句的,從而分析你的索引是否滿(mǎn)足需求。

explain 語(yǔ)法:

explain select * from table where type=1。

10.說(shuō)一下數(shù)據(jù)庫(kù)的事務(wù)隔離?

MySQL 的事務(wù)隔離是在 MySQL. ini 配置文件里添加的,在文件的最后添加:

transaction-isolation = REPEATABLE-READ

可用的配置值:READ-UNCOMMITTED、READ-COMMITTED、REPEATABLE-READ、SERIALIZABLE。

  • READ-UNCOMMITTED:未提交讀,最低隔離級(jí)別、事務(wù)未提交前,就可被其他事務(wù)讀取(會(huì)出現(xiàn)幻讀、臟讀、不可重復(fù)讀)。
  • READ-COMMITTED:提交讀,一個(gè)事務(wù)提交后才能被其他事務(wù)讀取到(會(huì)造成幻讀、不可重復(fù)讀)。
  • REPEATABLE-READ:可重復(fù)讀,默認(rèn)級(jí)別,保證多次讀取同一個(gè)數(shù)據(jù)時(shí),其值都和事務(wù)開(kāi)始時(shí)候的內(nèi)容是一致,禁止讀取到別的事務(wù)未提交的數(shù)據(jù)(會(huì)造成幻讀)。
  • SERIALIZABLE:序列化,代價(jià)最高最可靠的隔離級(jí)別,該隔離級(jí)別能防止臟讀、不可重復(fù)讀、幻讀。

臟讀 :表示一個(gè)事務(wù)能夠讀取另一個(gè)事務(wù)中還未提交的數(shù)據(jù)。比如,某個(gè)事務(wù)嘗試插入記錄 A,此時(shí)該事務(wù)還未提交,然后另一個(gè)事務(wù)嘗試讀取到了記錄 A。

不可重復(fù)讀 :是指在一個(gè)事務(wù)內(nèi),多次讀同一數(shù)據(jù)。

幻讀 :指同一個(gè)事務(wù)內(nèi)多次查詢(xún)返回的結(jié)果集不一樣。比如同一個(gè)事務(wù) A 第一次查詢(xún)時(shí)候有 n 條記錄,但是第二次同等條件下查詢(xún)卻有 n+1 條記錄,這就好像產(chǎn)生了幻覺(jué)。發(fā)生幻讀的原因也是另外一個(gè)事務(wù)新增或者刪除或者修改了第一個(gè)事務(wù)結(jié)果集里面的數(shù)據(jù),同一個(gè)記錄的數(shù)據(jù)內(nèi)容被修改了,所有數(shù)據(jù)行的記錄就變多或者變少了。

以上就是“工程師常見(jiàn)的Java數(shù)據(jù)庫(kù)面試題”,你能回答上來(lái)嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 最近中文视频高清 | 久久剧场| 7m福利视频导航精品 | 五月婷婷综合激情 | 天天夜天天干 | 躁天天躁中文字幕在线 | 在线一区免费播放 | 黄色一级毛片 | 91精品一区二区三区在线观看 | 国产免费怕怕免费视频观看 | 国产精品青草久久福利不卡 | 天天射天天干天天 | 嘿嘿视频在线观看 成人 | 欧美日韩一本大道香蕉欧美 | 嫩模被xxxx视频在线观看 | 婷婷综合久久狠狠色99h | 亚洲精品午夜国产va久久成人 | 荡娃艳妇系列小说 | 日本xx网站 | 日韩免费在线视频观看 | 男女视频在线观看 | 五月天婷婷精品免费视频 | 一道本视频在线 | 成年人视频在线免费观看 | 国产短视频精品一区二区三区 | 亚洲v天堂v手机在线观看 | 华人欧美国产在线精品 | 国产黄大片在线观看视频 | 成人欧美一区二区三区在线 | 久久午夜夜伦鲁鲁片不卡 | www.国产一区二区三区 | 午夜色图| 国产区精品高清在线观看 | 亚洲一成人毛片 | 亚洲精品图区 | 涩涩涩导航 | 视频一区 欧美 | 免费午夜影院 | 中文字幕第35页 | 天啪天干在线视频 | 91精品成人免费国产片 |