天天看點

JAVA面試題進階,Java從入門到精通

JAVA面試題進階,Java從入門到精通

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 的設定有哪些優化方法?

    (文末附面試答案)

    JAVA面試題進階,Java從入門到精通

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 中不推薦使用?

最後