備戰金三銀四:2020java面試題分享,請查收


備戰金三銀四:2020java面試題分享,請查收


本文收錄的面試題包括MySQL、Redis、java、JVM等相關內容。我相信很多人都在計劃著跳槽,也或者在等金三銀四的到來,請對找工作保持十二分的熱情,而且越早準備越好。臨時狂背知識點什麼的,可能大致的都瞭解,細問就什麼都不知道了,面試京東我也是提前一個月就開始準備了,畢竟不打無準備的仗

一:Java

1. 多個線程同時讀寫,讀線程的數量遠遠大於寫線程,你認為應該如何解決 併發的問題?你會選擇加什麼樣的鎖?

2. JAVA的AQS是否瞭解,它是幹嘛的?

3. 除了synchronized關鍵字之外,你是怎麼來保障線程安全的?

4. 什麼時候需要加volatile關鍵字?它能保證線程安全嗎?

5. 線程池內的線程如果全部忙,提交一個新的任務,會發生什麼?隊列全部 塞滿了之後,還是忙,再提交會發生什麼?

二、Spring

1. 你有沒有用過Spring的AOP? 是用來幹嘛的? 大概會怎麼使用?

2. 如果一個接⼝有2個不同的實現, 那麼怎麼來Autowire一個指定的實現?

3. Spring的聲明式事務 @Transaction註解x般寫在什麼位置? 拋出了異常 會自動回滾嗎?有沒有辦法控制不觸發回滾?

4. 如果想在某個Bean⽣成並裝配完畢後執自己的邏輯,可以什麼方式實 現?

5. SpringBoot沒有放到web容器裡為什麼能跑HTTP服務?

三、MySQL

1. 如果有很多數據插⼊MYSQL 你會選擇什麼方式?

2. 如果查詢很慢,你會想到的第一個方式是什麼?索引是幹嘛的?

3. 如果建了一個單列索引,查詢的時候查出2列,會用到這個單列索引嗎?

4. 如果建了一個包含多個列的索引,查詢的時候只用了第一列,能不能用上 這個索引?查三列呢?

5. 接上題,如果where條件後面帶有一個 i + 5 < 100 會使用到這個索引嗎?

6. 怎麼看是否用到了某個索引?

四、JVM

1. 你知道哪些或者你們線上使用什麼GC策略? 它有什麼優勢,適用於什麼 場景?

2. JAVA類加載器包括幾種?它們之間的父子關係是怎麼樣的?雙親委派機 制是什麼意思?有什麼好處?

3. 如何自定義一個類加載器?你使⽤過哪些或者你在什麼場景下需要一個自 定義的類加載器嗎?

4. 堆內存設置的參數是什麼?

5. Perm Space中保存什麼數據? 會引起OutOfMemory嗎?

五、Redis

-- 開發

1. 緩存穿透可以介紹一下麼?你認為應該如何解決這個問題

2. 你是怎麼觸發緩存更新的?(比如設置超時時間(被動方式), 比如更新的時 候主動update)?如果是被動的方式如何控制多個入口同時觸發某個緩存更 新?

3. 你們用Redis來做什麼?為什麼不用其他的KV存儲例如Memcached, Cassandra等?

-- 運維

1. Redis持久化大概有幾種方式? aof和rdb的區別是什麼? AOF有什麼優缺 點嗎?

2. Redis Replication的大致流程是什麼? bgsave這個命令的執行過程?

最後:更多相關資料私信【Java】就可以免費領取噠

上面都是自己整理好的!我就把資料貢獻出來給有需要的人!順便求一波關注,哈哈~各位小夥伴關注我後私信【Java】就可以免費領取噠


分享到:


相關文章: