『壹』 想面試java開發崗位,請問過來人要准備的專業面試題都有哪些
首先確認,你是java行業的新手。
面試題。
java基礎部分(常見的):
1、java有幾種基本數據類型。
2、冒泡排序,(筆試常出現)
3、解釋什麼是類的成員變數,局部變數,實例成員變數,類成員變數?
4、最狠得就是——什麼是面向對象,這個只能自己組織語言,按自己的理解來回答,根本找不到具體答案。
5、抽象類與介面的區別。
6、線程有幾種實現方式,分別是什麼?
7、如何使線程同步?
8、什麼是GC?
9、構造方法是否能被重寫?為什麼?
10、java關鍵字是否區分大小寫?
11、for循環里的三個表達式的執行順序是什麼?
12、簡述什麼是關系型資料庫?
13、arrayList與linkedList的區別?
14、String與StringBuffer的區別?
資料庫部分(常見):
1、組函數,
2、having和where的區別,
3、偽列,
4、怎麼實現數據分頁?
5、表鏈接
6、事務(ACID)
7、數據安全
8、序列
9、索引
10、你所參與過的項目用了幾個表?
JDBC部分(常見):
1、JDBC的六個步驟。
2、JDBC分頁。
Servlet(常見):
1、客戶端發送請求的幾種方式。
2、servlet的生命周期的幾個階段。
3、forward跳轉與redirect跳轉的區別。
4、cookie與session的區別。
5、三大作用域。
6、連接池。
jsP(常見):
1、jsp的九大內置對象。
2、EL表達式。
3、JSTL標簽庫。
javaScript(很少會問,了解即可):
1、DOM:對象,文檔,模型
2、滑鼠點擊事件:
AJAX(了解):
1、ajax請求與傳統請求的區別。
框架相關:
1、Struts2數據處理機制。
2、OGNL表達式。
3、了解下值棧。
4、MVC開發模式的好處。
5、Hibernate與MyBatis的區別。
6、連接池
7、struts2與SpringMVC的區別。
8、IOC,DI。
9、AOP。
10、運用框架的好處。
11、用到過的開發模式有哪些?
註:以上內容只要會一大部分,面試基本都會通過,如果全部會的話,就可以挑offer了,會一半就有很大的可能了(手都敲麻了.。。。)。
『貳』 JAVA面試題:3道問答題!
1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於數據結構中的棧。
2、堆區(heap) — 一般由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收 。注意它與數據結構中的堆是兩回事,分配方式倒是類似於鏈表。
在C++中,一個類被允許繼承多個類。但是在Java以後的語言不被允許。
這樣,如果想繼承多個類時便非常困難。所以開發方想出了新辦法:介面。
一個介面內,允許包含變數、常量等一個類所包含的基本內容。但是,介面中的函數不允許設定代碼,也就意味著不能把程序入口放到介面里。由上可以理解到,介面是專門被繼承的。介面存在的意義也是被繼承。和C++里的抽象類里的純虛函數是相同的。不能被實例化。
3.import java.util.*;
public class Test{
public static void main(String[] args){
int[] list=new int[1000000];
int i =0;
for (; i <1000000; i++) {
list[i]=i;
}
list[600000]=90000;
Set set=new HashSet();
for(i=0;i<list.length;i++)
{
if(!set.add(list[i]))
break;}
System.out.println(i);
System.out.println("the same number is "+list[i]);
}
}
『叄』 java基礎面試題有哪些
下面是10道java基礎面試題,後附答案
1.什麼是 Java 虛擬機?為什麼 Java 被稱作是「平台無關的編程語言」?
Java 虛擬機是一個可以執行 Java 位元組碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執行的位元組碼文件。
Java 被設計成允許應用程序可以運行在任意的平台,而不需要程序員為每一個平台單獨重寫或者是重新編譯。Java 虛擬機讓這個變為可能,因為它知道底層硬體平台的指令長度和其他特性。
2.「static」關鍵字是什麼意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?
「static」關鍵字表明一個成員變數或者是成員方法可以在沒有所屬的類的實例變數的情況下被訪問。
Java 中 static 方法不能被覆蓋,因為方法覆蓋是基於運行時動態綁定的,而 static 方法是編譯時靜態綁定的。static 方法跟類的任何實例都不相關,所以概念上不適用。
3.JDK 和 JRE 的區別是什麼?
Java 運行時環境(JRE)是將要執行 Java 程序的 Java 虛擬機。它同時也包含了執行 applet 需要的瀏覽器插件。Java 開發工具包 (JDK)是完整的 Java 軟體開發包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調試器),可以讓開發者開發、編譯、執行 Java 應用程序。
4.是否可以在 static 環境中訪問非 static 變數?
static 變數在 Java 中是屬於類的,它在所有的實例中的值是一樣的。當類被 Java 虛擬機載入的時候,會對 static 變數進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變數,編譯器會報錯,因為這些變數還沒有被創建出來,還沒有跟任何實例關聯上。
5.Java 支持的數據類型有哪些?什麼是自動拆裝箱?
Java 語言支持的 8 中基本數據類型是:
byte
short
int
long
float
double
boolean
char
自動裝箱是 Java 編譯器在基本數據類型和對應的對象包裝類型之間做的一個轉化。比如:把 int 轉化成 Integer,double 轉化成 double,等等。反之就是自動拆箱。
6.Java 支持多繼承么?
不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現多個介面。
7.Java 中,什麼是構造函數?什麼是構造函數重載?什麼是復制構造函數?
當新對象被創建的時候,構造函數會被調用。每一個類都有構造函數。在程序員沒有給類提供構造函數的情況下,Java 編譯器會為這個類創建一個默認的構造函數。
Java 中構造函數重載和方法重載很相似。可以為一個類創建多個構造函數。每一個構造函數必須有它自己唯一的參數列表。
Java 不支持像 C++中那樣的復制構造函數,這個不同點是因為如果你不自己寫構造函數的情況下,Java 不會創建默認的復制構造函數。
8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什麼意思?
Java 中的方法重載發生在同一個類裡面兩個或者是多個方法的方法名相同但是參數不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。
9.介面和抽象類的區別是什麼?
Java 提供和支持創建抽象類和介面。它們的實現有共同點,不同點在於:
介面中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。
類可以實現很多個介面,但是只能繼承一個抽象類
類如果要實現一個介面,它必須要實現介面聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。
抽象類可以在不提供介面方法實現的情況下實現介面。
Java 介面中聲明的變數默認都是 final 的。抽象類可以包含非 final 的變數。
Java 介面中的成員函數默認是 public 的。抽象類的成員函數可以是 private, protected 或者是 public。
介面是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。
10.什麼是值傳遞和引用傳遞?
對象被值傳遞,意味著傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。
對象被引用傳遞,意味著傳遞的並不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。
最後祝你面試順利!
『肆』 三年Java都是面試些什麼問題,求分享
其實,不管是什麼樣的面試形,問的問題都差不多,萬變不離其宗,都有規律可內尋。其實對容所有的面試官而言,只有一個目的:在最短的時間里了解到你最多的信息。想高效率的准備面試,先從這七個大方面著手吧!
一、基本情況
1、請用最簡潔的語言描述您從前的工作經歷和工作成果。
二、專業背景
您認為此工作崗位應當具備哪些素質?
三、工作模式
您平時習慣於單獨工作還是團隊工作?
四、價值取向
您對原來的單位和上司的看法如何?
五、資質特性
您如何描述自己的個性?
六、薪資待遇
是否方便告訴我您目前的待遇是多少?
七、背景調查
您是否介意我們通過您原來的單位迚行一些調查?
95%的面試基本上都離不開這些問題,當然還有可能問一些專業問題,我想如果你做過的話應該都不是什麼難事,一般面試官都不會過多的問專業方面的問題的。