注冊用戶即可下載全站資源 關注Java幫幫微信公眾號
 

2020預備春招BAT面試題匯總:分布式+Dubbo +JVM+微服務+多線程+Spring

65
發表時間:2020-01-20 10:46作者:程序員生活志

前言:

本文收集整理了各大廠常見面試題N道,內容涵蓋:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技術棧,希望大家都能找到適合自己的公司,開開心心的擼代碼。

目錄:

由于題量較多,篇幅的限制,文章中的面試題分享沒有全部附上詳細的解析,但是整理成了一份詳細的PDF文檔可分享給大家,文末獲取免費領取方式

看面試題可以是為了面試,也可以是對自己學到的東西的一種查漏補缺,更加深刻的去了解一些核心知識點


(文末附面試答案)

MyBatis 面試題


  • 1、什么是 Mybatis?

  • 2、Mybaits 的優點:

  • 3、MyBatis 框架的缺點:

  • 4、MyBatis 框架適用場合:

  • 5、MyBatis 與 Hibernate 有哪些不同?

  • 6、#{}和${}的區別是什么?

  • 7、當實體類中的屬性名和表中的字段名不一樣 ,怎么辦 ?

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

ZooKeeper 面試題

ZooKeeper 是一個開源的分布式協調服務,由雅虎創建,是 Google Chubby 的開源實現。分布式應用程序可以基于 ZooKeeper 實現諸如數據發布/訂閱、負載均衡、命名服務、分布式協調/通知、集群管理、Master 選舉、配置維護,名字服務、分布式同步、分布式鎖和分布式隊列等功能。

  • zookeeper 負載均衡和 nginx 負載均衡區別

  • Zookeeper Watcher 機制--數據變更通知

  • 客戶端注冊 Watcher 實現

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

  • Zookeeper 對節點的 watch監聽通知是永久的嗎?為什么不是永久的?

  • zk 節點宕機如何處理?


Dubbo 面試題

Spring Eureka 從開源轉變為閉源,Consul 正在崛起,而 Dubbo 又開始重新更新。目前市場上仍有不少公司使用dubbo我們也需要繼續學習。

  • 為什么要用 Dubbo?

  • 默認使用的是什么通信框架,還有別的選擇嗎?

  • 服務調用是阻塞的嗎?

  • 一般使用什么注冊中心?還有別的選擇嗎?

  • 默認使用什么序列化框架,你知道的還有哪些?

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


Elasticsearch 面試題


  • elasticsearch 了解多少,說說你們公司 es 的集群架構,索引數據大小,分片有多少,以及一些調優手段 。

  • elasticsearch 索引數據多了怎么辦,如何調優,部署

  • elasticsearch 是如何實現 master 選舉的

  • Elasticsearch 在部署時,對 Linux 的設置有哪些優化方法

  • 詳細描述一下 Elasticsearch 更新和刪除文檔的過程。

  • Elasticsearch 在部署時,對 Linux 的設置有哪些優化方法?


    (文末附面試答案)


Redis面試題

隨著應用研發技術的不斷成熟,Redis 緩存技術已經成為后臺研發同學必備的能力之一。在很多公司面試的過程中,都必不可少地考察 Redis 知識點的掌握。

  • 使用 Redis 有哪些好處?

  • Redis 是單進程單線程的?

  • Redis 的持久化機制是什么?各自的優缺點?

  • Redis 常見異常問題和解決方案(雪崩,穿透...)

  • redis 過期鍵的刪除策略?

  • 為什么 redis 需要把所有數據放到內存中?

  • Redis 集群的主從復制模型是怎樣的?

  • Redis key 的過期時間和永久有效分別怎么設置?

MySQL 面試題

如今互聯網行業用的最多就是 MySQL,然而對于高級 Web 面試者,尤其對于尋找 30k 下工作的求職者,很多 MySQL 相關知識點基本都會涉及,如果面試中,你的相關知識答的模糊和不切要點,基本大多稍好公司的面試官,基本也不會對你有興趣,畢竟稍微量大的項目,最終都會讓你去深入數據庫,而且最終的大多瓶頸首先也會出現在數據庫。

  • MySQL 相關存儲引擎。

  • MySQL 索引實現原理。

  • MySQL 數據庫鎖。

  • MySQL 的 SQL 調優。

  • MySQL 分表分庫全局 ID。


