2020Java面試題及答案,命中率高達90%

来源:https://www.cnblogs.com/yuxiang1/archive/2020/05/21/12933406.html
-Advertisement-
Play Games

這份資源我自己歷經三年才整理歸類出來,現在免費分享給大家; 面試題有:螞蟻金服、拼多多、阿裡雲、百度、唯品會、攜程、豐巢科技、樂信、軟通動力、OPPO、銀盛支付、中國平安等初,中級,高級Java面試題集合。 面試題以及答案,已經整理成PDF電子書形式打包在網盤; 面試題領取微信掃一掃,加好友請備註“ ...


這份資源我自己歷經三年才整理歸類出來,現在免費分享給大家;

面試題有:螞蟻金服、拼多多、阿裡雲、百度、唯品會、攜程、豐巢科技、樂信、軟通動力、OPPO、銀盛支付、中國平安等初,中級,高級Java面試題集合。

面試題以及答案,已經整理成PDF電子書形式打包在網盤;

 

 

面試題領取微信掃一掃,加好友請備註“博客園面試題”;

 

目錄

上海-攜程-Java高級面試題.pdf

北京-百度-Java中級面試題.pdf

深圳-樂信-Java高級面試題.pdf

深圳-騰訊-Java高級面試題.pdf

上海-拼多多-Java高級面試題.pdf

深圳-OPPO-Java高級面試題.pdf

上海-拼多多-Java高級面試題.pdf

北京-京東-Java實習生面試題.pdf

北京-京東-Java實習生面試題.pdf

杭州-阿裡雲Java實習生面試題.pdf

南京-軟通動力-Java初級面試題.pdf

深圳-銀盛支付-Java中級面試題.pdf

深圳-中國平安-Java中級面試題.pdf

深圳-螞蟻金服-Java高級面試題.pdf

深圳-豐巢科技-Java高級面試題.pdf

深圳-商湯科技-Java高級面試題.pdf

廈門-中軟國際-Java初級面試題.pdf

杭州-螞蟻金服-Java高級面試題.pdf

杭州-螞蟻金服-資深工程師面試題.pdf

廣州唯品會-Java大數據開發工程師面試題.pdf


上海-攜程-16個Java高級面試題

1、描述一下 JVM 載入 Class 文件的原理機制? 

2、什麼是類載入器?

3.、類載入器有哪些?

4、什麼是tomcat類載入機制?

5、類載入器雙親委派模型機制?

6、Java 記憶體分配?

7、Java 堆的結構是什麼樣子的?

8、簡述各個版本記憶體區域的變化?

9、說說各個區域的作用?

10、Java 中會存在記憶體泄漏嗎,簡述一下? 

11、Java 類載入過程?

12、什麼是 GC? 為什麼要有 GC?

13、簡述一下 Java 垃圾回收機制?

14、如何判斷一個對象是否存活? 

15、垃圾回收的優點和原理,並考慮 2 種回收機制? 基本原理是什麼? 

16、深拷貝和淺拷貝?

17、什麼是分散式垃圾回收(DGC)?它是如何工作 的? 

 

北京-百度-20個Java中級面試題

1、BeanFactory 和 ApplicationContext 有什麼區別

2、Spring Bean 的生命周期 

3、Spring IOC 如何實現 

4、說說 Spring AOP 

5、Spring AOP 實現原理 

6、Spring 事務實現方式 

7、Spring 事務底層原理 

8、如何自定義註解實現功能

9、Spring MVC 運行流程

10、Spring MVC 啟動流程 

11、Spring 的單例實現原理 

12、Spring 框架中用到了哪些設計模式 

13、為什麼選擇 Netty 

14、說說業務中,Netty 的使用場景 

15、原生的 NIO 在 JDK 1.7 版本存在 epoll bug 

16、什麼是TCP 粘包/拆包 

17、TCP粘包/拆包的解決辦法

18、Netty 線程模型 

19、說說 Netty 的零拷貝 

20、Netty 內部執行流程 

 

杭州-螞蟻金服-36個Java高級面試題

1. 說說你的⼯工作經歷?

2. 項⽬目主要負責哪⼏幾個模塊?

3. 畫出你項⽬目的結構圖

4. Eureka是如何進⾏行行服務註冊的?

5. 如果服務宕機或者⽆無法訪問了了,我還去請求該服務,Eureka會怎麼處理理? 會有什什麽現象?

6. 談談Eureka的保護機制 

7. Ribbon的負載均衡是⾯面向服務內部還是外部的?

8. Ribbon如何實現負載均衡的? 

9. 如果沒有Eureka,我能直接通過Ribbon進⾏行行服務請求嗎? 

10. Hystrix如何實現熔斷?

11. 當服務⽆無法訪問時,是直接熔斷還是降級

12. 怎麼樣才會出現熔斷?

13. 在Springcloud中,消費者調⽤用提供者的流程是如何的?請畫圖 springcloud的⼯工作原理理

14. Redis的集群⽅方式有哪些?

15. 如果你原來讀取的Redis中的數據,它的數據的結構發⽣生了了變化,如何在 不不改變代碼的情況下進⾏行行處理理,使下游業務不不受影響? 

