【JAVA】【面試】- 彙總集

再快不能快基礎,再爛不能爛語言! 算法

本文參考連接:juejin.im/post/5ab1a3…數據庫

基礎篇

基本功

知識點詳解連接:juejin.im/post/5d2d21…編程

  • 面向對象的特徵
  • final, finally, finalize 的區別
  • int 和 Integer 有什麼區別
  • 重載和重寫的區別
  • 抽象類和接口有什麼區別
  • 說說反射的用途及實現
  • 說說自定義註解的場景及實現
  • HTTP 請求的 GET 與 POST 方式的區別
  • session 與 cookie 區別
  • session 分佈式處理
  • JDBC 流程
  • MVC 設計思想
  • equals 與 == 的區別

集合

知識點詳解連接:juejin.im/post/5da7bc…後端

  • List 和 Set 區別
  • List 和 Map 區別
  • Arraylist 與 LinkedList 區別
  • ArrayList 與 Vector 區別
  • HashMap 和 Hashtable 的區別
  • HashSet 和 HashMap 區別
  • HashMap 和 ConcurrentHashMap 的區別
  • HashMap 的工做原理及代碼實現
  • ConcurrentHashMap 的工做原理及代碼實現

線程

知識點詳解連接:juejin.im/post/5da7bd…設計模式

  • 建立線程的方式及實現
  • sleep() 、join()、yield()有什麼區別
  • 說說 CountDownLatch 原理
  • 說說 CyclicBarrier 原理
  • 說說 Semaphore 原理
  • 說說 Exchanger 原理
  • 說說 CountDownLatch 與 CyclicBarrier 區別
  • ThreadLocal 原理分析
  • 講講線程池的實現原理
  • 線程池的幾種方式與使用場景
  • 線程的生命週期

鎖機制

知識點詳解連接:juejin.im/post/5da7bd…跨域

  • 說說線程安全問題
  • volatile 實現原理
  • synchronize 實現原理
  • synchronized 與 lock 的區別
  • CAS 樂觀鎖
  • ABA 問題
  • 樂觀鎖的業務場景及實現方式

核心篇

數據存儲

  • MySQL 索引使用的注意事項
  • 說說反模式設計
  • 說說分庫與分表設計
  • 分庫與分錶帶來的分佈式困境與應對之策
  • 說說 SQL 優化之道
  • MySQL 遇到的死鎖問題
  • 存儲引擎的 InnoDB 與 MyISAM
  • 數據庫索引的原理
  • 爲何要用 B-tree
  • 彙集索引與非彙集索引的區別
  • limit 20000 加載很慢怎麼解決
  • 選擇合適的分佈式主鍵方案
  • 選擇合適的數據存儲方案
  • ObjectId 規則
  • 聊聊 MongoDB 使用場景
  • 倒排索引
  • 聊聊 ElasticSearch 使用場景

緩存使用

  • Redis 有哪些類型
  • Redis 內部結構
  • Redis 內存淘汰機制
  • 聊聊 Redis 使用場景
  • Redis 持久化機制
  • Redis 集羣方案與實現
  • Redis 爲何是單線程的
  • 緩存崩潰
  • 緩存降級
  • 使用緩存的合理性問題

消息隊列

  • 消息隊列的使用場景
  • 消息的重發補償解決思路
  • 消息的冪等性解決思路(已解答,待補充)
  • 消息的堆積解決思路
  • 本身如何實現消息隊列
  • 如何保證消息的有序性

框架篇

Spring

  • BeanFactory 和 ApplicationContext 有什麼區別
  • Spring Bean 的生命週期
  • Spring IOC 如何實現
  • 說說 Spring AOP
  • Spring AOP 實現原理
  • 動態代理(cglib 與 JDK)
  • Spring 事務實現方式
  • Spring 事務底層原理
  • 如何自定義註解實現功能
  • Spring MVC 運行流程
  • Spring MVC 啓動流程
  • Spring 的單例實現原理
  • Spring 框架中用到了哪些設計模式
  • Spring 其餘產品(Srping Boot、Spring Cloud、Spring Secuirity、Spring Data、Spring AMQP 等)

Netty

  • 爲何選擇 Netty
  • 說說業務中,Netty 的使用場景
  • 原生的 NIO 在 JDK 1.7 版本存在 epoll bug
  • 什麼是TCP 粘包/拆包
  • TCP粘包/拆包的解決辦法
  • Netty 線程模型
  • 說說 Netty 的零拷貝
  • Netty 內部執行流程
  • Netty 重連實現

微服務篇

微服務

  • 先後端分離是如何作的
  • 如何解決跨域
  • 微服務哪些框架
  • 你怎麼理解 RPC 框架
  • 說說 RPC 的實現原理
  • 說說 Dubbo 的實現原理
  • 你怎麼理解 RESTful
  • 說說如何設計一個良好的 API
  • 如何理解 RESTful API 的冪等性
  • 如何保證接口的冪等性
  • 說說 CAP 定理、 BASE 理論
  • 怎麼考慮數據一致性問題
  • 說說最終一致性的實現方案
  • 你怎麼看待微服務
  • 微服務與 SOA 的區別
  • 如何拆分服務
  • 微服務如何進行數據庫管理
  • 如何應對微服務的鏈式調用異常
  • 對於快速追蹤與定位問題
  • 微服務的安全

分佈式

  • 談談業務中使用分佈式的場景
  • Session 分佈式方案
  • 分佈式鎖的場景
  • 分佈是鎖的實現方案
  • 分佈式事務
  • 集羣與負載均衡的算法與實現
  • 說說分庫與分表設計
  • 分庫與分錶帶來的分佈式困境與應對之策

安全問題

  • 安全要素與 STRIDE 威脅
  • 防範常見的 Web 攻擊
  • 服務端通訊安全攻防
  • HTTPS 原理剖析
  • HTTPS 降級攻擊
  • 受權與認證
  • 基於角色的訪問控制
  • 基於數據的訪問控制

性能優化

  • 性能指標有哪些
  • 如何發現性能瓶頸
  • 性能調優的常見手段
  • 說說你在項目中如何進行性能調優

設計模式

  • 你項目中有使用哪些設計模式
  • 說說經常使用開源框架中設計模式使用分析
  • 說說你對設計原則的理解
  • 23種設計模式的設計理念
  • 設計模式之間的異同,例如策略模式與狀態模式的區別
  • 設計模式之間的結合,例如策略模式+簡單工廠模式的實踐
  • 設計模式的性能,例如單例模式哪一種性能更好。

虛擬機

  • 堆、棧、堆棧的區別

算法

【推薦篇】- 書籍內容整理筆記 連接地址
【推薦】【Java編程思想】【筆記】 juejin.im/post/5dbb7a…
【推薦】【Java核心技術 卷Ⅰ】【筆記】 juejin.im/post/5dbb7b…

如有補充的地方,歡迎留言,但願咱們能夠一塊兒進步,一塊兒加油!😜😜 緩存

相關文章
相關標籤/搜索