首頁 > 軟體

Java程式設計師面試題(12專題5000解析)

2021-05-30 11:30:46

一、多執行緒&併發面試題(108道)

1、Java中實現多執行緒有幾種方法

2、繼承Thread類

3、實現Runnable介面。

4.ExecutorService. Callable.Future有返回值執行緒

5、基於執行緒池的方式

6、4種執行緒池

7、如何停止一個正在運行的執行緒

8、 notify0和notifyAll0有什麼區別?

9、sleep()和wait(有什麼區別?

10、volatile是什麼?可以保證有序性嗎?

11、Thread類中的start(和run(方法有什麼區別?

12、為什麼wait, notify 和notifyAll這些方法不在thread類裡面?

13、為什麼wait和notify方法要在同步塊中呼叫?

14、Java中interrupted和islnterruptedd方法的區別?

15、Java中synchronized和 ReentrantLock有什麼不同?

16、有三個執行緒T1,T2,T3,如何保證順序執行?

17、SynchronizedMap和ConcurrentHashMap有什麼區別?

18、什麼是執行緒安全

19、Thread類中的yield方法有什麼作用?

20、Java執行緒池中submit(0和execute(方法有什麼區別?

21、說—說自己對於synchronized關鍵字的瞭解

22、說說自己是怎麼使用synchronized關鍵字,在項目中用到了嗎synchronized關鍵字最主要的三種使用方式

23、什麼是執行緒安全?Vector是一個執行緒安全類嗎?

24.volatile關鍵字的作用?

25、簡述—下你對執行緒池的理解

二、JVM面試題(87道)

1、java中會存在記憶體洩漏嗎,請簡單描述。

2、64位JVM中,int的長度是多數?

3、Serial 與 Parallel GC之間的不同之處?

4、32位和64位的JVM, int類型變數的長度是多數?

5、Java 中 WeakReference 與 SoftReference的區別?

6、JVM選項-XX:+UseCompressedOops有什麼作用?為什麼要使用

7、怎樣通過Java程式來判斷JVM是32位還是64位?

8、32位JVM和64位JVM的最大堆記憶體分別是多數?

9、JRE、JDK、JVM及T之間有什麼不同?

10、解釋Java堆空間及GC?

11、JVM記憶體區域

12、程式計數器(執行緒私有)

13、虛擬機器棧(執行緒私有)

14、本地方法區(執行緒私有)

15、你能保證GC執行嗎?

16、怎麼獲取Java程式使用的記憶體?堆使用的百分比?

17、Java 中堆和棧有什麼區別?

18、描述一下JVM載入class 檔案的原理機制

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

20、堆(Heap-執行緒共享)-運行時資料區

21、方法區/永久代(執行緒共享)

22、JVM運行時記憶體

三、Mysql面試題(83道)

1、資料庫儲存引擎2. InnoDB (B+樹)

2、TokuDB ( Fractal Tree-節點帶資料)

3、MyIASM

4、Memory

5、資料庫引擎有哪些

6、InnoDB與MyISAM的區別

7、索引

8、常見索引原則有

9、資料庫的三正規化是什麼

10、第一正規化(1st NF -列都是不可再分)

11、第二正規化(2nd NF -每個表只描述—件事情)

12、第三正規化(3rd NF -不存在對非主鍵列的傳遞依賴)

13、資料庫是事務

14、SQL優化

15、簡單說—說drop.delete與truncate的區別

16、什麼是檢視

17、什麼是內聯接、左外聯接、右外聯接?

18、併發事務帶來哪些問題?

19、事務隔離級別有哪些?MySQL的預設隔離級別是?

20、大表如何優化?

21、水平分區

四、Redis面試題(50道)

1、什麼是Redis?

2、Redis 與其他 key-value儲存有什麼不同?

3、Redis的資料類型?4、使用Redis有哪些好處?

5、Redis 相比 Memcached有哪些優勢?

6、Memcache 與 Redis 的區別都有哪些?

7、Redis是單程序單執行緒的?

8、一個字元串類型的智慧儲存最大容量是多少?

9、Redis持久化機制

10、快取雪崩、快取穿透、快取預熱、快取更新、快取降級等問題

11、熱點資料和冷資料是什麼12、單執行緒的redis為什麼這麼快

12、單執行緒的redis為什麼這麼快

13、redis的資料類型,以及每種資料類型的使用場景

14、redis的過期策略以及記憶體淘汰機制

15、Redis '常見效能問題和解決方案?

16、為什麼Redis的操作是原子性的,怎麼保證原子性的?

17、Redis事務

18、Redis 的持久化機制是什麼?各自的優缺點?

19、Redis常見效能問題和解決方案

20、redis 過期鍵的刪除策略?

21、Redis的回收策略(淘汰策略)?

22、為什麼edis需要把所有資料放到記憶體中?

23、Redis 的同步機制瞭解麼?

24、Pipeline有什麼好處,為什麼要用pipeline?

25、是否使用過Redis叢集,叢集的原理是什麼?

26、Redis叢集方案什麼情況下會導致整個叢集不可用?

27、Redis支援的Java客戶端都有哪些?官方推薦用哪個?

五、微服務 面試題(50道)

2、微服務架構有哪些優勢?

3、微服務有哪些特點?

4、設計微服務的最佳實踐是什麼?

5、微服務架構如何運作?

6、微服務架構的優缺點是什麼?

7、單片,SOA和微服務架構有什麼區別?

8、在使用微服務架構時,您面臨哪些挑戰?

9.SOA和微服務架構之間的主要區別是什麼?

10、微服務有什麼特點?

11、什麼是領域驅動設計?

12、為什麼需要域驅動設計(DDD)?

13、什麼是無所不在的語言?

14、什麼是凝聚力?

15、什麼是耦合?

16、什麼是 REST / RESTful以及它的用途是什麼?

17、你對Spring Boot有什麼瞭解?18、什麼是Spring引導的執行器?19、什麼是Spring Cloud?

20.Spring Cloud解決了哪些問題?21、在Spring MVC應用程式中使用webMvcTest 註釋有什麼用處?

22、你能否給出關於休息和微服務的要點?

23、什麼是不同類型的微服務測試?

24、您對Distributed Transaction有何瞭解?

25、什麼是ldempotence 以及它在哪裡使用?

26、什麼是有界上下文?27、什麼是雙因素身份驗證?

28、雙因素身份驗證的憑據類型有哪些?29、什麼是客戶證書?

30、PACT在微服務架構中的用途是什麼?

31、什麼是OAuth?32、康威定律是什麼?

33、合同測試你懂什麼?

34、什麼是端到端微服務測試?

35、Container在微服務中的用途是什麼

36、什麼是微服務架構中的DRY?

37、什麼是消費者驅動的合同(CDC)?

38、Web,RESTful API在微服務中的作用是什麼?

39、您對微服務架構中的語義監控有何瞭解?

40、我們如何進行跨功能測試?

41、我們如何在測試中消除非決定論?42、Mock或者或者 Stub有什麼區別?

43、您對Mike說道 Cohn的測試金字塔瞭解多少?

44、Docker 的目的是什麼?

45、什麼是金絲雀釋放?

46、什麼是持續整合(CI)?

47、什麼是持續監測?

48、架構師在微服務架構中的角色是什麼

六、Spring面試題(131道)

1、不同版本的Spring Framework有哪些主要功能?

2、什麼是Spring Framework?

3、列舉Spring Framework 的優點。

4、Spring Framework 有哪些不同的功能?

5、Spring Framework中有多少個模組,它們分別是什麼?

6、什麼是Spring 配置檔案?

7、Spring應用程式有哪些不同元件?

8、使用Spring有哪些方式?

9、什麼是Spring IOC容器?

10、什麼是依賴注入?

11、可以通過多少種方式完成依賴注入?

12、區分建構函式注入和setter注入

13、spring 中有多少種IOC容器?

14、區分BeanFactory和ApplicationContext.

15、列舉loC的一些好處。

16、Spring loC的實現機制。

17、什麼是spring bean?

18、spring 提供了哪些配置方式?

19、spring支援集中bean scope?

20、spring bean 容器的生命週期是什麼樣的?

21、什麼是spring 的內部 bean?

22、什麼是spring裝配

23、自動裝配有哪些方式?

24、自動裝配有什麼侷限?

由於資料內容太多,平臺篇幅限制,小編就展現了以上部分面試專題與資料!如需獲取以上全部面試資料的同學關注+轉發後私信小編【666】即可!

七、Spring Cloud面試題(35道)

1、什麼是Spring Cloud?

2、使用Spring Cloud有什麼優勢?

3、服務註冊和發現是什麼意思?Spring Cloud如何實現?

4、負載平衡的意義什麼?

5、什麼是Hystrix?它如何實現容錯?6、什麼是 Hystrix 斷路器?我們需要它嗎?

7、什麼是Netflix Feign?它的優點是什麼?

8、什麼是Spring Cloud Bus?我們需要它嗎?

9、什麼是微服務

10、什麼是服務熔斷?什麼是服務降級

11、Eureka和zookeeper都可以提供服務註冊與發現的功能,請說說兩個的區別?

12、SpringBoot和SpringCloud的區別?

13、什麼是Hystrix斷路器?我們需要它嗎

14、說說RPC的實現原理

15、微服務的優點缺點?說下開發項目中遇到的坑?

16、spring cloud和dubbo區別?

17、REST和RPC對比

18、你所知道的微服務技術棧?

19、微服務之間是如何獨立通訊的?

20.springcloud如何實現服務的註冊?

21、Eureka和Zookeeper區別

22、eureka自我保護機制是什麼?

23、什麼是Ribbon?

24、什麼是feigin?它的優點是什麼?

25、Ribbon和Feign的區別?

八、MyBatis 面試題(28道)

1、什麼是 Mybatis?

2、Mybaits的優點

3、MyBatis框架的缺點

4、MyBatis框架適用場合

5、MyBatis 與 Hibernate有哪些不同?

6、#仍和$的區別是什麼?

7、當實體類中的屬性名和表中的欄位名不一樣,怎麼辦?

8、模糊查詢like語句該怎麼寫?

9、通常一個Xml 對映檔案,都會寫一個 Dao介面與之對,.請問.場法參教不同時,方法能重裁嗎?

13、如何獲取自動生成的(主)鍵值?

14、在mapper 中如何傳遞多個參數?

15、Mybatis 動態 sql有什麼用?執行原理?有哪些動態sql?

16、Xml對映檔案中,除了常見的select|insert|updae|delete標籤之外,還有哪些標籤?

17、Mybatis 的Xml 對映檔案中,不同的Xml對映檔案,id是否可以重複?

18、為什麼說Mybatis是半自動ORM對映工具?它與全自動的區別在哪裡?

19、一對一、一對多的關聯查詢?

20、MyBatis 實現一對一有幾種方式?具體怎麼操作的?

21、MyBatis 實現一對多有幾種方式,怎麼操作的?

22、Mybatis是否支援延遲載入?如果支援,它的實現原理是什麼?

23、Mybatis的一級、二級快取

24、什麼是MyBatis的介面繫結?有哪些實現方式?

25、使用MyBatis 的mapper 介面呼叫時有哪些要求?

26、Mapper 編寫有哪幾種方式?

27、簡述Mybatis 的插件運行原理,以及如何編寫一個插件。

28、MyBatis實現一對一有幾種方式?具體怎麼操作的?

九、RabbitMQ面試題(32道)

1、什麼是rabbitmq

2、為什麼要使用rabbitmq

3、使用rabbitmq的場景

4、如何確保訊息正確地傳送至RabbitMQ?如何確保訊息接收方消費了訊息?

5、如何避免訊息重複投遞或重複消費?

6、訊息基於什麼傳輸?

7、訊息如何分發?

8、訊息怎麼路由?

9、如何確保訊息不丟失?

10、使用RabbitMQ有什麼好處?

11、RabbitMQ的叢集

12、mq的缺點

13、Kafka、ActiveMQ.RabbitMQ. RocketM都有什麼區別?

14、如何保證高可用的?

15、如何保證訊息的可靠傳輸?如果訊息丟了怎麼辦

16、如何保證訊息的順序性

17、如何解決訊息佇列的延時以及過期失效問題?訊息佇列滿了以後該怎麼處理?有幾百萬訊息持續積壓幾小時,說說怎麼解決

18、設計MQ的思路

19、什麼是Message?

20、什麼是Publisher ?

21、什麼是Exchange(將訊息路由給佇列)

22、什麼是Binding(訊息佇列和交換器之間的關聯)

23、什麼是Queue?

24、什麼是Connection ?

25、什麼是Channel?

26、什麼是Consumer ?

27、什麼是Virtual Host ?

28、什麼是Broker?

29、Exchange類型?

30、Direct 鍵(routing key)分佈?

31、Fanout(廣播分發)?

32、 topic交換器(模式匹配)?

十、Dubbo 面試題(40道)

1、為什麼要用Dubbo?

2、Dubbo的整體架構設計有哪些分層?

3、預設使用的是什麼通訊框架,還有別的選擇嗎?

4、服務呼叫是阻塞的嗎?

5、—般使用什麼註冊中心?還有別的選擇嗎?

6、預設使用什麼序列化框架,你知道的還有哪些?

7、服務提供者能實現失效提出是什麼原理?

8、服務上線怎麼不影響l日版本?

9、如何解決服務呼叫鏈過長的問題?10、說說核心的配置有哪些?

11、Dubbo推薦用什麼協議?

12、同一個服務多個註冊的情況下可以直連某一個服務嗎?

13、畫—畫服務註冊與發現的流程圖?

14、Dubbo叢集容錯有幾種方案?

15、Dubbo 服務降級,失敗重試怎麼做?

16、Dubbo 使用過程中都遇到了些什麼問題?

17、Dubbo Monitor 實現原理?

18、Dubbo 用到哪些設計模式?

19、Dubbo配置檔案是如何載入到Spring 中的

20、Dubbo SPI和Java SPI區別?

21、Dubbo支援分散式事務嗎?22、Dubbo可以對結果進行快取嗎?

23、服務上線怎麼相容舊版本?

24、Dubbo必須依賴的包有哪些?

25、Dubbo telnet命令能做什麼?

由於資料內容太多,平臺篇幅限制,小編就展現了以上部分面試專題與資料!如需獲取全部面試資料的同學關注+轉發後私信小編【666】即可!

十一、Kafka 面試題(25道)

1、Kafka是什麼

2. partition的資料檔案(offset,MessageSize,data)

3、資料檔案分段segment(順序讀寫、分段命令、二分查詢)

4、負載均衡(partition會均衡分佈到不同broker 上)

5、批量傳送

6、壓縮(GZIP或 Snappy)7、消費者設計

7、消費者設計

8、Consumer Group

9、如何獲取topic主題的列表

10、生產者和消費者的命令是什麼?

11、consumer 是推還是拉?

12、講講kafka維護消費狀態跟蹤的方法

13、講一下主從同步

14、為什麼需要訊息系統,mysql不能滿足需求嗎?

15、Zookeeper 對於Kafka 的作用是什麼?

16、Kafka判斷一個節點是否還活著有那兩個條件?

17、Kafka與傳統MQ訊息系統之間有三個關鍵區別

18、講—講kafka 的ack的三種機制

19、消費者如何不自動提交偏移量,由應用提交

20、消費者故障,出現過鎖問題如何解決?

21、如何控制消費的位置

22、 kafka 分散式(不是單機)的情況下,如何保證訊息的順序消費?

23、kafka的高可用機制是什麼?

24、kafka如何減少資料丟失

25、 kafka如何不消費重複資料?比如扣款,我們不能重複的扣。

十二、ZooKeeper 面試題(49道)

1、什麼是Zookeeper?

2、Zookeeper如何保證了分散式一致性特性?

3、ZooKeeper提供了什麼?

4、Zookeeper檔案系統

5、ZAB協議?

6、四種類型的資料節點Znode

7、Zookeeper Watcher機制--資料變更通知

8、客戶端註冊Watcher 實現

9、服務端處理Watcher 實現

10、客戶端回撥Watcher

11、ACL 許可權控制機制

12、Chroot特性

13、會話管理

14、伺服器角色

15、Zookeeper 下 Server工作狀態

16、資料同步

17、zookeeper是如何保證事務的順序一致性的?

18、zk節點宕機如何處理?

19.zookeeper負載均衡和nginx負載均衡區別

20、分散式叢集中為什麼會有Master?

21、Zookeeper 有哪幾種部署模式?

22、叢集最少要幾臺機器,叢集規則是怎樣的?

23、叢集支援動態新增機器人嗎?

24、Zookeeper 節點的watch監聽通知是永久的嗎?為什麼不是永久的?

25、Zookeeper的java客戶端都有哪些?

26、chubby是什麼,和zookeeper 比你怎麼看

27、說幾個zookeeper '常用的命令。

28、ZAB和Paxos演算法的聯絡與區別?

Linux面試題

Elasticsearch 面試題

福利再附贈:283頁Java架構進階面試解析筆記內容涵蓋包括(Java、MyBatis、ZooKeeper、Dubbo、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等等,)希望大家都能找到適合自己的公司,開開心心的擼程式碼。

由於資料內容太多,平臺篇幅限制,小編就展現了以上部分面試專題與資料,同時也給大家帶來一些面試資料!如需獲取以上全部面試資料的同學關注+轉發後私信小編【666】即可!


IT145.com E-mail:sddin#qq.com