Java 并發編程面試題


  • 在 java 中守護線程和本地線程區別?

  • 什么是多線程中的上下文切換?

  • Java 中用到的線程調度算法是什么?

  • 什么是線程組,為什么在 Java 中不推薦使用?

  • 在 Java 中 Executor 和 Executors 的區別?

  • 并發編程三要素?

  • 什么是線程池?有哪幾種創建方式?


Spring 面試題

  • 1. 談談對 Spring IoC 的理解?

  • 2. 談談對 Spring DI 的理解?

  • 3. BeanFactory 接口和 ApplicationContext 接口不同點是什么?

  • 4. 請介紹你熟悉的 Spring 核心類,并說明有什么作用?

  • 5. 介紹一下 Spring 的事務的了解?

  • 6. 介紹一下 Spring 的事務實現方式?

  • 7.什么是 Spring 的依賴注入?

    (文末附面試答案)


JVM面試題


  • JVM三大性能調優參數,JVM 幾個重要的參數

  • JVM調優

  • JVM內存管理,JVM的常見的垃圾收集器,G1垃圾收集器。GC調優,Minor GC ,Full GC 觸發條件

  • Java內存模型

  • Java垃圾回收機制

  • 描述JVM中一次Full gc過程

  • Java 中都有哪些引用類型?

  • JVM中類加載機制,類加載過程,什么是雙親委派模型?,類加載器有哪些
    如何判斷是否有內存泄露?定位 Full GC 發生的原因,有哪些方式?


Spring Cloud 面試題

  • 什么是Spring Cloud?

  • 使用Spring Cloud有什么優勢?

  • 服務注冊和發現是什么意思?Spring Cloud如何實現?

  • 負載平衡的意義什么?

  • 什么是Hystrix?它如何實現容錯?

  • 什么是Hystrix斷路器?我們需要它嗎?

  • 什么是Netflix Feign?它的優點是什么?

  • 什么是Spring Cloud Bus?我們需要它嗎?


Kafka面試題


  • Kafka 與傳統 MQ 消息系統之間有三個關鍵區別?

  • 講一講 kafka 的 ack 的三種機制?

  • 消費者故障,出現活鎖問題如何解決?

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

  • kafka 如何不消費重復數據?比如扣款,我們不能重復的扣。


看完上面的內容,相信大家已經有了清晰的目標與方向,接下來就是查找學習資料了,我們為大家準備了一套體系化的架構師學習資料包以及BAT面試資料,供大家參考,學習資料包內容及領取方法如下:



掃碼關注【程序員生活志】

回復【面試】免費獲取13G資源


支付寶贊助-Java幫幫社區
微信贊助-Java幫幫社區
Java幫幫公眾號生態

Java幫幫公眾號生態

總有一款適合你

Java幫幫-微信公眾號

Java幫幫-微信公眾號

將分享做到極致

Python幫幫-公眾號

Python幫幫-公眾號

人工智能,爬蟲,學習教程

大數據驛站-微信公眾號

大數據驛站-微信公眾號

一起在數據中成長

九點編程-公眾號

九點編程-公眾號

深夜九點學編程

程序員生活志-公眾號

程序員生活志-公眾號

互聯網,職場,程序員那些事兒

Java幫幫學習群生態

Java幫幫學習群生態

總有一款能幫到你

Java學習群

Java學習群

與大牛一起交流

大數據學習群

大數據學習群

在數據中成長

九點編程學習群

九點編程學習群

深夜九點學編程

python學習群

python學習群

人工智能,爬蟲

測試學習群

測試學習群

感受測試的魅力

Java幫幫生態承諾

Java幫幫生態承諾

一直堅守,不負重望

初心
勤儉
誠信
正義
分享
合作品牌 非盈利生態-優質內容分享傳播者
關于我們
友鏈申請
友鏈交換:加幫主QQ2524138991 留言即可 24小時內答復  
全站內容非商業用途,內容來源于網友,并遵循 許可,如有異議請聯系客服。
會員登錄
獲取驗證碼
登錄
登錄
我的資料
留言
回到頂部