互聯網公司面試問題總結之java基礎知識

一、Java基礎:

部分一:

1HashMap HashTableTreeMap

1Hashmap 的底層實現

2HashTableHashMap的區別?(重點)

3HashMap都有哪些種?

4treemap的實現

5HashMapHashSet的實現原理

6HashMapHashTable的區別,及其實現原理。ArrayList,LinkedList Vector的區別和實現原理。TreeMapTreeSet區別和實現原理。ConcurrentHashMap實現原理(鎖分離技術)。

7hashMap等相關源碼

 8hashmap的原理。
        結合着源碼blabla,然後包括1.6Entry1.8Node 還有對keyhashcode1.61.8用的算法不一樣啊之類的blabla,說了一通,什麼fail-fast機制啊啥啥啥的。

9javahashMap結構,處理衝突方法,還有啥方法,各個方法優缺點,爲啥不用另一個有有點的方法。

2ArrayList的區別

3、(1vector中內存擴充方式怎樣?爲什麼每次都有2被擴充?( 算法導論中平攤分析 )

   2vectorlist的區別

4static的作用

5、(1Java有哪些特性(封裝、繼承、多態之類的)

2)如何實現多態?

6、(1)如何在main函數調用前處理一些事情

   2main函數前會有什麼操作

7ArrayListLInkedList的比較

ArrayList ,這裏就有技巧了舉一反三,我一般都是對比着LinkedList 來說 ,從實現機制、擴容機制等等方面來說

8、繼承的好處和壞處

9 super()this能不能同時使用

10、靜態類與單例模式的區別

11、面向對象的設計規範

12、接口和抽象類的區別

13說一說對java io的理解

14知不知道NIO

瞭解NIO嗎,Netty框架源碼看過嗎

15juc包內有哪些類,CAS如何實現,說一下對線程池的理解

16、(1maplistset的區別  

2map 源碼,怎樣解決衝突,和擴容

17StringStringBufferStringBuilder區別,String爲什麼不可變

StringStringBuffer,StringBuilder區別和聯繫,String爲啥不可變,在內存中的具體形態。

String,是否可以繼承,“+”怎樣實現,與StringBuffer區別

18java gc 請解釋

19Object的類都有哪些?

20String 轉出 int型,判斷能不能轉?如何轉?

11 你用過的一些collection都有哪些

12 、反射機制中可以獲取private成員的值嗎(沒有setget函數)

13 equls == 的區別

14、包裝類型和基本類型比較問題(例如,Integer類型的變量能否==int類型變量,能否作比較,什麼時候不能作比較)

15java中異常機制。

16comparable接口和comparator接口實現比較的區別和用法,Arrays靜態類如下實現排序的。

17protected權限能否被包外訪問(我當時有點蒙竟然說能,出來就後悔了),然後問boolean佔幾個字節   

18C++/JAVA/C的區別

19瞭解JS

20面向對象的特徵

21java的集合,異常

22JAVA中常用的集合

23java異常

24java內存模型

 

部分二

1. 九種基本數據類型的大小,以及他們的封裝類。

2. Switch能否用string做參數?

3. equals==的區別。

4. Object有哪些公用方法?

5. Java的四種引用,強弱軟虛,用到的場景。

6. Hashcode的作用。

7. ArrayListLinkedListVector的區別。

8. StringStringBufferStringBuilder的區別。

9. MapSetListQueueStack的特點與用法。

10. HashMapHashTable的區別。

11. HashMapConcurrentHashMap的區別,HashMap的底層源碼。

12. TreeMapHashMapLindedHashMap的區別。

13. Collection包結構,與Collections的區別。

14. try catch finallytry裏有returnfinally還執行麼?

15. ExcptionError包結構。OOM你遇到過哪些情況,SOF你遇到過哪些情況。

16. Java面向對象的三個特徵與含義。

17. OverrideOverload的含義去區別。

18. Interfaceabstract類的區別。

19. Static class non static class的區別。

20. java多態的實現原理。

21. 實現多線程的兩種方法:ThreadRunable

22. 線程同步的方法:sychronizedlockreentrantLock等。

23. 鎖的等級:方法鎖、對象鎖、類鎖。

24. 寫出生產者消費者模式。

25. ThreadLocal的設計理念與作用。

26. ThreadPool用法與優勢。

27. Concurrent包裏的其他東西:ArrayBlockingQueueCountDownLatch等等。

28. wait()sleep()的區別。

29. foreach與正常for循環效率對比。

30. Java IONIO

31. 反射的作用於原理。

32. 泛型常用特點,List<String>能否轉爲List<Object>

33. 解析XML的幾種方式的原理與特點:DOMSAXPULL

34. JavaC++對比。

35. Java1.71.8新特性。

36. 設計模式:單例、工廠、適配器、責任鏈、觀察者等等。

37. JNI的使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章