16. Redis的持久化⽅方式有哪些?說說他們的具體實現、

17. 使⽤用Redis的過程中有沒有遇到什什麽問題

18. Redis的記憶體回收機制有哪些?

19. Redis的過期策略略有哪些?簡單介紹下不不同策略略 

20. 說說Redis的淘汰策略略?淘汰的演算法可以修改或者⾃自⼰己重寫嗎?

21. 你們的項⽬目中消息中間件⽤用的是什什麽? 

22. 你們的Rabbit集群是怎麼部署的?

23. Rabbit集群之間的數據是如何同步的?同步⽅方式還是非同步⽅方式?

24. 一個隊列列中的數據你們是存放在⼀一臺機⼦子上還是多台機⼦子上?為什什麽?

25. RabbitMQ內部結構是怎麼樣的?請畫出RabbitMQ的架構圖 

26. 你們公司的資料庫有分庫分表嗎?如何實現的? 

27. Mysql的索引是基於什什麽? 

28. 說說B+樹 

29. 使⽤用⾃自增ID和UUID作為主鍵有什什麽不不同?

30. 說說資料庫的事務隔離級別有哪些?

31. 在代碼中,我們如何實現事務? 

32. 如果在⼀一個事務中,代碼業務流程很⻓長,會有什什麽問題嗎?為什什麽會出 現這種問題? 

33. 使⽤用volatile關鍵字的時候有遇到過什什麽問題嗎?為什什麽會出現這種問 題? 34. 請說說volatile的底層實現原理理

35. 如何創建線程池?有什什麽參數?線程池的實現原理理

36. 你有什什麽問題想問我們的嗎?

 

上海-拼多多二面-48個Java高級面試題.pdf

1、併發編程三要素? 

2、實現可見性的方法有哪些?

3、多線程的價值? 

4、創建線程的有哪些方式? 

5、創建線程的三種方式的對比? 

6、線程的狀態流轉圖

7、Java 線程具有五中基本狀態 

8、什麼是線程池?有哪幾種創建方式?

9、四種線程池的創建

10、線程池的優點? 

11、常用的併發工具類有哪些? 

12、CyclicBarrier 和 CountDownLatch 的區別

13、synchronized 的作用?

14、volatile 關鍵字的作用

15、什麼是 CAS 

16、CAS 的問題

17、什麼是 Future?

18、什麼是 AQS

19、AQS 支持兩種同步方式: 

20、ReadWriteLock 是什麼 

21、FutureTask 是什麼 

22、synchronized 和 ReentrantLock 的區別

23、什麼是樂觀鎖和悲觀鎖 

24、線程 B 怎麼知道線程 A 修改了變數 

25、synchronized、volatile、CAS 比較

26、sleep 方法和 wait 方法有什麼區別?

27、ThreadLocal 是什麼?有什麼用? 28、為什麼 wait()方法和 notify()/notifyAll()方法要在同步塊中被調

29、多線程同步有哪幾種方法?

30、線程的調度策略

31、ConcurrentHashMap 的併發度是什麼

32、Linux 環境下如何查找哪個線程使用 CPU 最長 

33、Java 死鎖以及如何避免?

34、死鎖的原因

35、怎麼喚醒一個阻塞的線程 

36、不可變對象對多線程有什麼幫助

37、什麼是多線程的上下文切換 

38、如果你提交任務時,線程池隊列已滿,這時會發生什麼

39、Java 中用到的線程調度演算法是什麼 

40、什麼是線程調度器(ThreadScheduler)和時間分片(TimeSlicing)? 

41、什麼是自旋

42、JavaConcurrencyAPI 中的 Lock 介面(Lockinterface)是什麼?對
比同步它有什麼優勢?

43、單例模式的線程安全性

44、Semaphore 有什麼作用 

45、Executors 類是什麼?

46、線程類的構造方法、靜態塊是被哪個線程調用的

47、同步方法和同步塊,哪個是更好的選擇?

48、Java 線程數過多會造成什麼異常? 

 

深圳-中國平安-平安產險-ai部門-Java中級面試題

1. redis各種應⽤用場景 

2. redis持久化機制 

3. mysql調優 

4. 有沒了了解Docker,Docker和虛擬機有什什麽區別?

 

深圳-中國平安-核⼼系統部,43個面試題

1. 介紹簡歷上主要項⽬目,畫框架圖,說流程。

 2. 針對簡歷上的技能進⾏行行提問。 

3. 說說rabbitmq的結構。 

4. rabbitmq隊列列與消費者的關係?

5. rabbitmq交換器器種類。

6. 項⽬目中哪⾥里里⽤用到了了kafka,kafka特性?

7. rabbitmq、RocketMq、kafka對⽐比。

8. 介紹springcloud核⼼心組件及其作⽤用,以及springcloud⼯工作流程。 

9. 介紹springcloud⼼心跳機制,以及消費端如何發現服務端(Ribbon)?

10. eureka的缺點。 

11. eureka緩存機制

12. rpc和http的區別,使⽤用場景? 

