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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...