進大廠是大部分程式設計師的夢想,而進大廠的門檻也是比較高的,所以這裡整理了一份阿里、美團、滴滴、頭條等大廠面試大全其中概括的知識點有:Java基礎、spring、springmvc、springboot、springcloud、JVM、Tomcat、dubbo、netty、zookeeper共有500+道面試題
面試題整理十分全面,文末還有答案解析!(文章比較長,耐心看完,讓你面試提升一大截!)
獲取以下面試專題答案的朋友們文末附有免費領取方式
Java基礎
- Java概述
- 何為程式設計
- 什麼是Java
- jdk1.5之後的三大版本
- JVM、JRE和JDK的關係
- 什麼是跨平臺性?原理是什麼
- Java語言有哪些特點
- 什麼是位元組碼?採用位元組碼的最大好處是什麼
- 什麼是Java程式的主類?應用程式和小程式的主類有何不同?
- Java應用程式與小程式之間有那些差別?
- Java和C++的區別
- Oracle JDK 和 OpenJDK 的對比
- 基礎語法
- 資料型別
- Java有哪些資料型別
- switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上
- 用最有效率的方法計算 2 乘以 8
- Math.round(11.5) 等於多少?Math.round(-11.5)等於多少
- float f=3.4;是否正確
- short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎
- 編碼
- Java語言採用何種編碼方案?有何特點?
- 註釋
- 什麼Java註釋
- 存取修飾符
- 存取修飾符 public,private,protected,以及不寫(預設)時的區別
- 運運算元
- &和&&的區別
- 關鍵字
- Java 有沒有 goto
- final 有什麼用?
- final finally finalize區別
- this關鍵字的用法
- super關鍵字的用法
- this與super的區別
- static存在的主要意義
- static的獨特之處
- static應用場景
- static注意事項
- 流程控制語句
- break ,continue ,return 的區別及作用
- 在 Java 中,如何跳出當前的多重巢狀迴圈
- 物件導向
- 物件導向概述
- 物件導向和程式導向的區別
- 物件導向三大特性
- 物件導向的特徵有哪些方面
- 什麼是多型機制?Java語言是如何實現多型的?
- 物件導向五大基本原則是什麼(可選)
- 類與介面
- 抽象類和介面的對比
- 普通類和抽象類有哪些區別?
- 抽象類能使用 final 修飾嗎?
- 建立一個物件用什麼關鍵字?物件範例與物件參照有何不同?
- 變數與方法
- 成員變數與區域性變數的區別有哪些
- 在Java中定義一個不做事且沒有引數的構造方法的作用
- 在呼叫子類構造方法之前會先呼叫父類別沒有引數的構造方法,其目的是?
- 一個類的構造方法的作用是什麼?若一個類沒有宣告構造方法,該程式能正確執行嗎?為什麼?
- 構造方法有哪些特性?
- 靜態變數和範例變數區別
- 靜態變數與普通變數區別
- 靜態方法和實體方法有何不同?
- 在一個靜態方法內呼叫一個非靜態成員為什麼是非法的?
- 什麼是方法的返回值?返回值的作用是什麼?
- 內部類
- 什麼是內部類?
- 內部類的分類有哪些
- 靜態內部類
- 成員內部類
- 區域性內部類
- 匿名內部類
- 內部類的優點
- 內部類有哪些應用場景
- 區域性內部類和匿名內部類存取區域性變數的時候,為什麼變數必須要加上final?
- 內部類相關,看程式說出執行結果
- 重寫與過載
- 構造器(constructor)是否可被重寫(override)
- 過載(Overload)和重寫(Override)的區別。過載的方法能否根據返回型別進行區分?
- 物件相等判斷
- == 和 equals 的區別是什麼
- hashCode 與 equals (重要)
- 物件的相等與指向他們的參照相等,兩者有什麼不同?
- 值傳遞
- 當一個物件被當作引數傳遞到一個方法後,此方法可改變這個物件的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是參照傳遞
- 為什麼 Java 中只有值傳遞
- 值傳遞和參照傳遞有什麼區別
- Java包
- JDK 中常用的包有哪些
- import java和javax有什麼區別
- IO流
- java 中 IO 流分為幾種?
- BIO,NIO,AIO 有什麼區別?
- Files的常用方法都有哪些?
- 反射
- 什麼是反射機制?
- 反射機制優缺點
- 反射機制的應用場景有哪些?
- Java獲取反射的三種方法
- 網路程式設計
- 常用API
- String相關
- 字元型常數和字串常數的區別
- 什麼是字串常數池?
- String 是最基本的資料型別嗎
- String有哪些特性
- String為什麼是不可變的嗎?
- String真的是不可變的嗎?
- 是否可以繼承 String 類
- String str="i"與 String str=new String("i")一樣嗎?
- String s = new String("xyz");建立了幾個字串物件
- 如何將字串反轉?
- 陣列有沒有 length()方法?String 有沒有 length()方法
- String 類的常用方法都有那些?
- 在使用 HashMap 的時候,用 String 做 key 有什麼好處?
- String和StringBuffer、StringBuilder的區別是什麼?String為什麼是不可變的
- Date相關
- 包裝類相關
- 自動裝箱與拆箱
- int 和 Integer 有什麼區別
- Integer a= 127 與 Integer b = 127相等嗎
- 常用工具類庫
- 單元測試
- 紀錄檔
Java基礎124道面試答案
JVM
- 說一下 JVM 的主要組成部分及其作用?
- 說一下 JVM 執行時資料區
- 說一下堆疊的區別?
- 佇列和棧是什麼?有什麼區別?
- 物件的建立
- 為物件分配記憶體
- 處理並行安全問題
- 物件的存取定位
- 控制程式碼存取
- 直接指標
- 記憶體溢位異常
- Java會存在記憶體漏失嗎?請簡單描述垃圾收集器
- 簡述Java垃圾回收機制
- GC是什麼?為什麼要GC
- 垃圾回收的優點和原理。並考慮2種回收機制
- 垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收記憶體嗎?有什麼辦法主動通知虛擬機器器進行垃圾回收?
- Java 中都有哪些參照型別?
- 怎麼判斷物件是否可以被回收?
- 在Java中,物件什麼時候可以被垃圾回收
- JVM中的永久代中會發生垃圾回收嗎
- 說一下 JVM 有哪些垃圾回收演演算法?
- 標記-清除演演算法
- 複製演演算法
- 標記-整理演演算法
- 分代收集演演算法
- 說一下 JVM 有哪些垃圾回收器?
- 詳細介紹一下 CMS 垃圾回收器?
- 新生代垃圾回收器和老年代垃圾回收器都有哪些?有什麼區別?
- 簡述分代垃圾回收器是怎麼工作的?
- 簡述java記憶體分配與回收策率以及Minor GC和Major GC
- 物件優先在 Eden 區分配
- 大物件直接進入老年代
- 長期存活物件將進入老年代
- 簡述java類載入機制?
- 描述一下JVM載入Class檔案的原理機制
- 什麼是類載入器,類載入器有哪些?
- 說一下類裝載的執行過程?
- 什麼是雙親委派模型?
- 說一下 JVM 調優的工具?
- 常用的 JVM 調優的引數都有哪些?
JVM 40道面試答案
Spring
- Spring概述(10)
- 什麼是spring?
- Spring框架的設計目標,設計理念,和核心是什麼
- Spring的優缺點是什麼?
- Spring有哪些應用場景
- Spring由哪些模組組成?
- Spring 框架中都用到了哪些設計模式?
- 詳細講解一下核心容器(spring context應用上下文) 模組
- Spring框架中有哪些不同型別的事件
- Spring 應用程式有哪些不同元件?
- 使用 Spring 有哪些方式?
- Spring控制反轉(IOC)(13)
- 什麼是Spring IOC 容器?
- 控制反轉(IoC)有什麼作用
- IOC的優點是什麼?
- Spring IoC 的實現機制
- Spring 的 IoC支援哪些功能
- BeanFactory 和 ApplicationContext有什麼區別?
- Spring 如何設計容器的,BeanFactory和ApplicationContext的關係詳解
- ApplicationContext通常的實現是什麼?
- 什麼是Spring的依賴注入?
- 依賴注入的基本原則
- 依賴注入有什麼優勢
- 有哪些不同型別的依賴注入實現方式?
- 構造器依賴注入和 Setter方法注入的區別
- Spring Beans(19)
- 什麼是Spring beans?
- 一個 Spring Bean 定義 包含什麼?
- 如何給Spring 容器提供設定後設資料?Spring有幾種設定方式
- Spring組態檔包含了哪些資訊
- Spring基於xml注入bean的幾種方式
- 你怎樣定義類的作用域?
- 解釋Spring支援的幾種bean的作用域
- Spring框架中的單例bean是執行緒安全的嗎?
- Spring如何處理執行緒並行問題?
- 解釋Spring框架中bean的生命週期
- 哪些是重要的bean生命週期方法? 你能過載它們嗎?
- 什麼是Spring的內部bean?什麼是Spring inner beans?
- 在 Spring中如何注入一個java集合?
- 什麼是bean裝配?
- 什麼是bean的自動裝配?
- 解釋不同方式的自動裝配,spring 自動裝配 bean 有哪些方式?
- 使用@Autowired註解自動裝配的過程是怎樣的?
- 自動裝配有哪些侷限性?
- 你可以在Spring中注入一個null 和一個空字串嗎?
- Spring註解(8)
- 什麼是基於Java的Spring註解設定? 給一些註解的例子
- 怎樣開啟註解裝配?
- @Component, @Controller, @Repository, @Service 有何區別?
- @Required 註解有什麼作用
- @Autowired 註解有什麼作用
- @Autowired和@Resource之間的區別
- @Qualifier 註解有什麼作用
- @RequestMapping 註解有什麼用?
- Spring資料存取(14)
- 解釋物件/關係對映整合模組
- 在Spring框架中如何更有效地使用JDBC?
- 解釋JDBC抽象和DAO模組
- spring DAO 有什麼用?
- spring JDBC API 中存在哪些類?
- JdbcTemplate是什麼
- 使用Spring通過什麼方式存取Hibernate?使用 Spring 存取 Hibernate 的方法有哪些?
- 如何通過HibernateDaoSupport將Spring和Hibernate結合起來?
- Spring支援的事務管理型別, spring 事務實現方式有哪些?
- Spring事務的實現方式和實現原理
- 說一下Spring的事務傳播行為
- 說一下 spring 的事務隔離?
- Spring框架的事務管理有哪些優點?
- 你更傾向用那種事務管理型別?
- Spring面向切面程式設計(AOP)(13)
- 什麼是AOP
- Spring AOP and AspectJ AOP 有什麼區別?AOP 有哪些實現方式?
- JDK動態代理和CGLIB動態代理的區別
- 如何理解 Spring 中的代理?
- 解釋一下Spring AOP裡面的幾個名詞
- Spring在執行時通知物件
- Spring只支援方法級別的連線點
- 在Spring AOP 中,關注點和橫切關注的區別是什麼?在 spring aop 中 concern 和 cross-cutting concern 的不同之處
- Spring通知有哪些型別?
- 什麼是切面 Aspect?
- 解釋基於XML Schema方式的切面實現
- 解釋基於註解的切面實現
- 有幾種不同型別的自動代理?
Spring 80道面試題答案
SpringMVC
- 什麼是Spring MVC?簡單介紹下你對Spring MVC的理解?
- Spring MVC的優點
- Spring MVC的主要元件?
- 什麼是DispatcherServlet
- 什麼是Spring MVC框架的控制器?
- Spring MVC的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?
- 請描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?
- MVC是什麼?MVC設計模式的好處有哪些
- 註解原理是什麼
- Spring MVC常用的註解有哪些?
- SpingMvc中的控制器的註解一般用哪個,有沒有別的註解可以替代?
- @Controller註解的作用
- @RequestMapping註解的作用
- @ResponseBody註解的作用
- @PathVariable和@RequestParam的區別
- Spring MVC與Struts2區別
- Spring MVC怎麼樣設定重定向和轉發的?
- Spring MVC怎麼和AJAX相互呼叫的?
- 如何解決POST請求中文亂碼問題,GET的又如何處理呢?
- Spring MVC的例外處理?
- 如果在攔截請求中,我想攔截get方式提交的方法,怎麼設定
- 怎樣在方法裡面得到Request,或者Session?
- 如果想在攔截的方法裡面得到從前臺傳入的引數,怎麼得到?
- 如果前臺有很多個引數傳入,並且這些引數都是一個物件的,那麼怎麼樣快速得到這個物件?
- Spring MVC中函數的返回值是什麼?
- Spring MVC用什麼物件從後臺向前臺傳遞資料的?
- 怎麼樣把ModelMap裡面的資料放入Session裡面?
- Spring MVC裡面攔截器是怎麼寫的
- 介紹一下 WebApplicationContext
SpringMVC 30道面試答案
SpringBoot
- 什麼是 Spring Boot?
- Spring Boot 有哪些優點?
- Spring Boot 的核心註解是哪個?它主要由哪幾個註解組成的?
- 什麼是 JavaConfig?
- Spring Boot 自動設定原理是什麼?
- 你如何理解 Spring Boot 設定載入順序?
- 什麼是 YAML?
- YAML 設定的優勢在哪裡 ?
- Spring Boot 是否可以使用 XML 設定 ?
- spring boot 核心組態檔是什麼?bootstrap.properties 和 application.properties 有何區別 ?
- 什麼是 Spring Profiles?
- 如何在自定義埠上執行 Spring Boot 應用程式?
- 如何實現 Spring Boot 應用程式的安全性?
- 比較一下 Spring Security 和 Shiro 各自的優缺點 ?
- Spring Boot 中如何解決跨域問題 ?
- 什麼是 CSRF 攻擊?
- Spring Boot 中的監視器是什麼?
- 如何在 Spring Boot 中禁用 Actuator 端點安全性?
- 我們如何監視所有 Spring Boot 微服務?
- 什麼是 WebSockets?
- 什麼是 Spring Data ?
- 什麼是 Spring Batch?
- 什麼是 FreeMarker 模板?
- 如何整合 Spring Boot 和 ActiveMQ?
- 什麼是 Apache Kafka?
- 什麼是 Swagger?你用 Spring Boot 實現了它嗎?
- 前後端分離,如何維護介面檔案 ?
- 如何重新載入 Spring Boot 上的更改,而無需重新啟動伺服器?Spring Boot專案如何熱部署?
- 您使用了哪些 starter maven 依賴項?
- Spring Boot 中的 starter 到底是什麼 ?
- spring-boot-starter-parent 有什麼用 ?
- Spring Boot 打成的 jar 和普通的 jar 有什麼區別 ?
- 執行 Spring Boot 有哪幾種方式?
- Spring Boot 需要獨立的容器執行嗎?
- 開啟 Spring Boot 特性有哪幾種方式?
- 如何使用 Spring Boot 實現例外處理?
- 如何使用 Spring Boot 實現分頁和排序?
- 微服務中如何實現 session 共用 ?
- Spring Boot 中如何實現定時任務 ?
SpringBoot 40道面試答案
Spring Cloud
- 為什麼需要學習Spring Cloud
- 什麼是Spring Cloud
- 設計目標與優缺點
- 設計目標
- 優缺點
- Spring Cloud發展前景
- 整體架構
- 主要專案
- Spring Cloud Config
- Spring Cloud Netflix
- Spring Cloud Bus
- Spring Cloud Consul
- Spring Cloud Security
- Spring Cloud Sleuth
- Spring Cloud Stream
- Spring Cloud Task
- Spring Cloud Zookeeper
- Spring Cloud Gateway
- Spring Cloud OpenFeign
- Spring Cloud的版本關係
- Spring Cloud和SpringBoot版本對應關係
- Spring Cloud和各子專案版本對應關係
- SpringBoot和SpringCloud的區別?
- 使用 Spring Boot 開發分散式微服務時,我們面臨以下問題
- 服務註冊和發現是什麼意思?Spring Cloud 如何實現?
- Spring Cloud 和dubbo區別?
- 負載平衡的意義什麼?
- 什麼是 Hystrix?它如何實現容錯?
- 什麼是 Hystrix 斷路器?我們需要它嗎?
- 什麼是 Netflix Feign?它的優點是什麼?
- 什麼是 Spring Cloud Bus?我們需要它嗎?
- Spring Cloud斷路器的作用
- 什麼是Spring Cloud Config?
- 什麼是Spring Cloud Gateway?
SpringCloud 34道面試答案
MyBatis
- MyBatis是什麼?
- ORM是什麼
- 為什麼說Mybatis是半自動ORM對映工具?它與全自動的區別在哪裡?
- 傳統JDBC開發存在的問題
- JDBC程式設計有哪些不足之處,MyBatis是如何解決這些問題的?
- Mybatis優缺點
- MyBatis框架適用場景
- Hibernate 和 MyBatis 的區別
- MyBatis的解析和執行原理
- MyBatis程式設計步驟是什麼樣的?
- 請說說MyBatis的工作原理
- MyBatis的功能架構是怎樣的
- MyBatis的框架架構設計是怎麼樣的
- Mybatis都有哪些Executor執行器?它們之間的區別是什麼?
- Mybatis中如何指定使用哪一種Executor執行器?
- Mybatis是否支援延遲載入?如果支援,它的實現原理是什麼?
- #{}和${}的區別
- 模糊查詢like語句該怎麼寫
- 在mapper中如何傳遞多個引數
- Mybatis如何執行批次操作
- 如何獲取生成的主鍵
- 當實體類中的屬性名和表中的欄位名不一樣 ,怎麼辦
- Mapper 編寫有哪幾種方式?
- 什麼是MyBatis的介面繫結?有哪些實現方式?
- 使用MyBatis的mapper介面呼叫時有哪些要求?
- 最佳實踐中,通常一個Xml對映檔案,都會寫一個Dao介面與之對應,請問,這個Dao介面的工作原理是什麼?Dao介面裡的方法,引數不同時,方法能過載嗎
- Mybatis的Xml對映檔案中,不同的Xml對映檔案,id是否可以重複?
- 簡述Mybatis的Xml對映檔案和Mybatis內部資料結構之間的對映關係?
- Mybatis是如何將sql執行結果封裝為目標物件並返回的?都有哪些對映形式?
- Xml對映檔案中,除了常見的select|insert|updae|delete標籤之外,還有哪些標籤?
- Mybatis對映檔案中,如果A標籤通過include參照了B標籤的內容,請問,B標籤能否定義在A標籤的後面,還是說必須定義在A標籤的前面?
- MyBatis實現一對一,一對多有幾種方式,怎麼操作的?
- Mybatis是否可以對映Enum列舉類?
- Mybatis動態sql是做什麼的?都有哪些動態sql?能簡述一下動態sql的執行原理不?
- Mybatis是如何進行分頁的?分頁外掛的原理是什麼?
- 簡述Mybatis的外掛執行原理,以及如何編寫一個外掛。
- Mybatis的一級、二級快取
Mybatis 面試答案
Redis
- 什麼是Redis
- Redis有哪些優缺點
- 為什麼要用 Redis /為什麼要用快取
- 為什麼要用 Redis 而不用 map/guava 做快取?
- Redis為什麼這麼快
- Redis有哪些資料型別
- Redis的應用場景
- 什麼是Redis持久化?
- Redis 的持久化機制是什麼?各自的優缺點?
- 如何選擇合適的持久化方式
- Redis持久化資料和快取怎麼做擴容?
- Redis的過期鍵的刪除策略
- Redis key的過期時間和永久有效分別怎麼設定?
- 我們知道通過expire來設定key 的過期時間,那麼對過期的資料怎麼處理呢?
- MySQL裡有2000w資料,redis中只存20w的資料,如何保證redis中的資料都是熱點資料
- Redis的記憶體淘汰策略有哪些
- Redis主要消耗什麼物理資源?
- Redis的記憶體用完了會發生什麼?
- Redis如何做記憶體優化?
- Redis執行緒模型
- 什麼是事務?
- Redis事務的概念
- Redis事務的三個階段
- Redis事務相關命令
- 事務管理(ACID)概述
- Redis事務支援隔離性嗎
- Redis事務保證原子性嗎,支援回滾嗎
- Redis事務其他實現
- 哨兵模式
- 官方Redis Cluster 方案(伺服器端路由查詢)
- 基於使用者端分配
- 基於代理伺服器分片
- Redis 主從架構
- Redis叢集的主從複製模型是怎樣的?
- 生產環境中的 redis 是怎麼部署的?
- 說說Redis雜湊槽的概念?
- Redis叢集會有寫操作丟失嗎?為什麼?
- Redis叢集之間是如何複製的?
- Redis叢集最大節點個數是多少?
- Redis叢集如何選擇資料庫?
- Redis是單執行緒的,如何提高多核CPU的利用率?
- 為什麼要做Redis分割區?
- 你知道有哪些Redis分割區實現方案?
- Redis分割區有什麼缺點?
- Redis實現分散式鎖
- 如何解決 Redis 的並行競爭 Key 問題
- 分散式Redis是前期做還是後期規模上來了再做好?為什麼?
- 什麼是 RedLock
- 快取雪崩
- 快取穿透
- 快取擊穿
- 快取預熱
- 快取降級
- 熱點資料和冷資料
- 快取熱點key
- Redis支援的Java使用者端都有哪些?官方推薦用哪個?
- Redis和Redisson有什麼關係?
- Jedis與Redisson對比有什麼優缺點?
- Redis與Memcached的區別
- 如何保證快取與資料庫雙寫時的資料一致性?
- Redis常見效能問題和解決方案?
- Redis官方為什麼不提供Windows版本?
- 一個字串型別的值能儲存最大容量是多少?
- Redis如何做大量資料插入?
- 假如Redis裡面有1億個key,其中有10w個key是以某個固定的已知的字首開頭的,如果將它們全部找出來?
- 使用Redis做過非同步佇列嗎,是如何實現的
- Redis如何實現延時佇列
- Redis回收程序如何工作的?
- Redis回收使用的是什麼演演算法?
Redis 70道面試答案解析
Dubbo
- 為什麼要用 Dubbo?
- Dubbo 是什麼?
- Dubbo 的使用場景有哪些?
- Dubbo 核心功能有哪些?
- Dubbo 核心元件有哪些?
- Dubbo 伺服器註冊與發現的流程?
- Dubbo 的整體架構設計有哪些分層?
- Dubbo Monitor 實現原理?
- Dubbo 類似的分散式框架還有哪些?
- Dubbo 和 Spring Cloud 有什麼關係?
- Dubbo 和 Spring Cloud 有什麼哪些區別?
- Dubbo 和 Dubbox 之間的區別?
- Dubbo 有哪些註冊中心?
- Dubbo 的註冊中心叢集掛掉,釋出者和訂閱者之間還能通訊麼?
- Dubbo叢集提供了哪些負載均衡策略?
- Dubbo的叢集容錯方案有哪些?
- Dubbo 組態檔是如何載入到 Spring 中的?
- 說說核心的設定有哪些?
- Dubbo 超時設定有哪些方式?
- 服務呼叫超時會怎麼樣?
- Dubbo 使用的是什麼通訊框架?
- Dubbo 支援哪些協定,它們的優缺點有哪些?
- Dubbo 用到哪些設計模式?
- 服務上線怎麼相容舊版本?
- Dubbo telnet 命令能做什麼?
- Dubbo 支援服務降級嗎?
- Dubbo 如何優雅停機?
- Dubbo SPI 和 Java SPI 區別?
- Dubbo 支援分散式事務嗎?
- Dubbo 可以對結果進行快取嗎?
- Dubbo 必須依賴的包有哪些?
- Dubbo 支援哪些序列化方式?
- Dubbo 在安全方面有哪些措施?
- 服務呼叫是阻塞的嗎?
- 服務提供者能實現失效踢出是什麼原理?
- 同一個服務多個註冊的情況下可以直連某一個服務嗎?
- Dubbo 服務降級,失敗重試怎麼做?
- Dubbo 使用過程中都遇到了些什麼問題?
- 為什麼要有RPC
- 什麼是RPC
- PRC架構元件
- RPC和SOA、SOAP、REST的區別
- RPC框架需要解決的問題?
- RPC的實現基礎?
- RPC使用了哪些關鍵技術?
- 主流RPC框架有哪些
- RPC的實現原理架構圖
Dubbo面試答案
Tomcat
- Tomcat是什麼?
- Tomcat的預設埠是多少,怎麼修改
- tomcat 有哪幾種Connector 執行模式(優化)?
- Tomcat有幾種部署方式?
- tomcat容器是如何建立servlet類範例?用到了什麼原理?
- Tomcat工作模式
- Tomcat頂層架構
- Tomcat頂層架構小結
- Connector和Container的微妙關係
- Container架構分析
- Container如何處理請求的
Tomcat面試答案
ZooKeeper
- ZooKeeper 是什麼?
- ZooKeeper 提供了什麼?
- Zookeeper 檔案系統
- Zookeeper 怎麼保證主從節點的狀態同步?
- 四種型別的資料節點 Znode
- Zookeeper Watcher 機制 -- 資料變更通知
- 使用者端註冊 Watcher 實現
- 伺服器端處理 Watcher 實現
- 使用者端回撥 Watcher
- ACL 許可權控制機制
- Chroot 特性
- 對談管理
- 伺服器角色
- Zookeeper 下 Server 工作狀態
- 資料同步
- zookeeper 是如何保證事務的順序一致性的?
- 分散式叢集中為什麼會有 Master主節點?
- zk 節點宕機如何處理?
- zookeeper 負載均衡和 nginx 負載均衡區別
- Zookeeper 有哪幾種幾種部署模式?
- 叢集最少要幾臺機器,叢集規則是怎樣的?叢集中有 3 臺伺服器,其中一個節點宕機,這個時候 Zookeeper 還可以使用嗎?
- 叢集支援動態新增機器嗎?
- Zookeeper 對節點的 watch 監聽通知是永久的嗎?為什麼不是永久的?
- Zookeeper 的 java 使用者端都有哪些?
- chubby 是什麼,和 zookeeper 比你怎麼看?
- 說幾個 zookeeper 常用的命令。
- ZAB 和 Paxos 演演算法的聯絡與區別?
- Zookeeper 的典型應用場景
- Zookeeper 都有哪些功能?
- 說一下 Zookeeper 的通知機制?
- Zookeeper 和 Dubbo 的關係?
Zookeeper 面試答案
Netty
- Netty 是什麼?
- Netty 的特點是什麼?
- Netty 的優勢有哪些?
- Netty 的應用場景有哪些?
- Netty 高效能表現在哪些方面?
- BIO、NIO和AIO的區別?
- NIO的組成?
- Netty的執行緒模型?
- TCP 粘包/拆包的原因及解決方法?
- 什麼是 Netty 的零拷貝?
- Netty 中有哪種重要元件?
- Netty 傳送訊息有幾種方式?
- 預設情況 Netty 起多少執行緒?何時啟動?
- 瞭解哪幾種序列化協定?
- 如何選擇序列化協定?
- Netty 支援哪些心跳型別設定?
- Netty 和 Tomcat 的區別?
- NIOEventLoopGroup原始碼?
- JDK原生NIO程式的問題
- Netty的特點
- Netty常見使用場景
- I/O模型
- 阻塞I/O
- I/O複用模型
- 基於buffer
- 執行緒模型
- 事件驅動模型
- Reactor執行緒模型
- Netty執行緒模型
- 非同步處理
- Bootstrap、ServerBootstrap
- Future、ChannelFuture
- Channel
- Selector
- NioEventLoop
- NioEventLoopGroup
- ChannelHandler
- ChannelHandlerContext
- ChannelPipline
Netty 面試答案
獲取以上面試專題答案的朋友們請點贊此文關注我,加助理VX:mxx2020666,即可免費領取
小編整理Java面試寶典分享給大家複習
Java核心知識283頁覆蓋了JVM、鎖、並行、Java反射、Spring原理、微服務、Zookeeper、資料庫、資料結構等大量知識點
如果需要獲取到這個【核心知識點整理】檔案的話幫忙點贊一下然後再關注我,加助理VX:mxx2020666,即可免費領取