阿里P8耗時九個月整理的Java面試核心筆記,終於來了
第 1 章 Java 基本概念
- Java 語言的優點?
- 什麼是 Java 虛擬機器?為什麼 Java 被稱作是“平臺無關的程式語言”?
- Java 和 C++ 有何區別?
- JDK 和 JRE 的區別是什麼?
- Java 支援的資料型別有哪些?什麼是自動拆裝箱?
- 什麼是值傳遞和引用傳遞?
- 一個 ".java" 原始檔中是否可以包括多個類(不是內部類)?有什麼限制?
- 靜態變數和例項變數的區別?
- 不通過建構函式也能建立物件嗎?
- 靜態變數和例項變數的區別?
- 是否可以從一個靜態(static)方法內部發出對非靜態(non-static)方法的呼叫?
- 如何實現物件克隆?
- 一個“.java”原始檔中是否可以包含多個類(不是內部類)?有什麼限制?
- Anonymous Inner Class(匿名內部類)是否可以繼承其它類?是否可以實現介面?
- 內部類可以引用它的包含類(外部類)的成員嗎?有沒有什麼限制?
- 列出自己常用的 jdk 包
- JDK, JRE 和 JVM 的區別?
第 2 章 物件導向程式設計
- Java 中的方法覆蓋 (Overriding) 和方法過載 (Overloading) 是什麼意思?
- Overload 和 Override 的區別? Overloaded 的方法是否可以改變返回值的型別?
- Java 中,什麼是建構函式?什麼是建構函式過載?什麼是複製建構函式?
- 構造器 Constructor 是否可被 Override?
- Java 支援多繼承麼?
- 介面和抽象類的區別是什麼?
- 下列說法正確的有()
- Java 介面的修飾符可以為?
- 下面是 People 和 Child 類的定義和構造方法,每個構造方法都輸出編號。在執行 new Chil d("mike") 的時候都有哪些構造方法被順序呼叫?請選擇輸出結果
- 構造器(constructor)是否可被重寫(override)?
- 兩個物件值相同(x.equals(y) == true),但卻可有不同的 hash code,這句話對不對?
- 介面是否可繼承(extends)介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼 承具體類(concrete class)?
- 指出下面程式的執行結果:
- Class.forName(String className)這個方法的作用
- 什麼是 AOP 和 OOP,IOC 和 DI 有什麼不同?
- 判斷下列語句是否正確,如果有錯誤,請指出錯誤所在?
第 3 章 關鍵字
- ”static” 關鍵字是什麼意思?Java 中是否可以覆蓋(override) 一個 private 或者是 static 的 方法?
- 是否可以在 static 環境中訪問非 static 變數?
- 訪問修飾符 public, private, protected, 以及不寫(預設)時的區別?
- volatile關鍵字是否能保證執行緒安全?
- Java 有沒有 goto?
- Java 中的 final關鍵字有哪些用法?
- 什麼時候用 assert?
- final, finally, finalize 的區別?
第 4 章 基本型別與運算
- 說說 & 和 && 的區別。
- 用最有效率的方法算出 2 乘以 8 等於幾?
- 存在使 i + 1 < i的數嗎?
- 0.6332 的資料型別是()
- System.out.println("5" + 2);的輸出結果應該是()
- 下面的方法,當輸入為 2 的時候返回值是多少?
- float f=3.4;是否正確?
- int 和 Integer 有什麼區別?
- char 型變數中能不能存貯一箇中文漢字?為什麼?
- Math.round(11.5) 等於多少? Math.round(-11.5)等於多少?
第 5 章 字串與陣列
- 下面程式的執行結果是()
- 下面程式碼的執行結果為?
- String 是最基本的資料型別嗎?
- 陣列有沒有 length() 方法? String 有沒有 length() 方法?
- 是否可以繼承 String 類?
- String 和StringBuilder、StringBuffer 的區別?
- String s=new String(“xyz”);建立了幾個字串物件?
- 將字元 “12345” 轉換成 long 型
- 為了顯示 myStr = 23 這樣的結果,寫出在控制檯輸入的命令
- String s = "Hello";s = s + " world!”; 這兩行程式碼執行後,原始的 String 物件中的內容到底變 了沒有?
- 如何把一段逗號分割的字串轉換成一個陣列?
- 下面這條語句一共建立了多少個物件: String s=“a”+”b”+”c”+”d”;
- String 和 StringBuffer 的區別?
- String, StringBuffer StringBuilder的區別。
第 6 章 輸入輸出流
- 下面哪個流類屬於面向字元的輸入流?
- 閱讀 Shape 和 Circle 兩個類的定義。在序列化一個 Circle 的物件 circle 到檔案時,下面哪個 欄位會被儲存到檔案中?
- 什麼是 Java 序列化,如何實現 Java 序列化?
第 7 章 集合類
- 下列說法正確的是()
- ArrayList list = new ArrayList(20);中的 list 擴充幾次?
- Java集合類框架的基本介面有哪些?
- 為什麼集合類沒有實現 Cloneable 和 Serializable 介面?
- 什麼是迭代器(Iterator)?
- Iterator和ListIterator的區別是什麼?
- 快速失敗(fail-fast)和安全失敗(fail-safe)的區別是什麼?
- Java 中的 HashMap 的工作原理是什麼?
- hashCode() 和 equals() 方法的重要性體現在什麼地方?
- HashMap 和 Hashtable 有什麼區別?
- 陣列(Array)和列表(ArrayList)有什麼區別?什麼時候應該使用 Array 而不是 ArrayList?
- ArrayList 和 LinkedList 有什麼區別?
- Comparable 和Comparator 介面是幹什麼的?列出它們的區別。
- Java集合類框架的最佳實踐有哪些?
- Enumeration 介面和 Iterator 介面的區別有哪些?
- HashSet 和 TreeSet 有什麼區別?
- List、Set、Map 是否繼承自 Collection 介面?
- 說出 ArrayList、Vector、LinkedList 的儲存效能和特性?
- List、Map、Set 三個介面儲存元素時各有什麼特點?
- 判斷下列語句是否正確,如果有錯誤,請指出錯誤所在?
- 你是怎麼理解 Java 泛型的?
第 8 章 Java 平臺與記憶體管理
- GC執行緒是否為守護執行緒?()
- 解釋記憶體中的棧(stack)、堆(heap)和靜態儲存區的用法。
- Java 中會存在記憶體洩漏嗎,請簡單描述。
- GC 是什麼?為什麼要有 GC?
- 第 3 行中生成的 object在第幾行執行後成為 garbage collection 的物件?
- 描述一下 JVM 載入 class 檔案的原理機制?
第 9 章 異常處理
- 下面關於java.lang.Exception類的說法正確的是()
- 擴充套件:錯誤和異常的區別(Error vs Exception)
- getCustomerInfo() 方法如下,try 中可以捕獲三種型別的異常,如果在該方法執行中產生了一 個 IOException,將會輸出什麼結果?
- try{} 裡有一個 return 語句,那麼緊跟在這個 try 後的 finally{} 裡的 code 會不會被執行,什麼 時候被執行,在 return 前還是後?
- Java 語言如何進行異常處理,關鍵字:throws、throw、try、catch、finally 分別如何使
用? - 執行時異常與受檢異常有何異同?
- 請寫出 5 種常見到的runtime exception。
- error 和 exception 有什麼區別?
第 10 章 XML
- XML 包括哪些解釋技術,區別是什麼?
- XML 文件定義有幾種形式?它們之間有何本質區別?解析XML 文件有哪幾種方式?
- 你在專案中哪些地方用到了 XML?
- 談談對 XML 的理解?說明 Web 應用中 Web.xml 檔案的作用?
- XML 是一種元語言, 可以用它來描述其他語言。
- 在 XML 中用於註釋的符號是。(選擇1項)
- DTD 與 XML Schema 都是XML文件。(選擇1項)
第 11 章 Java 多執行緒
- 下面哪些是Thread類的方法?
- 下面程式的執行結果?
- 程式和執行緒的區別是什麼?
- 建立執行緒有幾種不同的方式?你喜歡哪一種?為什麼?
- 概括的解釋下執行緒的幾種可用狀態。
- 同步方法和同步程式碼塊的區別是什麼?
- 在監視器(Monitor)內部,是如何做執行緒同步的?程式應該做哪種級別的同步?
- 什麼是死鎖(deadlock)?
- 如何確保 N 個執行緒可以訪問 N 個資源同時又不導致死鎖?
- sleep() 和 wait() 有什麼區別?
- sleep() 和 yield() 有什麼區別?
- 當一個執行緒進入一個物件的 synchronized 方法 A 之後,其它執行緒是否可進入此物件的 synch ronized 方法?
- 請說出與執行緒同步相關的方法。
- synchronized 關鍵字的用法?
- 舉例說明同步和非同步。
- 啟動一個執行緒是用 run() 還是 start() 方法?
- 什麼是執行緒池(thread pool)?
- 執行緒的基本狀態以及狀態之間的關係?
- 死鎖的必要條件?怎麼克服?
第 12 章 JDBC 與資料庫
- 下列屬於關係型資料庫的是()
- 在進行資料庫程式設計時,連線池有什麼作用?
- 什麼是 DAO 模式?
- 什麼是ORM?
- JDBC 中如何進行事務處理?
- 事務的 ACID 是指什麼?
- 使用 JDBC 運算元據庫時,如何提升讀取資料的效能?如何提升更新資料的效能?
- 儲存過程和函式的區別
- 你認為在表上建立索引可以提高資料庫系統的效率嗎,為什麼?
- 什麼是資料庫的參照完整性?
- 如何優化資料庫,如何提高資料庫的效能?
第 13 章 Servlet 與 JSP
- JSP 有哪些內建物件和動作?它們的作用分別是什麼?
- 描述 JSP 和 Servlet 的區別、共同點、各自應用的範圍
- 從以下哪一個選項中可以獲得 Servlet的 初始化引數?
- 哪一個物件可以用於獲得瀏覽器傳送的請求?
- 執行 jsp 需要安裝_______Web 伺服器。
- 在伺服器的網路程式設計中,解決會話跟蹤的方法有
- 與 HttpSessionListener 介面有關的方法是
- 關於 JSP 生命週期的敘述,下列哪些為真?
- 以下宣告正確的是?
- 下列哪個為 JSP 的隱含物件?
- 下面的那一個不屬於 MVC 模式中的物件?
- 在 Servlet 處理請求的方式為。(選擇1項)
- javax.Servlet 的包中,屬於類的是。(選擇1項)
- Http 預設的請求方法是。(選擇1項)
- 實現現下列哪一種介面的物件,並不需要在 web.xml 檔案內進行額外的設定,Servlet 容器就 能夠回應該物件加入 HTTP 會話所發生的事件?(選擇1項)
- 下列哪個為 JSP 的小指令碼的標籤?(選擇1項)
- 以下不屬於 JSP 的標準指令的是。(選擇1項)
- 對於每一個網站訪問使用者都要訪問的變數,應該將它設為________變數。(選擇1項)
- 檢視下列 JSP 內容
- 假設 A.jsp 內設定一個 <jsp:useBean> 元素:
- 在 MVC 設計模式中,JavaBean的 作用是。(選擇1項)
第 14 章 J2EE 與 EJB
- J2EE 是什麼?它包括哪些技術?
- 描述 J2EE 框架的多層結構,並簡要說明各層的作用。
- EJB 包含哪 3 種 bean
- Tomcat 伺服器的預設埠是多少?怎樣修改 tomcat 的埠?
- EJB的優點有哪些?(選擇 2 項)
- 無狀態會話 Bean、有狀態會話 Bean、CMP 與 BMP 中,哪一種 Bean 不需要自己書寫連線 資料庫的程式碼?
- 假設 web 應用的文件根目錄為 MyApp,那麼可以從哪裡找到 database.jar 檔案
8.要建立一個 EJB,必須要至少編寫哪些 Java 類和介面? - EJB 類庫存在於 Java 的哪個版本中?(選擇1項)。
- 在 J2EE 中屬於 Web 層的元件有(選擇1項)
- EJB 的角色和三個物件
- EJB 的啟用機制
- EJB 的幾種型別
第 15 章 SSH 架構
- 描述 Struts 體系結構?對應各個部分的開發工作主要包括哪些?
- 簡要描述如何結合 struts、hibernate、spring 開發 Web 應用?
- 說明反轉控制(IOC)和麵向方向程式設計(AOP)在 spring 中的應用
- 簡述基於 Struts 框架 Web 應用的工作流程
- 在專案中用過 Spring的 哪些方面?及用過哪些 Ajax 框架?
- MVC 模式中 M,V,C 每個代表意義,並簡述在 Struts 中 MVC 的表現方式。
- Hibernate 中的 Java物件有幾種狀態,其相互關係如何(區別和相互轉換)。
- 對 Hibernate 的延遲載入如何理解,在實際應用中,延遲載入與 session 關閉的矛盾是如何處 理的?
- Struts1 中 actionform 和 action 屬於 MVC 哪一層,為什麼?
- struts2 中,Action 通過什麼方式獲得使用者從頁面輸入的資料,又是通過什麼方式把其自身的 資料傳給檢視的?
- 說明什麼是工廠模式?
- struts 中如何實現國際化,涉及哪些檔案?
- Struts 框架可以支援以下哪種程式開發語言?(選擇1項)
- struts 是什麼?
- spring 是什麼?
- hibernate 是什麼?
- 用自己的話簡要闡述 struts2 的執行流程
第 16 章 UML
- UML是什麼?UML中有哪些圖?
- 類圖用來表示系統中類和類與類之間的關係,它是對系統動態結構的描述。(選擇1項)
第 17 章 常見設計模式
- 寫一個單例類。
- 說說你所熟悉或聽說過的設計模式以及你對設計模式的看法。
- 你在開發中都用到了那些設計模式?用在什麼場合?
- 程式設計題: 寫一個Singleton出來
寫在最後
Java面試寶典已經整理完畢,共231頁,收集一百九十多道面試題。包含了:
- Java 基本概念
- 物件導向程式設計
- 關鍵字
- 基本型別與運算
- 字串與陣列
- 輸入輸出流
- 集合類
- Java 平臺與記憶體管理
- 異常處理
- XML
- Java 多執行緒
- JDBC 與資料庫
- Servlet 與 JSP
- J2EE 與 EJB
- SSH 架構
- UML
- 常見設計模式
等知識點,現將其免費分享給大家!
需要的朋友幫忙轉發一下,關注後新增助理vx:yunduoa2019或掃描下圖二維碼,跟隨助理指引自行獲取
以下是文章中的部分截圖
幫忙轉發一下,關注後新增助理vx:yunduoa2019或掃描下圖二維碼,跟隨助理指引自行獲取
相關文章
- 阿里架構師耗時一個月整理的《java架構師學習路線》太全了阿里架構Java
- 阿里面試官純手打:金九銀十跳槽必會Java核心知識點筆記整理阿里面試Java筆記
- 阿里P8架構師熬夜三個月,整理出這份Kafka精髓限量筆記,手慢無!阿里架構Kafka筆記
- 膜拜!!阿里p8架構師耗盡多年心血終於整理分享出精通SpringCloud微服架構文件太不容易了!阿里架構SpringGCCloud
- 完美,這份阿里P8耗時1年鉅著的4000頁Java高手真經阿里Java
- JAVA核心面試知識整理Java面試
- 半個月6次面試,終於進百度HR面了面試
- 耗時一個月,整理出這份Hadoop吐血寶典Hadoop
- 阿里架構師花近十年時間整理出來的Java核心知識pdf(Java崗)阿里架構Java
- 面試筆記之必掌握的java核心技能點面試筆記Java
- 實時 Django 終於來了 —— Django Channels 入門指南Django
- JVM--Java核心面試知識整理(一)JVMJava面試
- 它來了它終於來了- Beego 1.12.2Go
- 前端面試整理筆記一前端面試筆記
- 玩吃雞的朋友注意了!240Hz重新整理率的遊戲本終於來了遊戲
- 阿里內部的那個牛逼帶閃電的Java診斷工具終於開源了阿里Java
- VS Code Day,終於來了!
- 裸辭兩個月,4面終入職騰訊,半年後我終於把騰訊 Android 高頻面試真題及解析整出來了Android面試
- Cris 的 Scala 筆記整理(九):物件導向高階筆記物件
- 終於有人把Java記憶體模型說清楚了Java記憶體模型
- 2024年3月25日 整理一天的筆記了筆記
- 準備數月,面試耗時兩週,最終憑藉這些知識拿下阿里「Java」(Java基礎和高階+spring+多執行緒+網路+資料庫+.....)面試阿里JavaSpring執行緒資料庫
- GitHub標星125k!阿里技術官用3個月總結出的24萬字Java面試筆記Github阿里Java面試筆記
- 耗時6小時的同花順面試面試
- StreamPark 2.0.0 重磅釋出,首個 Apache 版本終於來了!Apache
- 終於要來了!蘋果新產品釋出時間曝光蘋果
- 100道Java高頻面試題(阿里面試官整理)Java面試題阿里
- 阿里螞蟻金服 java崗最新618面試586題,93%會做,你也能面試阿里P8阿里Java面試
- LDA臨時筆記,待整理LDA筆記
- 【教程】終於有人把Java記憶體模型說清楚了!Java記憶體模型
- Java Web架構知識整理——記一次阿里面試經歷JavaWeb架構阿里面試
- 關於C、Java、Python程式執行耗時及記憶體用量JavaPython記憶體
- Java虛擬機器學習筆記整理Java虛擬機機器學習筆記
- 《Linux核心分析》筆記與課件整理Linux筆記
- Android 7.1正式版終於來了:12月5日開更新Android
- 日本偶像遊戲,終於把核心玩法「卷」沒了遊戲
- VSCode 的 Live Share 功能終於來了VSCode
- 機器學習快速落地, Amazon SageMaker終於來了!機器學習