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