1. 程式人生 > >Java開發面試題,3年工作經驗的Java程序員面試經

Java開發面試題,3年工作經驗的Java程序員面試經

知識 意義 個數 三次握手 post 爬蟲 重復 程序員面試 列表

一、Java基礎部分

1、使用length屬性獲取數組長度,public、private、protected、friendly區別

2、Collection和Collections區別

3、String s=new String(‘xyz’);創建了幾個object對象

4、short s1;

s1=s1+1;是否有錯?

5、Overriding和Overloading區別

6、Set裏面的元素不能重復,用什麽方法區分重復與否。

7、給出一個常見的runtime exception。

8、error和exception區別。

9、List和Set是否繼承自Collection接口。

10、abstract class和interface 的區別。

11、是否可以繼承String類。

12、try{}裏有一個return語句,緊跟在try後的finally裏的code會不會被執行,什麽時候執行,return前執行還是return後執行。

13、最有效率的方法算2*8等於幾

14、兩個對象值相同,x.equal(y)==true,但是卻可有不同的hashcode,這句話對不對。

15、值傳遞和引用傳遞

16、switch是否作用在byte、long、string上。

17、ArrayList和Vector區別,HashMap和Hashtable區別(了解這幾個類的底層jdk中的編碼方式)。

18、GC是什麽,為什麽要有GC,簡單介紹GC。

19、float f=3.4是否正確。

20、介紹Java中的Collection framework。

21、Collection框架中實現比較方法

22、String和Stringbuffer的區別

23、final、finally、finalize區別

24、面向對象的特征

25、String是最基本的數據類型嗎。

26、運行時異常和一般異常的區別

27、說出ArrayList、Vector、Linkedlist的存儲性能和特性

28、heap和stack區別

29、Java中的異常處理機制的簡單原理和應用

30、垃圾回收的原理和特點,並考慮2種回收機制

31、說出一些常用的 集合類和方法

32、描述一下JVM加載Class文件的原理和機制

33、排序的幾種方法,了解。(算法和數據結構在面試的時候還沒有被問到)

34、Java語言如何進行異常處理,throws,throw,try catch finally代表什麽意義,try塊中可以拋出異常嗎

35、一個’.java’源文件是否可以包括多個類,有什麽限制。

36、Java中有幾種類型流,jdk為每種類型的流提供了一些抽象類以供繼承,請分別說出它們是哪些類。

37、Java中會存在內存泄漏嗎,請簡單描述。

38、靜態變量和實例變量的區別。

39、什麽是Java序列化,如何實現java序列化。

40、是否可以從一個static方法內部發生對非static方法調用。

41、寫clone方法,通常都有一行代碼。

42、Java中如何跳出多重嵌套循環

43、說出常用類、包、接口,各舉5個。

44、Java中實現線程的方法,用關鍵字修飾同步方法。

45、同步和異步區別。

46、線程同步的方法。

47、字符串常用方法,字符串轉化為整型數方法,整型數轉化為字符串方法。

二、Java高級

1、簡述面向對象的理解,並舉例說出你的理解。

2、寫出單例模式。

3、寫出一種11位手機號的正則表達式

4、實現字符串多個空格轉換一個空格

5、字符串常用方法,substring(),split()。

6、start()和run()區別。

7、寫出知道的設計模式。

8、Webservice介紹。(這個我自己沒用過,渣渣了)

9、說出Servlet生命周期,Servlet和CGI區別。

10、sleep和wait的區別。

11、什麽是發射,如何實現。

12、檢查字符串回文,實現英文中單詞個數和單詞次數統計(部分公司要求較高,需要手動編程,百度查找一些面試常用編程題即可)。

13、tcp/ip協議三次握手。

14、http協議幾種請求方式,區別。

15、Ajax請求是否可以實現同步。

16、隱藏URL方式。

17、描述取到一個網頁內容的實現步驟,不需要具體實現過程(就是爬蟲:取到網頁的URL,然後從URL中國獲取網頁內容),考察邏輯思維能力。

18、簡述form表單提交post方法與get方法在字符編碼、http協議方面的區別。

19、一個http請求從開始到結束都經歷了哪些過程,簡寫流程圖。

三、框架(只介紹自己熟悉)

1、Spring中的事務管理,支持哪幾種方式,以及每種方式具體方法。

2、Spring常用註解。

3、Hibernate的緩存級別。

4、hibernate是什麽,工作原理。

5、hibernate如何實現延遲加載。

6、hibernate如何怎樣類之間的關系。

7、struts1是什麽,工作流程。

8、struts2工作流程。

9、spring是什麽。

10、介紹IOC和AOP。

11、springmvc工作原理。

12、Mybatis工作流程。

13、Mybatis與Hibernate區別。

14、Mybatis框架傳遞參數方式。

15、簡述Spring事務管理,使用什麽設計模式實現。

四、數據庫

1、數據庫裏面的索引和約束是什麽。

2、用SQL語句實現oracle分頁查詢。

3、學生成績表的常用查詢(百度即可查到,常用的查詢語法)

4、數據庫性能優化常用基礎知識,百萬級數據優化(百度搜搜即可)。

5、left join ,right join用法。

6、了解redis,memcache,mongodb等,最好有項目使用經驗。

7、如何防止SQL註入。

8、一個微博評論功能的數據庫設計,部門表和員工表的設計,權限管理系統的數據庫設計(數據庫設計這個是一個重點,面試了幾家公司都問到了,而且是重點)。

9、簡述悲觀鎖和樂觀鎖。

五、linux基礎

1、修改系統時間命令、修改權限命令、

六、前端基礎

1、javascript中怎樣選中一個checkbox,設置它無效的方式。

2、form表單 的input可以設置readonly和disable區別。

3、javascript變量範圍有什麽不同,全局變量和局部變量。

4、列舉3種數據類型。

5、javascript常用對象

6、javascript中常用的取值賦值方法,對於單選按鈕,復選框等的取值賦值等方法。(百度即可,javascript常用基礎)

7、jquery取值賦值基本方法。

8、獲取單選按鈕的值,獲取復選框的值,獲取下拉列表的值,後去復選框的值,獲取單選按鈕組的值,文本框、文本域賦值。

9、jquery的append與appendTo區別。

10、CSS盒子模型的4個順序。

Java開發面試題,3年工作經驗的Java程序員面試經