瘋狂創客圈整理了數百道面試題, 不光是爲了面試,若是能所有解答, JAVA的技術水平也是傲視羣雄了。html
後續還會不斷更新。有些題目挺難的,歡迎你們來交流答案。java
[第1題] 面向對象是什麼?mysql
[第2題] 類加載的過程react
[第3題] 類加載器有哪些c++
[第4題] 雙親委派模式web
[第5題] 編寫本身的類加載器面試
[第6題] 對象的建立ajax
[第7題] jvm的優化算法
[第8題] 什麼是Java虛擬機?爲何Java被稱做是「平臺無關的編程語言」?spring
[第9題] JDK和JRE的區別是什麼?
[第10題] 」static」關鍵字是什麼意思?Java中是否能夠覆蓋(override)一個private或者是static的方法?
[第11題] 是否能夠在static環境中訪問非static變量?
[第12題] Java支持的數據類型有哪些?什麼是自動拆裝箱?
[第13題] Java中的方法覆蓋(Overriding)和方法重載(Overloading)是什麼意思?
[第14題] Java中,什麼是構造函數?什麼是構造函數重載?什麼是複製構造函數?
[第15題] Java支持多繼承麼?
[第16題] 接口和抽象類的區別是什麼?
[第17題] 10.什麼是值傳遞和引用傳遞?
[第18題] 咱們能在 Switch 中使用 String 嗎?
[第19題] 20.Java 中的構造器鏈是什麼?
[第20題] 64 位 JVM 中,int 的長度是多數?
[第21題] 32 位和 64 位的 JVM,int 類型變量的長度是多數?
[第22題] 「a==b」和」a.equals(b)」有什麼區別?
[第23題] a.hashCode() 有什麼用?與 a.equals(b) 有什麼關係?
[第24題] final、finalize 和 finally 的不一樣之處?
[第25題] Java 中的編譯期常量是什麼?使用它又什麼風險?
[第26題] 用最有效率的方法計算2乘以8?
[第1題] Java中的兩種異常類型是什麼?他們有什麼區別?
[第2題] Java中Exception和Error有什麼區別?
[第3題] throw和throws有什麼區別?
[第4題] 異常處理的時候,finally代碼塊的重要性是什麼?(譯者注:做者標題的序號弄錯了)
[第5題] 異常處理完成之後,Exception對象會發生什麼變化?
[第6題] finally代碼塊和finalize()方法有什麼區別?
[第7題] .Java內存泄露的問題調查定位:
[第8題] String StringBuilder StringBuffer對比;
[第8題] Java如何調用c、c++語言;
[第10題] 接口與回調;回調的原理;寫一個回調demo;
[第11題] 泛型原理,舉例說明;解析與分派;
[第12題] 抽象類與接口的區別;應用場景;抽象類是否能夠沒有方法和屬性;
[第13題] 靜態屬性和靜態方法是否能夠被繼承?是否能夠被重寫?以及緣由?
[第14題] 修改對象A的equals方法的簽名,那麼使用HashMap存放這個對象實例的時候,會調用哪一個equals方法;
[第15題] 說說你對泛型的瞭解;
[第16題] Java的異常體系;
[第17題] 如何控制某個方法容許併發訪問線程的個數;
[第18題] 動態代理的區別,什麼場景使用;
[第1題] 什麼是不可變對象(immutable object)?Java 中怎麼建立一個不可變對象?
[第2題] 咱們能建立一個包含可變對象的不可變對象嗎?
[第1題] 請寫出下面幾個表達式的結果,答案能夠用10進制或16進制書寫
[第2題] &和&&的區別?
[第3題] Java 中應該使用什麼數據類型來表明價格?
[第4題] 怎麼將 byte 轉換爲 String?
[第5題] Java 中 bytes 與其餘類型的轉換?
[第6題] 咱們能將 int 強制轉換爲 byte 類型的變量嗎?若是該值大於 byte 類型的範圍,將會出現什麼現象?
[第7題] 存在兩個類,B 繼承 A,C 繼承 B,咱們能將 B 轉換爲 C 麼?如 C = (C) B;
[第8題] 哪一個類包含 clone 方法?是 Cloneable 仍是 Object?
[第9題] a = a + b 與 a += b 的區別
[第10題] 我能在不進行強制轉換的狀況下將一個 double 值賦值給 long 類型的變量嗎?
[第11題] 3*0.1 == 0.3 將會返回什麼?true 仍是 false?
[第12題] int 和 Integer 哪一個會佔用更多的內存?
[第13題] 爲何 Java 中的 String 是不可變的(Immutable)?
[第14題] String和StringBuilder、StringBuffer的區別?
[第15題] Java集合類框架的基本接口有哪些?
[第16題] 爲何集合類沒有實現Cloneable和Serializable接口?
[第17題] 什麼是迭代器(Iterator)?
[第18題] Iterator和ListIterator的區別是什麼?
[第19題] 快速失敗(fail-fast)和安全失敗(fail-safe)的區別是什麼?
[第20題] Java中的HashMap的工做原理是什麼?
[第21題] 當兩個對象的hashcode相同會發生什麼?
[第22題] hashCode()和equals()方法的重要性體如今什麼地方?
[第23題] HashMap的擴容機制以及默認大小爲什麼是2次冪 原
[第24題] HashMap的長度爲何設置爲2的n次方?
[第25題] HashMap和Hashtable有什麼區別?
[第26題] 如何決定選用HashMap仍是TreeMap?
[第27題] HashMap,HashTable,ConcurrentHashMap的區別
[第28題] 極高併發下HashTable和ConcurrentHashMap哪一個性能更好,爲何,如何實現的。
[第29題] ArrayList和數組(Array)和有什麼區別?何時應該使用Array而不是ArrayList?
[第30題] ArrayList和LinkedList有什麼區別?
[第31題] ArrayList和Vector有何異同點?
[第32題] Comparable和Comparator接口是幹什麼的?列出它們的區別。
[第33題] 什麼是Java優先級隊列(Priority Queue)?
[第34題] 30.你瞭解大O符號(big-O notation)麼?你能給出不一樣數據結構的例子麼?
[第35題] 如何權衡是使用無序的數組仍是有序的數組?
[第36題] Java集合類框架的最佳實踐有哪些?
[第37題] Enumeration接口和Iterator接口的區別有哪些?
[第38題] HashSet和TreeSet有什麼區別?
[第39題] List、Set、Map 和 Queue 之間的區別
[第40題] poll() 方法和 remove() 方法的區別?
[第41題] Java 中 LinkedHashMap 和 PriorityQueue 的區別是什麼?
[第42題] ArrayList 與 LinkedList 的不區別?
[第43題] 用哪兩種方式來實現集合的排序?
[第44題] Java 中怎麼打印數組?(answe
[第45題] Java 中的 LinkedList 是單向鏈表仍是雙向鏈表?
[第46題] Java 中的 TreeMap 是採用什麼樹實現的?
[第47題] Hashtable 與 HashMap 有什麼不一樣之處?
[第48題] Java 中的 HashSet,內部是如何工做的?
[第49題] 寫一段代碼在遍歷 ArrayList 時移除一個元素?
[第50題] 咱們能本身寫一個容器類,而後使用 for-each 循環碼?
[第51題] ArrayList 和 HashMap 的默認大小是多數?
[第52題] 集合框架中的泛型有什麼優勢?
[第53題] 爲什麼Collection不從Cloneable和Serializable接口繼承?
[第54題] 爲什麼Map接口不繼承Collection接口?
[第1題] string分析1000次循環subString用了多少內存;
[第2題] JVM的內存結構
[第3題] .Java的內存模型以及GC算法
[第4題] Java中垃圾回收有什麼目的?何時進行垃圾回收?
[第5題] System.gc()和Runtime.gc()會作什麼事情?
[第6題] finalize()方法何時被調用?析構函數(finalization)的目的是什麼?
[第7題] 若是對象的引用被置爲null,垃圾收集器是否會當即釋放對象佔用的內存?
[第8題] Java堆的結構是什麼樣子的?什麼是堆中的永久代(Perm Gen space)?
[第9題] 串行(serial)收集器和吞吐量(throughput)收集器的區別是什麼?
[第10題] 在Java中,對象何時能夠被垃圾回收?
[第11題] JVM的永久代中會發生垃圾回收麼?
[第12題] Serial 與 Parallel GC之間的不一樣之處?
[第13題] Java 中 WeakReference 與 SoftReference的區別?
[第14題] JVM 選項 -XX:+UseCompressedOops 有什麼做用?爲何要使用?
[第15題] 怎樣經過 Java 程序來判斷 JVM 是 32 位 仍是 64 位?
[第16題] 32 位 JVM 和 64 位 JVM 的最大堆內存分別是多數?
[第17題] JRE、JDK、JVM 及 JIT 之間有什麼不一樣?
[第18題] 解釋 Java 堆空間及 GC?
[第19題] 你能保證 GC 執行嗎?
[第20題] 怎麼獲取 Java 程序使用的內存?堆使用的百分比?
[第21題] Java 中堆和棧有什麼區別?(答案)
[第22題] 解釋內存中的棧(stack)、堆(heap)和方法區(method area)的用法。
[第23題] 動態代理的兩種方式,以及區別
[第24題]簡述class加載各階段過程;class;loader有哪些模型;
[第25題]jvm運行時數據區域有哪幾部分組成,各自做用;
[第26題]gc算法有哪些;gc收集器有哪些;
[第27題]簡述經常使用的JDK命令行工具;
[第28題]簡述字節碼文件組成;
[第29題]gc:內存模型;
[第55題] 給定一個txt文件,如何獲得某字符串出現的次數
[第56題] 講講IO裏面的常見類,字節流,字符流、接口、實現類、方法阻塞
[第57題] 什麼是流,按照傳輸單位,分紅哪兩種流,而且他們的父類叫什麼流是指數據的傳輸
[第58題] 什麼是節點流,什麼是處理流,它們各有什麼用處,處理流的建立有什麼特徵
[第59題] String編碼UTF-8和GBK的區別
[第60題] 何時使用字節流,何時 使用字符流
[第61題] 遞歸讀取文件夾的文件,代碼怎麼實現
[第62題] 什麼是比特(Bit),什麼是字節(Byte),什麼是字符(Char),它們長度是多少,各有什麼區別
[第63題] BufferedReader屬於哪一種流,它主要是用來作什麼的,它裏面有那些經典的方法
[第64題] 若是我要對字節流進行大量的從硬盤讀取,要用那個流,爲何
[第65題] 若是我要打印出不一樣類型的數據到數據源,那麼最適合的流是那個流,爲何
[第66題] 怎麼樣把咱們控制檯的輸出改爲輸出到一個文件裏面,這個技術叫什麼
[第67題] 怎麼樣把輸出字節流轉換成輸出字符流,說出它的步驟
[第68題] 把包括基本類型在內的數據和字符串按順序輸出到數據源,或者按照順序從數據源讀入,通常用哪兩個流
[第69題] 把一個對象寫入數據源或者從一個數據源讀出來,用哪兩個流
[第70題] 什麼叫對象序列化,什麼是反序列化,實現對象序列化須要作哪些工做
[第71題] 在實現序列化接口是時候通常要生成一個serialVersionUID字段,它叫作什麼,通常有什麼用
[第72題] OutputStream裏面的write()是什麼意思,write(byte b[], int off, int len)這個方法裏面的三個參數分別是什麼意思
[第73題] IO流通常須要不須要關閉,若是關閉的話在用什麼方法,通常要在那個代碼塊裏面關閉比較好,處理流是怎麼關閉的,若是有多個流互相調用傳入是怎麼關閉的?
[第74題] 寫一段代碼讀取一個序列化的對象通常使用哪一種Stream?
[第75題] io流怎樣讀取文件的?
[第76題] FileInputStream 建立詳情,就是怎樣的建立不報錯,它列出了幾種形式!
[第77題] 用io流中的技術,指定一個文件夾的目錄,獲取此目錄下的全部子文件夾路徑
[第78題] 請問你在什麼狀況下會在你得java代碼中使用可序列化? 如何實現java序列化?
[第79題] 問:簡單說說你平時使用的 Java IO 流中涉及到了哪些設計策略和設計模式?
[第80題] 問:什麼是緩衝區?有什麼做用?
[第81題] 問:字節流和字符流哪一個好?怎麼選擇?
[第82題] 說說對IO流的理解
[第1題] 手寫單例模式(餓漢和飽漢模式)和工廠模式?
[第2題] 策略模式
[第3題] 工廠模式
[第4題] AOP與IOC的概念(即spring的核心)
[第5題] 你所知道的設計模式有哪些;
[第6題] 單例模式
[第1題] 冒泡排序
[第2題] 二分查找
[第3題] 數據結構必知必會
[第4題] 你知道索引使用的是哪一種數據結構實現嗎?
[第5題] 堆和棧在內存中的區別是什麼(數據結構方面以及實際實現方面);
[第6題] 最快的排序算法是哪一個?
[第7題] 給阿里2萬多名員工按年齡排序應該選擇哪一個算法?
[第8題] 堆和樹的區別;
[第9題] 寫出快排代碼;
[第10題] 鏈表逆序代碼;
[第11題] 求1000之內的水仙花數以及40億之內的水仙花數;
[第12題] 子串包含問題(KMP 算法)寫代碼實現;
[第13題] 萬億級別的兩個URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分組->多文件讀寫效率->磁盤尋址以及應用層面對尋址的優化)
[第14題] 蟻羣算法與蒙特卡洛算法;
[第15題] 寫出你所知道的排序算法及時空複雜度,穩定性;
[第16題] 百度POI中如何試下查找最近的商家功能(座標鏡像+R樹)。
[第9題] 說說對多線程的理解
[第10題] 進程和線程的區別是什麼?
[第11題] 建立線程有幾種不一樣的方式?你喜歡哪種?爲何?
[第12題] 歸納的解釋下線程的幾種可用狀態。
[第13題] 同步方法和同步代碼塊的區別是什麼?
[第14題] synchronized關鍵字的用法,優缺點
[第15題] Lock接口有哪些實現類,使用場景是什麼
[第16題] ABC三個線程如何保證順序執行
[第17題] 在監視器(Monitor)內部,是如何作線程同步的?程序應該作哪一種級別的同步?
[第18題] 悲觀鎖、樂觀鎖的優缺點,CAS有什麼缺陷,該如何解決
[第19題] ABC三個線程如何保證順序執行
[第20題] 假若有Thread一、Thread二、Thread三、Thread4四條線程分別統計C、D、E、F四個盤的大小,全部線程都統計完畢交給Thread5線程去作彙總,應當如何實現?
[第21題] 線程池的問題
[第22題] 線程的狀態都有哪些(五大狀態)
[第23題] 什麼是死鎖(deadlock)? 死鎖的四個必要條件?
[第24題] 如何確保N個線程能夠訪問N個資源同時又不致使死鎖?
[第25題] 什麼是線程局部變量?
[第26題] 用 wait-notify 寫一段代碼來解決生產者-消費者問題?
[第27題] 用 Java 寫一個線程安全的單例模式(Singleton)?
[第28題] Java 中 sleep 方法和 wait 方法的區別?
[第29題] notify()和notifyAll()的區別
[第30題] ThreadLocal的瞭解,實現原理。
[第31題] Java 中 ++ 操做符是線程安全的嗎?
[第32題]簡述synchronized? Object;Monitor機制
[第1題] 簡述AQS原理;
[第2題] CAS又是怎麼保證原子性的;
[第3題] 簡述nio原理;
[第4題] 簡述Reactor模式;
[第5題] Atomic包的實現原理是什麼;
[第6題] 如何實現一個定時調度和循環調度的工具類。但提交任務處理不過來的時候,拒絕機制應該如何處理;線程池默認有哪幾種拒絕機制;
[第7題] 如何實現一個ThreadLocal;
[第8題] 說說你瞭解的一個線程安全隊列;
[第9題] 同步的方法;多進程開發以及多進程應用場景;
[第10題] 在Java中wait和seelp方法的不一樣;
[第11題] synchronized 和volatile 關鍵字的做用
[第12題] 服務器只提供數據接收接口,在多線程或多進程條件下,如何保證數據的有序到達;
[第13題] ThreadLocal原理,實現及如何保證Local屬性;
[第32題] 簡述你所知道的Linux:
[第33題] servlet執行流程
[第34題] springMVC的執行流程
[第35題] Struts工做流程
[第36題] 對ajax的理解
[第37題] Tomcat服務器優化
[第38題] HTTP協議
[第39題] TCP/UDP協議
[第40題] Spring使用了哪些設計模式
[第41題] session和cookie的區別和聯繫,session的生命週期,多個服務部署時session管理。
[第42題] struts1和struts2的區別
[第43題] struts2和springMVC的區別
[第44題] spring框架中須要引用哪些jar包,以及這些jar包的用途
[第45題] srpingMVC的原理
[第46題] springMVC註解的意思
[第47題] spring中beanFactory和ApplicationContext的聯繫和區別
[第48題] spring注入的幾種方式
[第49題] spring如何實現事物管理的
[第50題] springIOC和AOP的原理
[第51題] hibernate中的1級和2級緩存的使用方式以及區別原理
[第52題] spring中循環注入的方式
[第53題] 常見編碼方式;utf-8編碼中的中文佔幾個字節;int型幾個字節;
[第54題] 實現一個Json解析器(能夠經過正則提升速度);
[第55題] MVC MVP MVVM; 常見的設計模式;寫出觀察者模式的代碼;
[第56題] TCP的3次握手和四次揮手;TCP與UDP的區別;
[第57題] HTTP協議;HTTP1.0與2.0的區別;HTTP報文結構;
[第58題] HTTP與HTTPS的區別以及如何實現安全性;
[第59題] 都使用過哪些框架、平臺;
[第60題] 都使用過哪些自定義控件;
[第61題] 介紹你作過的哪些項目;
[第1題] 說一說高併發處理
[第2題] 說一說事物的理解
[第3題] 說一說索引的分類
[第4題] 存儲引擎的 InnoDB 與 MyISAM
[第5題] 說一說常見的數據庫優化手段
[第6題] 索引的優缺點,什麼字段上創建索引
[第7題] 說一說數據庫鏈接池
[第8題] 說一說你日常是如何針對具體的SQL作優化;
[第9題] mysql的存儲引擎有哪些,區別;
無編程不創客,無案例不學習。瘋狂創客圈,一大波高手正在交流、學習中!
瘋狂創客圈 Java 死磕系列: 【CSDN 總入口】 【博客園 總入口】
JAVA NIO 死磕系列:NIO簡介、NIO Buffer、 NIO channel、 NIO Selector
reactor 模式 死磕系列: Reactor模式
Netty 源碼 死磕系列: 環境搭建 、 EventLoop、 ChannelHandler 、 Pipeline模式、Pipeline inbound、 Pipeline outbound
Java 類加載器 死磕系列:雙親委託、 文件系統類加載器、 網絡類加載器、 加密類加載器、 AOP 類加載器
面試題死磕系列:Java面試必知必會200題 | 阿里、騰訊、百度、華爲、京東、搜狗和滴滴最新面試題聚集
免費資源: 數百G免費視頻資源,請參見共享《瘋狂創客圈》QQ羣文件