寫在前面 作為一名Java開發者,進大廠是不是所有人的期待,就是最終想獲得大廠的offer,可能在面試的時候會經歷層層篩選。想要進入大廠首先要有過硬的技術,以及面試的時候要有一個良好的心態,只有這樣在面試的時候才不會與心儀大廠失之交臂。 今天分享給大家的都是目前大廠使用最高頻的面試題:redis,S ...
寫在前面
作為一名Java開發者,進大廠是不是所有人的期待,就是最終想獲得大廠的offer,可能在面試的時候會經歷層層篩選。想要進入大廠首先要有過硬的技術,以及面試的時候要有一個良好的心態,只有這樣在面試的時候才不會與心儀大廠失之交臂。
今天分享給大家的都是目前大廠使用最高頻的面試題:redis,SpringBoot,SpringCloud,SpringMVC,zookeeper,併發編程,多線程面試,開源框架,樂觀鎖與悲觀鎖,設計模式等等,希望都能進到大廠,工資加加加。
redis
- 什麼是 Redis?簡述它的優缺點?
- Redis 與 memcached 相比有哪些優勢?
- Redis 支持哪幾種數據類型?
- Redis 主要消耗什麼物理資源?
- 使用 Redis 有哪些好處?
- Redis 是單進程單線程的?
- Redis 的持久化機制是什麼?各自的優缺點?
- Redis 常見異常問題和解決方案(雪崩,穿透...)
- redis 過期鍵的刪除策略?
- 為什麼 redis 需要把所有數據放到記憶體中?
- Redis 集群的主從複製模型是怎樣的?
- Redis key 的過期時間和永久有效分別怎麼設置?
- Redis 集群方案什麼情況下會導致整個集群不可用?
- MySQL 里有 2000w 數據,redis 中只存 20w 的數據,如何保證 redis 中的數據都是熱點數據?
SpringBoot
- 什麼是 Spring Boot?
- Spring Boot 有哪些優點?
- 什麼是 JavaConfig?
- 如何重新載入 Spring Boot 上的更改,而無需重新啟動伺服器?
- Spring Boot 中的監視器是什麼?
- 如何在 Spring Boot 中禁用 Actuator 端點安全性?
- 如何在自定義埠上運行 Spring Boot 應用程式?
- 什麼是 YAML?
- 如何實現 Spring Boot 應用程式的安全性?
- 如何集成 Spring Boot 和 ActiveMQ?
- 如何使用 Spring Boot 實現分頁和排序?
- 什麼是 Swagger?你用 Spring Boot 實現了它嗎?
- 什麼是 Spring Profiles?
- 什麼是 Spring Batch?
- 什麼是 FreeMarker 模板?
- 如何使用 Spring Boot 實現異常處理?
- 您使用了哪些 starter maven 依賴項?
- 什麼是 CSRF 攻擊?
- 什麼是 WebSockets?
- 什麼是 AOP?
- 什麼是 Apache Kafka?
- 我們如何監視所有 Spring Boot 微服務?
SpringCloud
- 什麼是 Spring Cloud?
- 使用 Spring Cloud 有什麼優勢?
- 服務註冊和發現是什麼意思?Spring Cloud 如何實現?
- 負載平衡的意義什麼?
- 什麼是 Hystrix?它如何實現容錯?
- 什麼是 Hystrix 斷路器?我們需要它嗎?
- 什麼是 Spring Cloud Bus?我們需要它嗎?
- 什麼是 Netflix Feign?它的優點是什麼?
zookeeper
- ZooKeeper 是什麼?
- ZooKeeper 提供了什麼?
- Zookeeper 文件系統
- 四種類型的 znode
- Zookeeper 通知機制
- Zookeeper 做了什麼?
- zk 的命名服務(文件系統)
- zk 的配置管理(文件系統、通知機制)
- Zookeeper 集群管理(文件系統、通知機制)
- Zookeeper 分散式鎖(文件系統、通知機制)
- 獲取分散式鎖的流程
- Zookeeper 隊列管理(文件系統、通知機制)
- Zookeeper 數據複製
- Zookeeper 工作原理
- zookeeper 是如何保證事務的順序一致性的?
- Zookeeper 下 Server 工作狀態
- zookeeper 是如何選取主 leader 的?
- Zookeeper 同步流程
- 分散式通知和協調
- 機器中為什麼會有 leader?
- zk 節點宕機如何處理?
- zookeeper 負載均衡和 nginx 負載均衡
- zookeeper watch 機制
併發編程
- Synchronized 用 過 嗎 , 其 原 理 是 什 麽 ?
- 你 剛 才 提 到 獲 取 對 象 的 鎖 , 這 個 “ 鎖 ” 到 底 是 什 麽 ? 如 何 確 定對 象 的 鎖 ?
- 什 麽 是 可 重 入 性 , 為 什 麽 說 Synchronized 是 可 重 入 鎖 ?
- JVM 對 Java 的 原 生 鎖 做 了 哪 些 優 化 ?
- 為 什 麽 說 Synchronized 是 非 公 平 鎖 ?
- 什 麽 是 鎖 消 除 和 鎖 粗 化 ?
- 為 什 麽 說 Synchronized 是 一 個 悲 觀 鎖 ? 樂 觀 鎖 的 實 現 原 理又 是 什 麽 ? 什 麽 是 CAS, 它 有 什 麽 特 性 ?
- 樂 觀 鎖 一 定 就 是 好 的 嗎 ?
- 跟 Synchronized 相 比 , 可 重 入 鎖 ReentrantLock 其 實 現原 理 有 什 麽 不 同 ?
- 那 麽 請 談 談 AQS 框 架 是 怎 麽 回 事 兒 ?
- 請 盡 可 能 詳 盡 地 對 比 下 Synchronized 和 ReentrantLock的 異 同 。
- ReentrantLock 是 如 何 實 現 可 重 入 性 的 ?
- 除 了 ReetrantLock, 你 還 接 觸 過 JUC 中 的 哪 些 並 發 工 具 ?
- 請 談 談 ReadWriteLock 和 StampedLock。
- 如 何 讓 Java 的 線 程 彼 此 同 步 ? 你 了 解 過 哪 些 同 步 器 ? 請 分 別介 紹 下 。
- CyclicBarrier 和 CountDownLatch 看 起 來 很 相 似 , 請 對 比下 呢 ?
- Java 中 的 線 程 池 是 如 何 實 現 的 ?
- 創 建 線 程 池 的 幾 個 核 心 構 造 參 數 ?
- 線 程 池 中 的 線 程 是 怎 麽 創 建 的 ? 是 一 開 始 就 隨 著 線 程 池 的 啟 動
- 既 然 提 到 可 以 通 過 配 置 不 同 參 數 創 建 出 不 同 的 線 程 池 , 那 麽
- Java 中 默 認 實 現 好 的 線 程 池 又 有 哪 些 呢 ? 請 比 較 它 們 的 異 同 。創 建 好 的 嗎 ?
- 如 何 在 Java 線 程 池 中 提 交 線 程 ?
- 什 麽 是 Java 的 內 存 模 型 , Java 中 各 個 線 程 是 怎 麽 彼 此 看 到對 方 的 變 量 的 ?
開源框架
- BeanFactory 和 ApplicationContext 有什麼區別
- Spring Bean 的生命周期
- Spring IOC 如何實現
- 說說 Spring AOP
- Spring AOP 實現原理
- 動態代理(cglib 與 JDK)
- Spring 事務實現方式
- Spring 事務底層原理
- 如何自定義註解實現功能
- Spring MVC 運行流程
- Spring MVC 啟動流程
- Spring 的單例實現原理
- Spring 框架中用到了哪些設計模式
- 為什麼選擇 Netty
- 說說業務中,Netty 的使用場景
- 原生的 NIO 在 JDK 1.7 版本存在 epoll bug
- 什麼是 TCP 粘包/拆包
- TCP 粘包/拆包的解決辦法
- Netty 線程模型
- 說說 Netty 的零拷貝
- Netty 內部執行流程
設計模式
- 請列舉出在 JDK 中幾個常用的設計模式?
- 什麼是設計模式?你是否在你的代碼裡面使用過任 何設計模式?
- Java 中什麼叫單例設計模式?請用 Java 寫出線程安全的單例模式
- 在 Java 中,什麼叫觀察者設計模式(observer design pattern
- 使用工廠模式最主要的好處是什麼?在哪裡使用?
- 舉一個用 Java 實現的裝飾模式(decorator design pattern) ?它是作用於對象層次還是類層次?
- 在 Java 中,為什麼不允許從靜態方法中訪問非靜態變數?
- 設計一個 ATM 機,請說出你的設計思路?
- 在 Java 中,什麼時候用重載,什麼時候用重寫?
- 舉例說明什麼情況下會更傾向於使用抽象類而不是介面?
由於資料內容太多,平臺篇幅限制,小編就展現了以上部分面試專題與資料,如需獲取以下全部面試資料的同學,