1. 程式人生 > >某公司Java面試題

某公司Java面試題

面試一:


(1)HashMap和Hashtable的區別


(2)實現一個保證迭代順序的HashMap


(3)說一說排序演算法,穩定性,複雜度


(4)說一說GC


(5)可以保證的實習時長


(6)職業規劃


 


面試二

 


(1)自我介紹。


(2)JVM如何載入一個類的過程,雙親委派模型中有哪些方法?


(3)HashMap如何實現的?


(4)HashMap和Concurrent HashMap區別, Concurrent HashMap 執行緒安全嗎, Concurrent HashMap如何保證 執行緒安全?


(5)HashMap和HashTable 區別,HashTable執行緒安全嗎?


(6)程序間通訊有哪幾種方式?


(7)JVM分為哪些區,每一個區幹嗎的?


(8)JVM如何GC,新生代,老年代,持久代,都儲存哪些東西?


(9)GC用的引用可達性分析演算法中,哪些物件可作為GC Roots物件?


(10)快速排序,過程,複雜度?


(11)什麼是二叉平衡樹,如何插入節點,刪除節點,說出關鍵步驟。


(12)TCP如何保證可靠傳輸?三次握手過程?


(13)TCP和UDP區別?


(14)滑動視窗演算法?


(15)Linux下如何進行程序排程的?


(16)Linux下你常用的命令有哪些?


(17)作業系統什麼情況下會死鎖?


(18)常用的hash演算法有哪些?


(19)什麼是一致性雜湊?


(20)如何理解分散式鎖?


(21)資料庫中的正規化有哪些?


(22)資料庫中的索引的結構?什麼情況下適合建索引?


(23)Java中的NIO,BIO,AIO分別是什麼?


(24)用什麼工具除錯程式?JConsole,用過嗎?


(25)現在JVM中有一個執行緒掛起了,如何用工具查出原因?


(26)執行緒同步與阻塞的關係?同步一定阻塞嗎?阻塞一定同步嗎?


(27)同步和非同步有什麼區別?


(28)執行緒池用過嗎?


(29)如何建立單例模式?說了雙重檢查,他說不是執行緒安全的。如何高效的建立一個執行緒安全的單例?


(30)concurrent包下面,都用過什麼?


(31)常用的資料庫有哪些?redis用過嗎?


(32)瞭解hadoop嗎?說說hadoop的元件有哪些?hdfs,hive,hbase,zookeeper。說下mapreduce程式設計模型。


(33)你知道的開源協議有哪些?


(34)你知道的開源軟體有哪些?


(35)你最近在看的書有哪些?


(36)你有什麼問題要問我嗎?


(37)瞭解哪些設計模式?說說都用過哪些設計模式


(38)如何判斷一個單鏈表是否有環?


(39)作業系統如何進行分頁排程?


(40)匿名內部類是什麼?如何訪問在其外面定義的變數?


 


面試三


(1)自我介紹,做過什麼專案。


(2)java虛擬機器的區域如何劃分,每一個區的動能,這一塊自由發揮。


(3)雙親委派模型中,從頂層到底層,都是哪些類載入器,分別載入哪些類?


(4)有沒有可能父類載入器和子類載入器,載入同一個類?如果載入同一個類,該使用哪一個類?


(5)HashMap的結構,get(),put()是如何實現的?HashMap有哪些問題?


(6)ConcurrentHashMap的get(),put(),又是如何實現的?ConcurrentHashMap有哪些問題? ConcurrentHashMap的鎖是讀鎖還是寫鎖?


(7) HashMap與HashTable的區別


(8)sleep()和wait()分別是哪個類的方法,有什麼區別?synchronized底層如何實現的?用在程式碼塊和方法上有什麼區別?


(9)什麼是執行緒池?如果讓你設計一個動態大小的執行緒池,如何設計,應該有哪些方法?


(10)什麼是死鎖?JVM執行緒死鎖,你該如何判斷是因為什麼?如果用VisualVM,dump執行緒資訊出來,會有哪些資訊?這一塊問的很多....問的我懵了. 因為並沒有實際操作過 = =


(11)檢視jvm虛擬機器裡面堆、執行緒的資訊,你用過什麼命令?我只用過圖形介面VisualVM。。。


(12)垃圾回收演算法有哪些?CMS知道嗎?如何工作的?


(13)資料庫中什麼是事務?事務的隔離級別?事務的四個特性?什麼是髒讀,幻讀,不可重複讀?


(14)資料庫索引的結構有哪些?我說B樹和B+樹,他說只有這兩個嗎。我又說全文倒排索引。然後介紹B+樹的結構。


(15)資料庫中的分頁查詢語句怎麼寫?


(16)什麼是一致性雜湊?用來解決什麼問題?


(17)Redis的儲存結構,或者說如何工作的,與mysql的區別?有哪些資料型別?


(18)專案中用到redis,為什麼選用redis,瞭解其他NoSQL資料庫嗎?在你的專案中是如何運用redis的?key是什麼,value是什麼?


(19)歸併排序的過程?時間複雜度?空間複雜度?


(20)你平常用什麼排序?快速排序。說說在那些場景下適用,哪些場景下不適用。


(21)你在專案中做什麼?因為我用到Solr,他就問我Solr是如何工作的?