java面試經驗02

前言:感謝同行友們的分享轉自鏈接

1.IO/NIO的區別,爲什麼要用NIO,使用IO中的Buffered..也能實現NIO的面向緩衝,什麼情況下用NIO?
其中回答 區別:IO面向流、阻塞、無選擇器,NIO面向緩衝、非阻塞、含有選擇器是不夠的。就緩衝而言,IO中
有Buffered開頭也是緩衝的,最好能拿出自己見過的案例說明,比如複製文件10MB 100MB 1GB各自使用的時間來說服面試官
最好是自己測試過的,NIO的程序寫起來是相對IO複雜點的(可能也與寫的程序有關)
參考
http://blog.csdn.net/zhouhl_cn/article/details/6568119(比喻介紹IO/NIO的區別)
https://my.oschina.net/u/1010990/blog/192558(區別與比較)
http://ifeve.com/java-nio-vs-io/

2.熟悉的排序算法有哪些,快速排序算法的實現原理?
常見的冒泡排序、選擇排序、插入排序、歸併排序、快速排序算法原理弄明白
參考:http://blog.csdn.net/ygc87/article/details/7208082

3.HashMap與ConcurrentHashMap有什麼區別?HashMap的存儲結構?
HashMap回答是hash結構存儲會繼續問如果相同的值要存儲在指定位置衝突了怎麼解決,衝突的取的時候怎麼取保證數據準確
hashmap可以接收null的key和value
concurrenthashmap不允許key value爲null
參考:http://www.cnblogs.com/ITtangtang/p/3948786.html
https://yq.aliyun.com/articles/38213

4.vector、ArrayList、LinkedList區別及存儲性能。
ArrayList:數組結構,查詢快,線程不安全
LinkedList:鏈表結構,增刪快,線程不安全
Vector:數組結構,查詢慢,線程安全
參考:
http://www.jb51.net/article/75093.htm
http://www.cnblogs.com/jiangyi-uestc/p/5682699.html

5.線程實現的幾種方式,有什麼區別,一般用哪個,爲什麼?
實現Runnable接口、繼承Thread類、使用Excutor框架

參考:http://www.cnblogs.com/felixzh/p/6036074.html

6.多線程中線程池怎樣使用及其實現原理?
http://blog.csdn.net/qq_31753145/article/details/50899119

7.volatile關鍵字的作用是什麼?
回答是讓線程可見,怎樣實現可見和不可見
參考:http://www.cnblogs.com/paddix/p/5428507.html
http://www.infoq.com/cn/articles/java-memory-model-4/

8.synchronized關鍵字的作用,使用該關鍵字後保證同步了,同步代碼塊與同步方法有什麼區別?
參考:http://www.cnblogs.com/GnagWang/archive/2011/02/27/1966606.html

9.多個對象對同步方法一定能保證同步嗎?多個對象對靜態同步方法保證同步嗎?兩個靜態同步方法能保證同步嗎?
多個 對象對同一個同步方法不能保證同步
參考:http://www.cnblogs.com/hapjin/p/4678773.html
http://topmanopensource.iteye.com/blog/1738178

10.start方法與run方法的區別?
參考:http://blog.csdn.net/xuxurui007/article/details/7685076

11.一個線程可以多次start嗎,會報錯嗎?
這個會報非法異常
這裏寫圖片描述

12.線程中通過什麼方式傳輸數據?使用過隊列,爲什麼要使用隊列,何種情況下使用隊列?

13.spring AOP IOC實現原理?

14.spring中的事務的傳播方式怎樣實現的?

15.spring中事務實現的原理?

16.springmvc實現原理?

17.爲什麼要使用數據庫索引,數據庫索引有哪些,索引的底層原理是什麼?

18.sql查詢緩慢怎麼處理,sql優化方案有哪些,explain用過嗎?

19.數據庫中的鎖有幾種?
比如行鎖、表鎖等會深問

20.數據庫爲什麼要使用事務,事務的原理?

21.oracle數據庫的分頁怎樣實現?

22.數據庫分庫分表的方法,垂直分還是水平分,根據哪些來分?

23.solr搜索實現原理、使用的排序算法是什麼,怎樣實現快速查詢?

24.3次握手的原理是什麼?

25.動態代理實現原理是什麼和動態代理使用的方法、類有哪些?

26.webservice hessian區別?

27.redis的數據結構有哪些?
字符串(String)、列表(List)、散列(Hash)、集合(set)、排序集合(sort set)

28.虛擬機瞭解多少?

29.spring默認是單利還是多例的?
默認單利

30.mybatis中#$的區別?

防止注入 $一般用於傳入數據庫對象,例如傳入表名.

區別:#將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是111,那麼解析成sql時的值爲order by “111”, 如果傳入的值是id,則解析成的sql爲order by “id”.
參考:http://blog.csdn.net/downkang/article/details/12499197/

31.常用的隊列有哪些?什麼情況下使用?
BlockingQueue

32.線程的幾種狀態及其切換?
創建態 就緒態 運行態 阻塞態 終止態

33.網頁中常出現的代碼?
200 ok
403 訪問被禁止
404 頁面找不到
500 服務器問題
參考:http://www.cnblogs.com/ctaixw/p/5075727.html
34.數據庫的特性?
ACID 原子性 一致性 隔離性 持久性

35.java7 8有哪些新特性?

36.你知道的線程安全的類有哪些,方法有哪些?
常用的集合都不是線程安全的,安全的需要使用concurrent
StringBuilder vector線程安全

37.數據庫的樂觀鎖和悲觀鎖的原理及使用?(version)

38.用過的中間件有哪些?

39.如果讓你對外開發一個接口,你會考慮哪些因素?

40.設計數據庫的時候會考慮哪些因素,怎樣去建表?

41.對於建表,大部分表中哪些相同的字段會都考慮要?
id、添加時間、修改時間、操作人,修改人等

42.對GC瞭解多少?

43.linux權限分組

參考:http://www.cnblogs.com/123-/p/4189072.html

44.Integer與int的區別,什麼情況下使用Integer什麼情況下使用int,Integer是否有緩存?
Integer緩存-128~127
當默認值爲0時使用int
默認值爲null時使用Integer

45.堆和棧的區別,堆中存放什麼,棧中存放什麼?

46.springmvc controller線程安全嗎?
安全,單例的

47.springmvc controller方法中爲什麼不能定義局部變量?

48.union 與union all區別?
無區別

49.count(1) count(5) count(*)有什麼區別,100萬條數據的效率如何?
下面是103萬條數據count(1) count(*) count(5)查詢10次的平均時間,都相差不大,oracle對count函數做了優化

這裏寫圖片描述

50.left join right join 區別?

51.inner join與join的區別?
無區別。

52.數據庫設計遵循的三範式?

53.springmvc中的攔截器的作用?

54.Springmvc攔截器與java過濾器的區別?

參考:http://blog.csdn.net/chenleixing/article/details/44573495
55.webservice使用的的什麼語言,使用的什麼協議?
wsdl描述語言 soap協議

56.springmvc註解@pathVariable的作用?

57.java虛擬機內存怎麼調整?
http://jingyan.baidu.com/article/a948d6516670880a2dcd2e2c.html

http://www.cnblogs.com/happyPawpaw/p/3868363.html

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