當前位置:才華齋>IT認證>JAVA認證>

2017年Java工程師面試題

JAVA認證 閱讀(7.67K)

Java是一種可以撰寫跨平臺應用軟體的面向物件的程式設計語言。下面yjbys小編為大家準備了關於Java工程師面試的題目,歡迎閱讀。

2017年Java工程師面試題

  一、問答題(共兩題每題5分)

1、在軟體開發的形式中,有單獨開發和團隊開發,請您分析兩種開發形式的利弊?

2、除了工資還有什麼福利對你具有吸引力?

  二、案例分析(共四題每題5分)

1、案例一:專案經理陳經理所在的專案組接到總監分配的一項緊急任務,要求在2天內完成A專案,陳經理馬上召集其下屬工程師小張和小黃進行工作分配並分析專案要點和各個要點的主要做法。時間已經過去了1天半,工程師小張發現,根據陳經理對專案要點的主要做法行不通,但時間已經所剩不多了。

問題一:如果你是小張,你會怎麼做?為什麼?

問題二:由於專案做法的問題導致專案的進度無法按總監的要求在2天內完成,總監怪罪下來,你認為這是誰的責任,為什麼?

2、案例二:工程師小李和工程師小陳分別在同一個專案組負責軟體開發工作,他倆是同時進入公司的,而且被分配在鄰座,因此關係非常好。工程師小李最近發現小陳經常在上班時間做一些與本公司業務無關的工作,並且在一次偶然的機會讓小李發現,小陳的薪資比自己的薪資要高一倍多。

問題一:如果你是小李,你會怎麼做,為什麼?

問題二:如果你是小陳,你發現做的事情被小李發現了,你會怎麼做,為什麼?

技術題

  一、基礎題,共十題每題2分

1、GC是什麼?為什麼要有GC?

2、short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?Byte a=1,b=1,bye c=a+b有什麼錯?Short a=1,b=1,Short c=a+b有什麼錯(答對一個給0.5分)

3、Java有沒有goto?

4、陣列有沒有length()這個方法? String有沒有length()這個方法?

5、Overload和Override的區別。Overloaded的方法是否可以改變返回值的型別?(答對第一句話即可得滿分,或者意思差不多的即可)

6、List, Set, Map是否繼承自Collection介面?

7、構造器Constructor是否可被override?

8、當一個執行緒進入一個物件的一個synchronized方法後,其它執行緒是否可進入此物件的其它方法?

9、當一個物件被當作引數傳遞到一個方法後,此方法可改變這個物件的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是引用傳遞?(答對第一句即可得滿分)

10、EJB中LocalHome的作用是什麼?

  二、程式試題(共四小題每題5分)

1、談談你對以下程式的看法。

class MyString extends String{

public static int i = 0;

private char[] chars = {‘a’,’b’,’c’};

public MyString(){}

static{

tln( “i = ” + ( i++ ) );

}

public String getString(){

String s = “”;

for( char c : chars ){

s += c;

}

Return s;

}

}

2、請寫出以下程式的輸出。

class B {

private int radius = 10;

public void draw() {

tln(“(), radius = ” + radius);

}

public B() {

tln(“B constructor”);

draw();

}

}

public class A extends B {

private int radius = 1;

public void draw() {

tln(“(), radius = ” + radius);

}

public A(int radius) {

us = radius;

tln(“A constructor”);

}

public static void main(String[] args) {

A a = new A(5);

}

}

3、寫出下列程式執行結果。

public class Test {

static Test st=new Test();

static int x ;

static int y=0 ;

public Test(){

x++;

y++;

}

public Test(int x,int y){

this.x=x;

this.y=y;

}

public static Test getInstance(){ return st ;}

static{

int i=0;

tln(“i=”+i);

}

void test() {

Inner inner2 = new Inner2();

lay();

}

public static void main(String[] args) {

Test test1=nstance();

();

tln(“test1:x=” + test1.x+”;y=”+test1.y);

Test test2=new Test();

();

tln(“test2:x=” + test2.x+”;y=”+test2.y);

Test test3=new Test(0,0);

();

tln(“test3:x=” + test3.x+”;y=”+test3.y);

}

public class Inner {

int a= 1;

void display() { tln(“display: a = ” + a); }

}

public class Inner2 extends Inner {

int a=2;

void display() {tln(“display: a= ” +a); }

}

}

4、談談你對以下JavaScript函式的看法,能否提高效率?如果能請給出需要修改的地方,並講出原因。

function getFormAsString( formName ){

returnString = “”;

formElements = s[formName]ents;

for ( var i = th-1 ; i >= 0; –i ){

returnString = returnString + “&” + escape( formElements[i] ) + “=” + escape( formElements[i]e) ;

}

return returnString;

}

  三、程式設計題(共三題,每題10分)

1、寫一個Singleton的類出來。

2、給你一組字串如:iu7i8hy4jnb2,讓你程式設計輸出裡面的.數字:7842

3、給你一組字元如{1,3,4,7,2,1,1,5,2},讓你輸出裡面出現次數最多且數值最大的一個,出現幾次

4、編成獲取伺服器本地ip地址

  四、綜合附加題(共5每題10分)

1、用Ajax寫出客戶端與伺服器的簡單非同步呼叫(假設xmlHttp已被建立可以直接呼叫)

2、在Oracle資料庫中有一表Table1,表中有一欄位a,如何刪除表中a欄位的重複資料,請使用游標與分組的辦法?

3、現在Oracle 10g中有一表

FLWINR

TCHNUM

TCHINR

TCHNAM

CALMOD

SUBFLWINR

NXTTCHNUM

760

1

C02

分配專業室

Flw1

2

(表名為Table1,其中關鍵字為FLWINR+TCHNUM+NXTTCHNUM)第一行是表的所有屬性,第二行是其中的一條記錄,當然假設該表有很多資料。要求把條件”FLWINR=’760′”的查詢結果複製到新表中,該新表結構同Table1,命名為Table1_COPY。請用一句sql語句寫出來。

4、假設web伺服器是Weblogic有以下的ejb程式碼及配置檔案:

package ;

import teException;

import te;

import .*;

public interface Hello extends EJBObject, Remote {

//this method just get “Hello EJB” from HelloEJB.

public String getHello() throws RemoteException;

}

package ;

import .*;

import te;

import teException;

import .*;

/**

* This interface is extremely simple it declares only

* one create method.

*/

public interface HelloHome extends EJBHome {

public Hello create() throws CreateException, RemoteException;

}

package ;

import .*;

public class HelloEJB implements SessionBean{

public void ejbCreate(){}

public void ejbRemove(){}

public void ejbActivate(){}

public void ejbPassivate(){}

public void setSessionContext(SessionContext ctx){}

public String getHello() {

return new String(“Hello,EJB”);

}

}

Hello

oHome

o

oEJB

Stateless

Container

Hello

Hello

HelloLocal

要求寫一個Java Client中呼叫HelloBean的類。