大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 2020年百度Java開發(fā)面試題目

2020年百度Java開發(fā)面試題目

更新時(shí)間:2019-12-30 14:07:35 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3276次


2020年百度Java開發(fā)面試題目


  1. java 中 volatile 和 synchronized 有什么區(qū)別?


  A. volatile 本質(zhì)是在告訴jvm 當(dāng)前變量在寄存器(工作內(nèi)存)中的值是不確定的, 需要從主存中讀取;synchronized 則是鎖定當(dāng)前變量,只有當(dāng)前線程可以訪問該變量,其他線程被阻塞住。


  B. volatile 僅能使用在變量級別;synchronized 則可以使用在變量、方法、和類級別的。


  C. volatile 僅能實(shí)現(xiàn)變量的修改可見性,并不能保證原子性;而 synchronized則可以保證變量的修改可見性和原子性。


  D. volatile 不會造成線程的阻塞;synchronized 可能會造成線程的阻塞。


  E. volatile 標(biāo)記的變量不會被編譯器優(yōu)化;synchronized 標(biāo)記的變量可以被編譯器優(yōu)化。


  2. 有了解 java 的原子類?實(shí)現(xiàn)原理是什么?


  答:采用硬件提供原子操作指令實(shí)現(xiàn)的,即 CAS。每次調(diào)用都會先判斷預(yù)期的值是否符合,才進(jìn)行寫操作,保證數(shù)據(jù)安全。


  3. spring 主要使用了哪些?IOC 實(shí)現(xiàn)原理是什么?AOP 實(shí)現(xiàn)原理是什么?


  答:spring 主要功能有 IOC,AOP,MVC 等,IOC 實(shí)現(xiàn)原理:先反射生成實(shí)例,然后調(diào)用時(shí)主動(dòng)注入。AOP 原理:主要使用 java 動(dòng)態(tài)代理


  4. mybatis 有了解嗎?它與 hibernate 有什么區(qū)別?項(xiàng)目中,你會選哪個(gè)?


  答:兩者都是輕量級 ORM 框架,hibernate 實(shí)現(xiàn)功能比較多,通過 HQL 操作數(shù)據(jù)庫,比較簡單方便,但 hibernate 自動(dòng)生成的 sql 相長,不利測試和查找原因。復(fù)雜 sql 時(shí),編寫比較困難,同時(shí)性能也會降低。mybatis 是半自動(dòng)化,手動(dòng)編寫 SQL 語句,同時(shí)提供豐富的參數(shù)判斷功能。sql 語句較清晰,可以直接進(jìn)行測試,性能也較好,操作起來非常簡單。同時(shí) hibernate 容易產(chǎn)生n+1 問題。hibernate 學(xué)習(xí)成本較 mybatis 高。國內(nèi)一些大公司基本上使用mybatis


  5. 說說數(shù)據(jù)庫性能優(yōu)化有哪些方法?


  答:使用 explain 進(jìn)行優(yōu)化,查看 sql 是否充分使用索引。避免使用 in, 用exist 替代,字段值盡可能使用更小的值,任何對列的操作都將導(dǎo)致表掃描,它包括數(shù)據(jù)庫函數(shù)、計(jì)算表達(dá)式等等,查詢時(shí)要盡可能將操作移至等號右邊。使用連接查詢 (join) 代替子查詢。


  在表的多列字段上建立一個(gè)索引,但只有在查詢這些字段的第一個(gè)字段時(shí),索引才會被使用。


  6. linux 命令熟悉?查看某個(gè)線程命令是什么?查看整個(gè)機(jī)器負(fù)載命令?文件內(nèi)容快速查找命令是什么?


  查看線程:ps -ef|greptomcat


  查看負(fù)載:top


  文件內(nèi)容查找:vi /aa test.txt 或者先打開文件,再查找: vi test.txt /aa


  7. 緩存框架有使用過哪些?memcache 和 redis 有什么區(qū)別?項(xiàng)目中,怎么去選擇?


  答:緩存有: ehcache,memcache 和 redis;


  memcache 和 redis 等區(qū)別:


  1、 Redis 和 Memcache 都是將數(shù)據(jù)存放在內(nèi)存中,都是內(nèi)存數(shù)據(jù)庫。不過 memcache 還可用于緩存其他東西,例如圖片、視頻等等。


  2、Redis 不僅僅支持簡單的 k/v 類型的數(shù)據(jù),同時(shí)還提供 list,set, hash 等數(shù)據(jù)結(jié)構(gòu)的 存儲。


  3、虛擬內(nèi)存 --Redis 當(dāng)物理內(nèi)存用完時(shí),可以將一些很久沒用到的value 交換到磁盤


  4、過期策略 --memcache 在 set 時(shí)就指定,例如 set key1 0 0 8, 即永不過期。Redis 可以通 過例如 expire 設(shè)定,例如 expire name 10


  5、分布式 -- 設(shè)定 memcache 集群,利用 magent 做一主多從; redis可以做一主多從。都可以一主一從


  6、存儲數(shù)據(jù)安全 --memcache 掛掉后,數(shù)據(jù)沒了;redis 可以定期保存到磁盤(持久化)


  7、災(zāi)難恢復(fù) --memcache 掛掉后,數(shù)據(jù)不可恢復(fù); redis 數(shù)據(jù)丟失后可以通過 aof 恢復(fù)


  8、Redis 支持?jǐn)?shù)據(jù)的備份,即 master-slave 模式的數(shù)據(jù)備份。項(xiàng)目使用選擇:redis 是單線程實(shí)現(xiàn),若需要使用控制某些并發(fā)狀態(tài)時(shí),可以使用 redis. 項(xiàng)目中需要使用 復(fù)雜的 list,set 操作時(shí),同時(shí)可以對數(shù)據(jù)進(jìn)行持久化。當(dāng)存儲數(shù)據(jù)較大時(shí),如 100k 以上,那 memcache 性能較好,在多核上,memcache較好


2020年百度Java開發(fā)面試題目


      以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“2020年百度Java開發(fā)面試題目”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


相關(guān)推薦


最新最全java面試題及答案(初級到高級)


史上最全的中高級JAVA工程師面試題及答案匯總


Java高級開發(fā)工程師面試題


2019史上最全java面試題題庫大全800題


哪有資深java工程師面試題


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久夜色精品国产一区二区三区 | 久久久夜色精品国产噜噜 | 国产性精品 | 成 人 黄 色 视频 免费观看 | 色姑娘综合网 | 精品中文字幕一区二区三区四区 | 波多野结衣久久精品免费播放 | 日韩精品一区二区三区高清 | 精品国产一区二区二三区在线观看 | 另类综合视频 | 狠狠操91| 一级aa 毛片高清免费看 | 日韩精品国产自在久久现线拍 | 久久精品视频9 | 香蕉在线视频观看 | 亚洲人成影院在线高清 | 这里只有精品在线 | 手机看片日韩日韩韩 | 尹人在线视频 | 老司机午夜免费福利 | 久久www免费人成_看片美女图 | 欧美一级在线免费观看 | 国产欧美精品综合一区 | 四虎国产精品永久地址99新强 | 四虎影视免费永久在线观看黄 | 有码 在线| 女人16一毛片 | 久久66热这里只会有精品 | 日日夜夜天天干干 | 一久久| 欧美成人性做爰网站免费 | 精品香蕉99久久久久网站 | www.淫 | 国产成人免费观看在线视频 | 久久精品国产亚洲麻豆小说 | 久热中文字幕在线精品免费 | 性性影院在线观看 | 国产成人cao在线 | 老司机午夜性大片 | 黄色在线视频网站 | 久久久窝窝午夜精品 |