13. 分散式事務如何保持⼀一致性? 

14. 什什麽情況下⽤用到分散式開發? 

15. jvm記憶體模型,各個部分的特點?

16. 類載入器器,雙親委派模型? 

17. 類載入機制。 

18. java堆的結構,一個bean被new出來之後,在記憶體空間的⾛走向?

19. 如何讓棧溢出,如何讓⽅方法區溢出? 

20. 寫出⼏幾個jvm優化配置參數。 

21. 有哪⼏幾種GC機制?

22. springboot啟動過程。

23. 說說⼏幾個常⽤用的註解?

24. spring事件的實現原理理,寫出常⽤用的⼏幾個事件。 

25. spring的bean的⽣生命周期?

26. BeanFactory和FactoryBean的區別。 

27. spring中使⽤用到了了FactoryBean的哪個⽅方法? 

28. 說說HashMap、ConcurrentHashMap數據結構,1.7與1.8的區別? 

29. 談談數據結構,⽐比如TreeMap。 

30. B-tree、B+tree? 

31. 紅⿊黑樹左旋與右旋的區別?

32. concurrent包下有哪些常⽤用類? 

33. 三種分散式鎖。

34. 你知道哪些常⽤用的阻塞隊列列? 

35. newFixedThreadPool使⽤用到了了哪個阻塞隊列列?

36. 說說mysql存儲引擎innodb和myisam的區別和使⽤用場景。 

37. 說說mysql查詢優化。

38. 說說臟讀、不可重覆讀、幻讀; 

39. 說說事務的四種特性(ACID)。 

40. codis與redis集群的區別

41. 要緩存⽹網站登錄的⽤用戶信息,你有⼏幾種⽅方式?

42. 讓你設計⼀一套分散式緩存,如何設計可以同時更更新所有伺服器器的緩存? 

43. 說說你在⼯工作中遇到的困難或者挑戰。

 

北京-京東-14個Java實習生面試題

1、哪些情況下的對象會被垃圾回收機制處理掉?

2、講一下常見編碼方式?

3、utf-8 編碼中的中文占幾個位元組;int 型幾個位元組?

4、靜態代理和動態代理的區別,什麼場景使用?

5、Java 的異常體系

6、談談你對解析與分派的認識。 

7、修改對象 A 的 equals 方法的簽名,那麼使用 HashMap 存放這個對象實例的時候,會調用哪個 equals 方法?

8、Java 中實現多態的機制是什麼? 

9、如何將一個 Java 對象序列化到文件里?

10、說說你對 Java 反射的理解 

11、說說你對 Java 註解的理解 

12、說一下泛型原理,並舉例說明 

13、Java 中 String 的瞭解

14、String 為什麼要設計成不可變的? 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Level 7kyu :Get the Middle Character 您將得到一個單詞。 您的工作是返回單詞的中間字元。 要求: 如果單詞的長度是奇數,則返回中間字元。 如果單詞的長度是偶數,請返回中間的2個字元。 主要方法: length()->獲取字元串長度 charAt(索引下標)->返回 ...
  • manacher 線性查找演算法 manacher演算法中需要知道的概念: 迴文半徑: 迴文中心 到 迴文邊界的距離. 迴文半徑數組: radius[i]表示以 i 為迴文中心的最大迴文半徑. 迴文最右邊界: 出現的迴文邊界中最右的位置. 首次迴文中心: 迴文最右邊界首次出現時的迴文中心. 首次迴文左邊 ...
  • 1. PIL Image圖片顯示 在使用PIL函數中的Image方法讀取圖片時,對於圖片的shape,可能有不少寶寶存在疑惑。是什麼疑惑了?就是image = Image.open(image_path),當你執行print(image.size)時,你得到的是圖片的真實維度:W * H(寬和高), ...
  • Token驗證是驗證用戶身份的重要方式,在golang開發中具有廣泛應用,文中主要闡述了利用jwt包加密後的token驗證。 導入包: import ( "github.com/dgrijalva/jwt-go") // GenerateToken 生成Tokenfunc GenerateToken ...
  • 準備鏡像 我使用的centos系統,docker-ce最新版本。 先準備好三個鏡像 docker pull mysql:5.7 docker pull php:5.6-fpm docker pull nginx:latest 註意,mysql和php不要使用最新版本,坑很多。 docker imag ...
  • 在上一篇文章中我們介紹了JDK1.8的新特性有以下幾項。 1.Lambda表達式 2.方法引用 3.函數式介面 4.預設方法 5.Stream 6.Optional類 7.Nashorm javascript引擎 8.新的日期時間API 9.Base64 並且學習了JDK1.8最重要的特性--Lam ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 Step1:基礎數據準備(通過爬蟲獲取到),以下是從第一期03年雙色球開獎號到今天的所有數據整理,截止目前一共2549期,balls.txt 文件內容如下 : 備註:想要現成 ...
  • 給大家分享這幾個月整理出來的Java程式員面試筆試真題,順便給大家分享一本電子書《Java程式員面試筆試寶典》需要的可以掃描文末的二維碼即可,話不多說給大家看看部分截圖。 ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...