Java 進階面試問題必備
物件導向程式設計的基本理念與核心設計思想
解釋下多型性(polymorphism),封裝性(encapsulation),內聚(cohesion)以及耦合(coupling)。
繼承(Inheritance)與聚合(Aggregation)的區別在哪裡。
你是如何理解乾淨的程式碼(Clean Code)與技術負載(Technical Debt)的。
描述下常用的重構技巧。
闡述下 SOLID 原則。
其他的譬如 KISS,DRY,YAGNI 等原則又是什麼含義。
什麼是設計模式(Design Patterns)?你知道哪些設計模式?
你有了解過存在哪些反模式(Anti-Patterns)嗎?
你會如何設計登陸艦/數學表示式計算程式/一條龍?
你知道哪些基本的排序演算法,它們的計算複雜度如何?在給定資料的情況下你會傾向於使用哪種演算法呢?
Java 核心概念
equals 與 hashCode 的異同點在哪裡?Java 的集合中又是如何使用它們的。
描述下 Java 中集合(Collections),介面(Interfaces),實現(Implementations)的概念。LinkedList 與 ArrayList 的區別是什麼?
基礎型別(Primitives)與封裝型別(Wrappers)的區別在哪裡?
final 與 static 關鍵字可以用於哪裡?它們的作用是什麼?
闡述下 Java 中的訪問描述符(Access Modifiers)。
描述下 String,StringBuilder 以及 StringBuffer 區別。
介面(Interface)與抽象類(Abstract Class)的區別在哪裡。
覆蓋(Overriding)與過載(OverLoading)的區別在哪裡。
異常分為哪幾種型別?以及所謂的handle or declare原則應該如何理解?
簡述垃圾回收器的工作原理。
你是如何處理記憶體洩露或者棧溢位問題的?
如何構建不可變的類結構?關鍵點在哪裡?
什麼是 JIT 編譯?
Hibernate / 資料庫
請解釋下 ORM。
簡述下 Hibernate 的優劣特性。
Hibernate 與 JPA 區別在哪?
Hibernate 最新版提供了哪些特性?
什麼是懶載入(Lazy Loading)?
什麼是 N+1 難題?
介紹一些熟悉的 Hibernate 註釋。
簡介下 Hibernate Session 與 SessionFactory。
Entity Beans 的狀態有哪些。
Hibernate 中的快取分為幾層。
Hibernate 中事務的支援分為幾級?
什麼是樂觀鎖(Optimistic Locking)?
簡述下 ACID 原則。
簡述下資料庫正則化(Normalizations)。
請介紹下你日常工作中優化慢查詢(Slow Query)的策略。
Spring
新版的 Spring 中有哪些新特性?
介紹下 Spring 的優勢與缺陷。
什麼是控制反轉(Inversion of Control)與依賴注入(Dependency Injection)?
你用過哪些 Spring 的模組?
Spring 中是如何使用依賴注入的?
Spring 中提供了幾種自動注入的機制?
介紹下 Spring MVC。
Spring 中 Scopes 有哪些?
Spring 中 Bean 的生命週期包含哪些步驟?
Spring Bean 與 EJB Bean 的區別在哪裡?
其他主題
介紹下切面程式設計(Aspect Oriented Programming)。
概述下 GET 與 POST 的區別。
Web Server、Web Container 與 Application Server 的區別是什麼?
簡要介紹下從瀏覽器輸入 URL 開始到獲取到請求介面之後 Java Web 應用中發生了什麼。
什麼是 N 層架構?
微服務(MicroServices)與巨石型應用(Monolithic Applications)之間的區別在哪裡?
你知道哪些商業級設計模式?
你是如何測試一個應用的?知道哪些測試框架?
你是如何測試單個方法的?
在你的職業生涯中,算得上最困難的技術挑戰是什麼?
什麼是領域驅動開發(Domain Driven Development)?
介紹下一些你最愛的 IDE 的常用外掛。
除了 IDE 之外,你的日常工作中還會用到哪些工具?
你使用什麼版本管理工具?
分支(Branch)與標籤(Tag)之間的區別在哪裡?
你常用的持續整合(Continuous Integration)、靜態程式碼分析(Static Code Analysis)工具有哪些?
Java高架構師、分散式架構、高可擴充套件、高效能、高併發、效能優化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分散式專案實戰學習架構師視訊免費獲取架構群:854180697
群連結:加群連結
寫在最後:歡迎留言討論,加關注,持續更新!
相關文章
- 面試必備問題集錦面試
- 《Effective Java》--Java進階必備Java
- 【面試必備】常見Java面試題大綜合Java面試題
- Java 最常見的 200+ 面試題:面試必備Java面試題
- 前端必備,JavaScript面試問題及答案前端JavaScript面試
- Python面試必備的7大問題Python面試
- Java面試題必備知識之ThreadLocalJava面試題thread
- Java面試必問面試題,你掌握了嗎?Java面試題
- 面試必備:《Java 最常見 200+ 面試題全解析》Java面試題
- Java面試題中高階進階(JVM篇01)Java面試題JVM
- java面試題總結(開發者必備)Java面試題
- Java面試題中高階進階(JVM篇Java垃圾回收)Java面試題JVM
- 面試必備,Linux面試題和答案!Linux面試題
- Java面試題中高階進階(JVM調優篇)Java面試題JVM
- Java 進階必備:HashMap 原始碼分析JavaHashMap原始碼
- Java面試題中高階進階(JVM篇Java記憶體)Java面試題JVM記憶體
- Android&Java面試題大全—金九銀十面試必備AndroidJava面試題
- BAT面試必備——Java 集合類BAT面試Java
- 面試必備 之 Java 集合框架面試Java框架
- java Integer 原始碼 面試必備Java原始碼面試
- 如何準備Java的高階技術面試,java基礎面試筆試題Java面試筆試
- 【5】進大廠必須掌握的面試題-Java面試-spring面試題JavaSpring
- 【4】進大廠必須掌握的面試題-Java面試-jdbc面試題JavaJDBC
- 《大前端進階 Node.js》系列 必知必會必問(面試高頻)前端Node.js面試
- Flutter開發者必備面試問題與答案05Flutter面試
- Flutter開發者必備面試問題與答案02Flutter面試
- JVM知識點總覽:高階Java工程師面試必備JVMJava工程師面試
- Java常見面試真題之中級進階Java面試
- Java中高階面試題Java面試題
- 中高階Java面試題Java面試題
- Android面試題——進階篇Android面試題
- js面試題(進階)梳理JS面試題
- 高階面試必備:一個Java物件佔用多大記憶體面試Java物件記憶體
- 這幾道Java集合框架面試題在面試中幾乎必問Java框架面試題
- Maven面試必備Maven面試
- 【最全】Java 進階面試總結Java面試
- 大廠必問的Java虛擬機器面試題Java虛擬機面試題
- 【編測編學】介面測試必備面試題必背(下)面試題