Java高階架構面試真題彙總:Nginx、 Netty、Zookeeper、Tomcat、Dubbo
(一)Nginx是什麼——相關面試題
Nginx是一款 輕量級 的 Web 伺服器/ 反向代理 伺服器及 電子郵件 (IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。其特點是佔有記憶體少, 併發 能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好,中國大陸使用nginx網站使用者有:百度、京東、 新浪 、網易、 騰訊 、 淘寶 等。
1、請列舉Nginx的一些特性。
2、解釋Nginx是否支援將請求壓縮到上游?
3、用Nginx伺服器解釋-s的目的是什麼?
4、請解釋Nginx如何處理HTTP請求。
5、在Nginx中,如何使用未定義的伺服器名稱來阻止處理請求?
6、在Nginx中,解釋如何在URL中保留雙斜線?
7、請列舉Nginx伺服器的最佳用途。
8、請解釋Nginx伺服器上的Master和Worker程序分別是什麼?
9、解釋如何在Nginx伺服器上新增模組?
10、請解釋是否有可能將Nginx的錯誤替換為502錯誤、503?
(二)Netty是什麼——相關面試題
Netty 是一個吸收了多種協議(包括FTP、SMTP、HTTP等各種二進位制文字協議)的實現經驗,並經過相當精心設計的專案。最終,Netty 成功的找到了一種方式,在保證易於開發的同時還保證了其應用的效能,穩定性和伸縮性。
1、Java框架Netty的io結構是什麼?
2、講講Netty的特點?
3、如何使用 Java NIO 搭建簡單的客戶端與服務端實現網路通訊?
4、如何使用 Netty 搭建簡單的客戶端與服務端實現網路通訊?
5、講講Netty 底層操作與 Java NIO 操作對應關係?
6、Channel 與 Socket是什麼關係,Channel 與 EventLoop是什麼關係,
7、Channel 與 ChannelPipeline是什麼關係?
8、EventLoop與EventLoopGroup 是什麼關係?
9、說說Netty 中幾個重要的物件是什麼,它們之間的關係是什麼?
10、Netty 的執行緒模型是什麼?
(三)Kafka是什麼——相關面試題
Kafka 是由 Apache軟體基金會 開發的一個開源流處理平臺,由 Scala 和 Java 編寫。Kafka是一種高吞吐量的 分散式 釋出訂閱訊息系統,它可以處理消費者規模的網站中的所有動作流資料。
1、請說明什麼是Apache Kafka?
2、請說明什麼是傳統的訊息傳遞方法?
3、請說明Kafka相對傳統技術有什麼優勢?
4、在Kafka中broker的意義是什麼?
5、Kafka伺服器能接收到的最大資訊是多少?
6、解釋Kafka的Zookeeper是什麼?我們可以在沒有Zookeeper的情況下使用Kafka嗎?
7、解釋Kafka的使用者如何消費資訊?
8、解釋如何提高遠端使用者的吞吐量?
9、解釋一下,在資料製作過程中,你如何能從Kafka得到準確的資訊?
10、Kafka為什麼需要複製?
####需要面試題彙總 (可私信我免費領取答案 )私信【面試資料】即可領取####
(四)Mysql是什麼——相關面試題
MySQL 是最流行的關係型資料庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關係資料庫管理系統)應用軟體之一。
1、 如果發現CPU,或者IO壓力很大,怎麼定位問題?
2、問了mysql binlog的幾種日誌錄入格式以及區別
3、 如何提高insert的效能?
4、 和上一個問題相關,如果insert等dml語句的效能有問題的話,或者其他問題的存在,可能造成同步延遲,所以如何有效避免同步延遲的出現?
5、有沒有用GTID,對GTID瞭解嗎?
6、Innodb是行鎖,那什麼時候會產生行鎖,什麼情況下會變成表鎖?
7、 使用過其他分支版本的資料庫嗎?percona,mariadb等。對percona的pxc叢集瞭解嗎?
8、 除了mysql,還了解過其他資料庫嗎?oracle,redis,mongodb等。
9、新建立的資料庫,需要調整哪些引數?
10、 mysql的許可權怎麼管理?
(五)Zookeeper是什麼——相關面試題
ZooKeeper是一個 分散式 的,開放原始碼的 分散式應用程式 協調服務,是 Google 的Chubby一個 開源 的實現,是Hadoop和Hbase的重要元件。它是一個為分散式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分散式同步、組服務等。
1、zookeeper是如何保證事務的順序一致性的
2、zookeeper是如何選取主leader的?
3、zookeeper是什麼框架?
4、有哪些應用場景?
5、使用什麼協議?
6、說說分散式一致性演算法Paxos
7、說一說選舉演算法及流程
8、有哪幾種部署模式?
9、Zookeeper叢集中 伺服器 之間是如何通訊的
10、ZooKeeper有幾種節點型別?
(六)Tomcat是什麼——相關面試題
Tomcat 伺服器是一個免費的開放原始碼的Web 應用伺服器,屬於輕量級應用 伺服器 ,在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯JSP 程式的首選。對於一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 伺服器,可利用它響應 HTML (標準通用標記語言下的一個應用)頁面的訪問請求。
1、請說明NAT協議的目的是什麼?
2、請說明select * from tab的輸出結果是什麼?
3、請解釋如何配置Tomcat來使用IIS和NTLM ?
4、請解釋一下什麼時候可以使用“.”,什麼時候可以使用“[]”?
5、請解釋Tomcat的預設埠是什麼?
6、請解釋Tomcat中使用的聯結器是什麼?
7、請闡述Catalina的配置檔案有哪些?
8、請解釋將Tomcat作為一個Windows 服務執行會帶來哪些好處?
9、解釋何時在Tomcat使用SSL ?
10、解釋如何使用WAR檔案部署web應用程式?
(七)Dubbo是什麼——相關面試題
Dubbo是阿里巴巴SOA服務化治理方案的核心框架,每天為2,000+個服務提供3,000,000,000+次訪問量支援,並被廣泛應用於阿里巴巴集團的各成員站點。Dubbo[]是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。
1、Dubbo 核心的配置有哪些?
2、Dubbo telnet 命令能做什麼?
3、Dubbo啟動時如果依賴的服務不可用會怎樣?
4、Dubbo推薦使用什麼序列化框架,你知道的還有哪些?
5、Dubbo預設使用的是什麼通訊框架,還有別的選擇嗎?
6、Dubbo有哪幾種叢集容錯方案,預設是哪種?
7、Dubbo有哪幾種負載均衡策略,預設是哪種?
8、Dubbo的管理控制檯能做什麼?
9、Dubbo支援服務多協議嗎?
10、Dubbo可以對結果進行快取嗎?

需要面試題彙總 (可私信我免費領取答案 )私信【面試資料】即可領取
附加java開發的資料 (面試資源與經驗總結,Dubbo、Redis、設計模式、Netty、zookeeper、Spring cloud、分散式、高併發等架構技術視訊教程資料,架構思維導圖,以及面試資料,瞭解最新的學習動態;瞭解最新的阿里、京東招聘資訊)