天天看點

2019年java最新面試題

以下問題是最近4次面試中總結的題目:

一定會問到的知識點:集合,多線程,流,動态代理,反射,架構,資料庫,linux,分布式架構的概念

1、HashMap底層原理

2、HashMap如何解決哈希碰撞

3、ConcurrentHashMap與HashTable的差別

4、了解的鎖有哪些?

5、synchronized底層原理

6、Lock鎖底層原理

7、Lock實作類

8、synchronized與Lock鎖的差別

9、CAS無鎖機制(如何解決ABA問題)

10、什麼是AQS

11、線程池的原理

12、線程池有哪些種類,特點

13、springIOC和AOP原理

14、動态代理的實作方式

15、建立對象的方式

16、類加載機制---雙親委派機制

17、JVM記憶體模型

18、垃圾回收機制

19、垃圾回收算法

20、垃圾回收器的種類

21、netty的原理

22、BIO,NIO,AIO的差別

23、static和final的差別:

24、String, StringBuffer,StringBuilder去差別

25、流的種類有哪些?

26、位元組流如何轉化為字元流?

27、什麼是序列化和反序列化

28、如何不将一個字段序列化

29、深克隆和淺克隆的差別?

30、jvm類加載機制

31、什麼是雙親委派模型

32、什麼是泛型

33、泛型在什麼期有效

34、反射的應用場景

35、反射的缺點

36、如何避免反射的缺點

37、字元串常量池的概念

38、如何根據業務建立表

39、多線程suspend()、resume()

40、多線程環境下并發修改hashtable 是否會引起Iterator疊代失敗

41、Java中的那些基本類型屬于原生類,而數組是引用類型,不屬于原生類,可以看成是一種對象。

42、擷取集合中的最大和最小值

44、mybatis如何調用存儲過程

45、實作多線程的方式:繼承Thread類,實作Runnable接口,實作Callable接口

46、動态代理實作方式

47、list中常用的方法

48、ArrayList線程不安全怎麼解決

49、jvm參數設定依據,eden:from:to區的比例和依據

50、多線程相關,手寫相關多線程題目

51、系統挂掉之後怎麼排查問題

52、怎麼排查gc記憶體溢出是哪個對象導緻的問題

53、怎麼攻擊雙親委派機制,讓jvm加載和系統類相同的包名,以及怎麼預防

54、一個方法中如何管理兩個事物

55、頁面登入密碼如何加密傳至背景

56、spring中class循環依賴如何解決

57、linux檢視記憶體和核數指令

lscpu(檢視cpu), lsmem(檢視記憶體大小), df(檢視硬碟大小)

58、linux查詢cpu使用情況

top

繼續閱讀