Java進階面試精選系列:Java基礎+容器+多線程+網絡+異常


小編精心收集:爲金三銀四準備,如下面試題先過一遍,爲即將到了的面試作好準備,也過一遍基礎知識點。java

1、Java 基礎面試

1.JDK 和 JRE 有什麼區別?spring

2.== 和 equals 的區別是什麼?sql

3.兩個對象的 hashCode()相同,則 equals()也必定爲 true,對嗎?跨域

4.final 在 java 中有什麼做用?數組

5.java 中的 Math.round(-1.5) 等於多少?安全

6.String 屬於基礎的數據類型嗎?cookie

7.java 中操做字符串都有哪些類?它們之間有什麼區別?網絡

8.String str="i"與 String str=new String("i")同樣嗎?session

9.如何將字符串反轉?

10.String 類的經常使用方法都有那些?

11.抽象類必需要有抽象方法嗎?

12.普通類和抽象類有哪些區別?

13.抽象類能使用 final 修飾嗎?

14.接口和抽象類有什麼區別?

15.java 中 IO 流分爲幾種?

16.BIO、NIO、AIO 有什麼區別?

17.Files的經常使用方法都有哪些?

2、容器

18.java 容器都有哪些?

19.Collection 和 Collections 有什麼區別?

20.List、Set、Map 之間的區別是什麼?

21.HashMap 和 Hashtable 有什麼區別?

22.如何決定使用 HashMap 仍是 TreeMap?

23.說一下 HashMap 的實現原理?

24.說一下 HashSet 的實現原理?

25.ArrayList 和 LinkedList 的區別是什麼?

26.如何實現數組和 List 之間的轉換?

27.ArrayList 和 Vector 的區別是什麼?

28.Array 和 ArrayList 有何區別?

29.在 Queue 中 poll()和 remove()有什麼區別?

30.哪些集合類是線程安全的?

31.迭代器 Iterator 是什麼?

32.Iterator 怎麼使用?有什麼特色?

33.Iterator 和 ListIterator 有什麼區別?

34.怎麼確保一個集合不能被修改?

3、多線程

35.並行和併發有什麼區別?

36.線程和進程的區別?

37.守護線程是什麼?

38.建立線程有哪幾種方式?

39.說一下 runnable 和 callable 有什麼區別?

40.線程有哪些狀態?

41.sleep() 和 wait() 有什麼區別?

42.notify()和 notifyAll()有什麼區別?

43.線程的 run()和 start()有什麼區別?

44.建立線程池有哪幾種方式?

45.線程池都有哪些狀態?

46.線程池中 submit()和 execute()方法有什麼區別?

47.在 java 程序中怎麼保證多線程的運行安全?

48.多線程鎖的升級原理是什麼?

49.什麼是死鎖?

50.怎麼防止死鎖?

51.ThreadLocal 是什麼?有哪些使用場景?

52.說一下 synchronized 底層實現原理?

53.synchronized 和 volatile 的區別是什麼?

54.synchronized 和 Lock 有什麼區別?

55.synchronized 和 ReentrantLock 區別是什麼?

56.說一下 atomic 的原理?

4、反射

57.什麼是反射?

58.什麼是 java 序列化?什麼狀況下須要序列化?

59.動態代理是什麼?有哪些應用?

60.怎麼實現動態代理?

5、對象拷貝

61.爲何要使用克隆?

62.如何實現對象克隆?

63.深拷貝和淺拷貝區別是什麼?

6、Java Web

64.jsp 和 servlet 有什麼區別?

65.jsp 有哪些內置對象?做用分別是什麼?

66.說一下 jsp 的 4 種做用域?

67.session 和 cookie 有什麼區別?

68.說一下 session 的工做原理?

69.若是客戶端禁止 cookie 能實現 session 還能用嗎?

70.spring mvc 和 struts 的區別是什麼?

71.如何避免 sql 注入?

72.什麼是 XSS 攻擊,如何避免?

73.什麼是 CSRF 攻擊,如何避免?

7、異常

74.throw 和 throws 的區別?

75.final、finally、finalize 有什麼區別?

76.try-catch-finally 中哪一個部分能夠省略?

77.try-catch-finally 中,若是 catch 中 return 了,finally 還會執行嗎?

78.常見的異常類有哪些?

8、網絡

79.http 響應碼 301 和 302 表明的是什麼?有什麼區別?

80.forward 和 redirect 的區別?

81.簡述 tcp 和 udp的區別?

82.tcp 爲何要三次握手,兩次不行嗎?爲何?

83.說一下 tcp 粘包是怎麼產生的?

84.OSI 的七層模型都有哪些?

85.get 和 post 請求有哪些區別?

86.如何實現跨域?

87.說一下 JSONP 實現原理?

原文連接:https://www.jianshu.com/p/c67f4501d2ea

相關文章
相關標籤/搜索