大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: 四虎精品成人免费影视 | 日本特级黄毛片毛片视频 | 荷兰毛片| 香蕉久人久人青草青草 | 国产精品资源在线观看 | 高清欧美一级在线观看 | 亚洲色中文字幕在线播放 | 中文字幕亚洲一区二区三区 | 欧美精品 日韩 | 国产成人久久 | 日韩小视频 | 99久久精品免费视频 | 免费爱爱网站 | 香蕉大黄香蕉在线观看 | 亚洲欧美日韩国产一区二区精品 | 中国欧美一级毛片免费 | 亚洲有色| 久草热久 | 国产精品视频一区牛牛视频 | 国产成人综合一区人人 | 一区二区亚洲视频 | 可以直接看的毛片 | 国产亚洲精品sese在线播放 | 成人午夜亚洲影视在线观看 | 久久资源在线 | 手机看片日韩日韩韩 | 天天躁天天碰天天看 | 国产亚洲欧洲国产综合一区 | 美女羞羞网站 | 中文字幕2区 | 7777奇米影视 | 99视频精品免费99在线 | 99久久精品国产片久人 | 国产在线精品网址你懂的 | 亚洲欧美在线中文字幕不卡 | 精品久久久99大香线蕉 | 色午夜在线 | 国产精品久久久久影院嫩草 | 福利影院在线 | 精品久久久影院 | 欧美一区二区久久精品 |