2017年的Java工程師面試題

學識都 人氣:1.56W

Java 編程語言的風格十分接近C、C++語言。Java是一個純的面向對象的程序設計語言,它繼承了 C++ 語言面向對象技術的核心。下面是小編整理的關於java工程師面試題,希望大家認真閱讀!

2017年的Java工程師面試題

一、選擇題

1、下面哪項是不合法的標識符:()

A. $persons B. TwoUsers C. *point D. _endline E. final

2、下列運算符合法的是( )

A.&& B.<> D.:=

3、下面描述中哪兩項相等:()[選擇兩項]

4、設float x = 1,y = 2,z = 3,則表達式 y+=z–/++x的值是:()

A. 3.5 B.3 C. 4 D. 5

5、下面的哪些敘述爲真:()

equals()方法判定引用值是否指向同一對象

==操作符判定兩個不同的對象的內容和類型是否一致

equal()方法只有在兩個對象的內容一致時返回true

類File重寫方法equals()在兩個不同的對象的內容和類型一致時返回true

6、如果一個對象僅僅聲明實現了cloneable接口,但是不聲明clone方法,外部能夠調用其clone方法嗎?()

A. 能 B. 不能 C. 不確定

7、下列說法錯誤的有( )

A. 能被成功運行的java class文件必須有main()方法

B. J2SDK就是Java API

C. 可利用jar選項運行文件

D. 能被Appletviewer成功運行的java class文件必須有main()方法

8、下列正確的有( )

A. call by value不會改變實際參數的數值

B. call by reference能改變實際參數的參考地址

C. call by reference不能改變實際參數的參考地址

D. call by reference能改變實際參數的內容

9、下列說法錯誤的.有( )

A. 數組是一種對象

B. 數組屬於一種原生類

C. int number=[]={31,23,33,43,35,63}

D. 數組的大小可以任意改變

1、不能用來修飾interface的有( )

ate ic ected ic

二,問答題

● 如何控制某個方法允許併發訪問線程的個數;

● 動態代理的區別,什麼場景使用;

數據結構與算法

● 堆和棧在內存中的區別是什麼(數據結構方面以及實際實現方面);

● 最快的排序算法是哪個?給阿里2萬多名員工按年齡排序應該選擇哪個算法?堆和樹的區別;寫出快排代碼;鏈表逆序代碼;

● 求1000以內的水仙花數以及40億以內的水仙花數;

● 子串包含問題(KMP 算法)寫代碼實現;

● 萬億級別的兩個URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分組->多文件讀寫效率->磁盤尋址以及應用層面對尋址的優化)