前兩天分享了一篇京東的,今天百度的來了,
感謝老鐵的素材提供

一面
-
首先是專案部分,問的比較細;
-
如果一個物件有多個方法加了synchronized,那么該物件有幾把鎖
答:物件鎖是在一個類的物件上加的的鎖,只有一把,不管有幾個方法進行了同步,這些同步方法都共有一把鎖,只要一個執行緒獲得了這個物件鎖,其他的執行緒就不能訪問該物件的任何一個同步方法,
- NIO與AIO的區別以及各自的作用;
(1)Java NIO :同步非阻塞,服務器實作模式為一個請求一個執行緒,即客戶端發送的連接請求都會注冊到多路復用器上,多路復用器輪詢到連接有I/O請求時才啟動一個執行緒進行處理,NIO方式適用于連接數目多且連接比較短(輕操作)的架構,比如聊天服務器,
(2)Java AIO(NIO.2) : 異步非阻塞,服務器實作模式為一個有效請求一個執行緒,客戶端的I/O請求都是由OS先完成了再通知服務器應用去啟動執行緒進行處理,AIO方式使用于連接數目多且連接比較長(重操作)的架構,比如相冊服務器,
- IOC的實作原理;
Spring的IOC實作原理就是工廠模式加反射機制,通俗來講就是根據給出的類名(字串方式)來動態地生成物件,這種編程方式可以讓物件在生成時才被決定到底是哪一種物件,把IOC容器的作業模式看做是工廠模式的升華,可以把IOC容器看作是一個工廠,這個工廠里要生產的物件都在組態檔中給出定義,然后利用編程語言提供的反射機制,根據組態檔中給出的類名生成相應的物件,
- 反射的原理;
反射首先是能夠獲取到Java中的反射類的位元組碼,然后將位元組碼中的方法,變數,建構式等映射成 相應的 Method、Filed、Constructor 等類,
-
資料庫調優思路的思路;
-
開放性的問題,如何提高系統QPS,
二面
-
redis做分布式鎖怎么做的?
-
Redis能做分布式鎖的原理?
答:Redis為單行程單執行緒模式,采用佇列模式將并發訪問變成串行訪問,且多客戶端對Redis的連接并不存在競爭關系,
-
JUC下面主要用哪些東西?
-
說一下AQS?
-
ReentrantLock非公平鎖和公平鎖的實作原理?
三面
-
redis分布式鎖如何保證原子性?
-
用過ThreadLocal嗎?簡單說一下?
答:ThreadLocal采用的是以空間換時間的方式,為每個執行緒提供一份變數副本,每一個執行緒都可以獨立的改變自己的副本,
-
Java8之后的ConcurrentHashMap, 舍棄分段鎖
-
介紹下cms收集器
-
redis快取與資料庫一致性問題?
答:一致性問題主要出現在資料更新的時候,通常在更新時采取洗掉快取而不是更新快取,具體一點,先淘汰快取,再寫資料庫,因為如果先寫資料庫可能出現如果有讀請求發生,可能導致舊資料入快取,引發資料不一致,
-
dubbo有哪幾種負載均衡策略?
-
介紹下一致性hash?
-
介紹下mysql的回表和覆寫索引?
-
說下模板方法模式?
最后
咋樣,看完這些面試題?有沒有興趣去試試呢?
針對最近很多人都在面試,我這邊也整理了相當多的面試專題資料,也有其他大廠的面經,希望可以幫助到大家,

上述的面試題答案都整理成檔案筆記, 也還整理了一些面試資料&最新2020收集的一些大廠的面試真題(都整理成檔案,小部分截圖),有需要的可以點擊進入暗號:csdn

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/120822.html
標籤:其他
